mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 03:09:34 +03:00
Adding grub2 mkconfig support patch
Added simply for convenience until this, or an equivilant, change is merged in the upstream grub2 source. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Issue #847
This commit is contained in:
parent
c171ea71bb
commit
7eebaff409
31
patches/grub-mkconfig-zfs-support.diff
Normal file
31
patches/grub-mkconfig-zfs-support.diff
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
diff -up ./util/grub-mkconfig.in.original ./util/grub-mkconfig.in
|
||||||
|
--- ./util/grub-mkconfig.in.original 2012-03-27 13:03:49.475388000 -0700
|
||||||
|
+++ ./util/grub-mkconfig.in 2012-03-27 13:06:38.948080000 -0700
|
||||||
|
@@ -140,9 +140,24 @@ if test -e ${GRUB_PREFIX}/device.map ; t
|
||||||
|
${grub_mkdevicemap}
|
||||||
|
fi
|
||||||
|
|
||||||
|
-# Device containing our userland. Typically used for root= parameter.
|
||||||
|
-GRUB_DEVICE="`${grub_probe} --target=device /`"
|
||||||
|
-GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
|
||||||
|
+# Attempt to detect if the root file system is in ZFS first
|
||||||
|
+unset GRUB_DEVICE
|
||||||
|
+unset GRUB_DEVICE_BOOT
|
||||||
|
+getzfsgrubdevice() {
|
||||||
|
+ mount | while read dev dummy mntpnt dummy2 fstype rest ; do
|
||||||
|
+ if [ -n "$GRUB_DEVICE" ] ; then break ; fi
|
||||||
|
+ if [ "$fstype" != "zfs" ] ; then continue ; fi
|
||||||
|
+ if [ "$mntpnt" != "/" ] ; then continue ; fi
|
||||||
|
+ GRUB_DEVICE=`fstab-decode echo "$dev"`
|
||||||
|
+ GRUB_DEVICE="ZFS=$GRUB_DEVICE" ; echo "$GRUB_DEVICE" ; break
|
||||||
|
+ done
|
||||||
|
+}
|
||||||
|
+GRUB_DEVICE=`getzfsgrubdevice`
|
||||||
|
+if [ -z "$GRUB_DEVICE" ] ; then
|
||||||
|
+ # Device containing our userland. Typically used for root= parameter.
|
||||||
|
+ GRUB_DEVICE="`${grub_probe} --target=device /`"
|
||||||
|
+ GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
|
||||||
|
+fi
|
||||||
|
|
||||||
|
# Device containing our /boot partition. Usually the same as GRUB_DEVICE.
|
||||||
|
GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
|
Loading…
Reference in New Issue
Block a user