On 2014-04-02 21:37, Olaf Hering wrote:
#3 is passing a cmdline to the OS. And I think thats Sashas point. If fstab contains LABE=X for /, then the bootloader has to follow. Or it should not pass anything at all, leaving everything to the code which actually mounts /, which is the initrd.
Grub 1 is capable of booting using labels - this is what I have: kernel /vmlinuz-3.11.10-7-desktop root=/dev/disk/by-label/a_main resume=/dev/disk/by-label/b_swap showopts ... because it is the kernel in fact which needs and reads the parameters that grub gives to the OS. Of course, the syntax is too long, but... grub2 is also also capable, and the syntax is more powerful: linux /vmlinuz-3.11.10-7-desktop root=UUID=00eb9a40-d067-459e-a22f-1d3b667dddbb resume=/dev/disk/by-label/b_swap ... So, IMHO, what grub has in that line is the problem of whatever configures grub, not grub itself. (I suspect that both "UUID=..." and "LABEL=..." would work in both grub versions). The problem with booting is not the parameters given to the kernel, it is how grub knows where to locate the kernel. grub 1 used the syntax: root (hd0,1) which is a syntax related to how the BIOS sees the disks. Grub2 can do more (it is another partition): set root='hd0,msdos9' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9 --hint='hd0,msdos9' 00eb9a40-d067-459e-a22f-1d3b667dddbb else search --no-floppy --fs-uuid --set=root 00eb9a40-d067-459e-a22f-1d3b667dddbb fi I don't understand it all, but it seems as if it is using both bios names and UUIDs. -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar)