grub-devel
[Top][All Lists]
Advanced

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

Why ignore UUID when linux root device is an LV?


From: Sree Harsha Totakura
Subject: Why ignore UUID when linux root device is an LV?
Date: Fri, 02 May 2014 14:54:13 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.4.0

Hi,

I would like to know why UUID is not used for root device in Linux
kernel's `root=' parameter when the root device uses LVM.

The following is a snippet from util/10_linux.in:
> if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = 
> "xtrue" ] \
>     || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
>     || uses_abstraction "${GRUB_DEVICE}" lvm; then
>   LINUX_ROOT_DEVICE=${GRUB_DEVICE}
> else
>   LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
> fi

I have a setup where my root device resides on an LV which is created
from an LUKS encrypted partition.  The kernel's initramfs takes care of
opening the encrypted partition and exposing the logical volumes.  So, I
believe the condition `uses_abstraction "${GRUB_DEVICE}" lvm' is not
required; or am I missing anything?

>From the commit log:
> commit 507736c87c49712ac618169d17a659bd6c25eecc
> Author: Colin Watson <address@hidden>
> Date:   Fri Jul 2 12:32:05 2010 +0100
> 
>     * util/grub-mkconfig_lib.in (uses_abstraction): New function.
>     * util/grub.d/10_linux.in: Use it to check for LVM, so that
>     LVM-on-RAID is handled correctly.

I see that this condition is added to address LVM/RAID configurations.
But, I guess it is similar to LVM/LUKS; is it not?

I tried booting my setup with root devices addressed by UUID and it
works.  In fact, some initramfs errors about not being to able to find
volume group are no longer present.  I guess these errors were apparent
when `root=/dev/mapper/vg0-root' parameter is used as the volume group
`vg0' is only visible after decrypting the LUKS partition.  When the
root device is addressed by UUID, the initramfs does not lookout for
`vg0' before opening LUKS partition.

Regards,
Sree



reply via email to

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