home: hub: mkinitfs

Download patch

ref: 61bb69ba80ed8d46429b717ff4e40f5e78f434a0
parent: 76530be3c34db2e4fdbe9eefd86384ad5f2f38e2
author: Natanael Copa <ncopa@alpinelinux.org>
date: Fri Jan 25 12:32:20 CST 2019

init: fix root=ZFS... from grub

grub will set root=ZFS=... when root is zfs but will not add rootfstype,
so make a special case for zfs

--- a/initramfs-init.in
+++ b/initramfs-init.in
@@ -401,10 +401,18 @@
 	echo 1 > /sys/bus/ccwgroup/drivers/qeth/"${_channel%%,*}"/online
 fi
 
+# make sure we load zfs module if root=ZFS=...
+rootfstype=${KOPT_rootfstype}
+if [ -z "$rootfstype" ]; then
+	case "$KOPT_root" in
+	ZFS=*) rootfstype=zfs ;;
+	esac
+fi
+
 # load available drivers to get access to modloop media
 ebegin "Loading boot drivers"
 
-modprobe -a $(echo "$KOPT_modules $KOPT_rootfstype" | tr ',' ' ' ) loop squashfs 2> /dev/null
+modprobe -a $(echo "$KOPT_modules $rootfstype" | tr ',' ' ' ) loop squashfs 2> /dev/null
 if [ -f /etc/modules ] ; then
 	sed 's/\#.*//g' < /etc/modules |
 	while read module args; do
@@ -454,7 +462,7 @@
 	nlplug-findfs $cryptopts -p /sbin/mdev ${KOPT_debug_init:+-d} \
 		$KOPT_root
 
-	if echo "$KOPT_modules $KOPT_rootfstype" | grep -qw btrfs; then
+	if echo "$KOPT_modules $rootfstype" | grep -qw btrfs; then
 		/sbin/btrfs device scan >/dev/null || \
 			echo "Failed to scan devices for btrfs filesystem."
 	fi
@@ -476,9 +484,9 @@
 		mkdir -p /media/root-rw/work /media/root-rw/root
 		mount -t overlay -o lowerdir=/media/root-ro,upperdir=/media/root-rw/root,workdir=/media/root-rw/work overlayfs $sysroot
 	else
-		mount ${KOPT_rootfstype:+-t} ${KOPT_rootfstype} \
+		mount ${rootfstype:+-t} ${rootfstype} \
 			-o ${KOPT_rootflags:-ro} \
-			$KOPT_root $sysroot
+			${KOPT_root#ZFS=} $sysroot
 	fi
 
 	eend $?