diff --git a/ChangeLog b/ChangeLog index 2f2f7a38b..954d85fe8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-04-05 Fedora Ninjas + + * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions. + 2013-04-05 Vladimir Serbinenko Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and diff --git a/util/grub.d/30_os-prober.in b/util/grub.d/30_os-prober.in index bf47dc3b6..e20d8b3d4 100644 --- a/util/grub.d/30_os-prober.in +++ b/util/grub.d/30_os-prober.in @@ -112,6 +112,11 @@ for OS in ${OSPROBED} ; do LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`" LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`" BOOT="`echo ${OS} | cut -d ':' -f 4`" + BTRFS="`echo ${OS} | cut -d ':' -f 5`" + if [ "x$BTRFS" = "xbtrfs" ]; then + BTRFSuuid="`echo ${OS} | cut -d ':' -f 6`" + BTRFSsubvol="`echo ${OS} | cut -d ':' -f 7`" + fi if [ -z "${LONGNAME}" ] ; then LONGNAME="${LABEL}" @@ -145,7 +150,11 @@ EOF EOF ;; linux) - LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`" + if [ "x$BTRFS" = "xbtrfs" ]; then + LINUXPROBED="`linux-boot-prober btrfs ${BTRFSuuid} ${BTRFSsubvol} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`" + else + LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`" + fi prepare_boot_cache= boot_device_id= is_first_entry=true