From d3cab97ca061fac828a59cf5c3dda42c570fb454 Mon Sep 17 00:00:00 2001 From: Richard Laager Date: Sun, 22 Feb 2015 03:55:13 -0600 Subject: [PATCH] zfs-initramfs: Support GRUB's native root=ZFS= Upstream GRUB sets root=ZFS=rpool/path/to/rootfs by default. By supporting that syntax (while retaining the existing support for backwards compatibility), we can work out-of-the-box. --- .../zfs-initramfs/usr/share/initramfs-tools/conf.d/zfs | 8 ++++++++ .../zfs-initramfs/usr/share/initramfs-tools/scripts/zfs | 6 ++++++ 2 files changed, 14 insertions(+) create mode 100755 debian/tree/zfs-initramfs/usr/share/initramfs-tools/conf.d/zfs 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'