On Wednesday, 3 November 2004 12.57, fraser_bailey@agilent.com wrote:
Hi
I'm trying to boot with a labelled root disk.
I specify root=LABEL=<label name> in my grub menu.lst file.
I have used e2label to put a label on the root filesystem.
Howver all I get is the message
Waiting for /dev/LABEL to appear...
Does this syntax work?
There seems to be a bug in mk_initrd. Try editing /sbin/mk_initrd, on line 1357 you find the following | case \$rootdev in | /dev/*) | ;; | [0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) | rootdev=0\$rootdev ;; | [0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) | ;; | *:*) | ;; | *) | rootdev=/dev/\$rootdev | ;; | esac Change that so it becomes | case \$rootdev in | /dev/*) | ;; | [0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) | rootdev=0\$rootdev ;; | [0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) | ;; | *:*) | ;; | LABEL=*) | ;; | *) | rootdev=/dev/\$rootdev | ;; | esac save, run mk_initrd and try to boot. Note, I'm not running ext2/3, and I believe those are the only ones supporting the LABELs (and I don't have any spare machines/disks right now), so I haven't tested this, but based on how the rest of the script looks, I'm pretty sure it will work. There is support in the script for the LABEL syntax, but the above case statement changes it to /dev/LABEL=. With the above change, it's preserved.