FS#26078 - boot do not support naming root by partition label. Problem is in line 77 in init_functions

Attached to Project: Arch Linux
Opened by franco (sunset) - Tuesday, 20 September 2011, 11:07 GMT
Last edited by Dave Reisner (falconindy) - Saturday, 08 October 2011, 16:57 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Thomas Bächler (brain0)
Dave Reisner (falconindy)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
line 77 in init_functions in the root of ramfs doesn seem to work.
kernel options passed to GRUB root=LABEL=somelabel do not produce
the expected result. Boot goes on trying to mount device LABEL=somelabel.
On the other hand kernel option root=/dev/disk/by-label/somelabel works for me.
Furthermore blkid at line 78 returns the correct device
so the problem must be in the condition at line 77.
Please note that the installation script still put root=/dev... in GRUB
menu.lst file even if during installation disks by label naming was selected.
If one try to edit menu.lst still bumps into the bug in init_functions.
Probably once this bug is fixed one might want to modify the installation script to better support device naming by partition label.



Steps to reproduce:
This task depends upon

Closed by  Dave Reisner (falconindy)
Saturday, 08 October 2011, 16:57 GMT
Reason for closing:  No response
Additional comments about closing:  No evidence of a bug here, either.
Comment by Dan McGee (toofishes) - Tuesday, 20 September 2011, 21:21 GMT
I have no idea what you are trying to report here as broken. Kernel boot command line has never supported LABEL= syntax as far as I know, the only thing you ever need or want there is /dev/disk/by-label/ style references.
Comment by Thomas Bächler (brain0) - Tuesday, 20 September 2011, 21:48 GMT Comment by Thomas Bächler (brain0) - Tuesday, 20 September 2011, 21:56 GMT
Works for me, btw.
Comment by Dave Reisner (falconindy) - Tuesday, 20 September 2011, 22:44 GMT
Works for me. Sounds to me like you installed from and old core installer and tried to use the new syntax with the old mkinitcpio. Look at the init_functions file in the compressed image itself, not the init_functions file on disk.
Comment by franco (sunset) - Wednesday, 21 September 2011, 07:31 GMT
Hi, I have started this, thanks everybody for attention. I will try to describe the problem more in detail.
First a couple of lines on why am I doing this!
I put /boot and /swap on my HD and /root on esta disk connected to PCMCIA card. Adding pcmcia into
mkinitcpio configuration It works!! You can duplicate this installation across different computer and the system correctly boots on every computer, you can bring your system with you and use it wherever you want and very often the esata disk is twice faster than the internal disk. Great! Some problems and some enhancements still remains (now swap must go to the internal HDD one may want to put GRUB and /boot to a usb key and boot from that). On this path I bumped into the problem I described.
I installed Arch Linux downloading .iso on sunday. I asked the installer to name disks by label.
At the end of the installation I found out that in menu.lst disk are named in the root= kernel option by /dev/sdbx and this is a Big problem if you install on a removable device, so I edit menu.lst and tried root=LABEL=xx
and this do not work for me. Booting I found myself within the ramfs and there in init_functions there is the line 77 dealing with LABEL= so i thought that it was supported. It seems correct cant' understand why it do not woork.
Anyway one can use the /dev/disk/by-label/xx addressing ant this works fine.
Still remains the problem that the installation script do not put labels in menu.lst.
Hi everybody
Comment by Dave Reisner (falconindy) - Thursday, 06 October 2011, 00:53 GMT
I need more than anecdotal evidence to fix anything here. You've got 2 developers plus myself stating that identifying root by LABEL works fine, and this is the only such bug report to exist. If this is still reproducible, please look at the init_functions file _in_ the initramfs:

bsdtar xOf /boot/initramfs-linux.img init_functions | less

Additionally, what was the date of the media you installed from?

Loading...