grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [patch] incorrect root device while /dev/ on tmpfs


From: Colin Watson
Subject: Re: [patch] incorrect root device while /dev/ on tmpfs
Date: Sat, 17 Oct 2009 13:55:07 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

On Sat, Oct 17, 2009 at 04:24:53PM +0400, Vasily Averin wrote:
> 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

> 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}

It seems to me that this eliminates the safety check to ensure that
Linux actually recognises this UUID. If for some reason GRUB and Linux
are out of sync in how they calculate UUIDs, this will probably result
in an unbootable system.

Would it help to double-check with blkid in this case, or something like
that?

-- 
Colin Watson                                       address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]