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 <cjwat...@ubuntu.com> > 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 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel