Package: os-prober Version: 1.57 Tags: patch
linux-boot-prober resolves symbolic links for partition names in /etc/fstab, and returns that as the partition name. But it is usually desirable to return the original name in fstab. Additionally, this seems to be problematic for LVM volumes, since in my system, grub-probe doesn't recognize /dev/dm-X names and so the generated grub.cfg doesn't include directives for setting root device.
The attached patch fixes the problem.
diff -up os-prober-1.57/common.sh.bootpartnamefix os-prober-1.57/common.sh --- os-prober-1.57/common.sh.bootpartnamefix 2013-02-03 23:56:39.585511891 +0330 +++ os-prober-1.57/common.sh 2013-02-05 19:42:14.652151904 +0330 @@ -246,7 +246,7 @@ linux_mount_boot () { if [ "$bindfrom" != "$tmpmnt/boot" ]; then if mount --bind "$bindfrom" "$tmpmnt/boot"; then mounted=1 - bootpart="$1" + bootpart="$tmppart" else debug "failed to bind-mount $bindfrom onto $tmpmnt/boot" fi @@ -254,6 +254,15 @@ linux_mount_boot () { fi if [ "$mounted" ]; then : + elif [ -e "$tmppart" ]; then + bootpart="$tmppart" + boottomnt="$tmppart" + elif [ -e "$tmpmnt/$tmppart" ]; then + bootpart="$tmppart" + boottomnt="$tmpmnt/$tmppart" + elif [ -e "/target/$tmppart" ]; then + bootpart="$tmppart" + boottomnt="/target/$tmppart" elif [ -e "$1" ]; then bootpart="$1" boottomnt="$1"