While /dev mounted as tmpfs it does not contain /dev/disk/by-uuid directory,
10_linux script did not check it properly and do not set root device via UUID.
Therefore following kernel boot can fail (incorrect root device) if device names
was changed.

Attached path fixes this issue. Please review and commit it

thank you,
        Vasily Averin

diff -up ./util/grub.d/10_linux.in.tmpdevuuid ./util/grub.d/10_linux.in
--- ./util/grub.d/10_linux.in.tmpdevuuid        2009-08-29 20:05:06.000000000 
+0400
+++ ./util/grub.d/10_linux.in   2009-09-03 11:07:34.000000000 +0400
@@ -36,7 +36,7 @@ case ${GRUB_DEVICE} in
 esac
 
 if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = 
"xtrue" ] \
-    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ; then
+    || ( test -d /dev/disk/by-uuid  && ! test -e 
"/dev/disk/by-uuid/${GRUB_DEVICE_UUID}") ; then
   LINUX_ROOT_DEVICE=${GRUB_DEVICE}
 else
   LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
_______________________________________________
Grub-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to