diff --git a/debian/tree/zfs-initramfs/usr/share/initramfs-tools/conf.d/zfs b/debian/tree/zfs-initramfs/usr/share/initramfs-tools/conf.d/zfs new file mode 100755 index 000000000..5103cc450 --- /dev/null +++ b/debian/tree/zfs-initramfs/usr/share/initramfs-tools/conf.d/zfs @@ -0,0 +1,8 @@ +for x in $(cat /proc/cmdline) +do + case $x in + root=ZFS=*) + BOOT=zfs + ;; + esac +done diff --git a/debian/tree/zfs-initramfs/usr/share/initramfs-tools/scripts/zfs b/debian/tree/zfs-initramfs/usr/share/initramfs-tools/scripts/zfs index 2ff7a553a..d94ad38b6 100644 --- a/debian/tree/zfs-initramfs/usr/share/initramfs-tools/scripts/zfs +++ b/debian/tree/zfs-initramfs/usr/share/initramfs-tools/scripts/zfs @@ -75,6 +75,12 @@ mountroot() ZFS_RPOOL=$(echo "$ZFS_RPOOL" | sed -e 's,/.*,,') fi + if [ -z "$ZFS_RPOOL" ] + then + ZFS_BOOTFS=${ROOT#ZFS=} + ZFS_RPOOL=$(echo "$ZFS_BOOTFS" | sed -e 's,/.*,,') + fi + # Use "rpool" as the default, like on most Solaris systems. [ -z "$ZFS_RPOOL" ] && ZFS_RPOOL='rpool'