Newsgroups: gmane.linux.distributions.grml.user Date: Tue, 23 Jan 2007 16:02:59 -0700
> What is the best/approved udev rule for a usb hard drive to escape > random drive letter variations /dev/sd[a|b|c|d].
http://forums.devshed.com/linux-help-33/initrd-usb-boot-332584.html
Suggests partition labels over udev for USB boot.
Mark
http://forums.devshed.com/linux-help-33/initrd-usb-boot-332584.html
> I run linux off my 40Gb external usb hd. > > Usually this appears as /dev/sda, but that changes depending on what else is > plugged in. i.e. sometimes it might be sdb or sdc etc. > > Naturally it is important for linux to know where the / filesystem is so i > have two entries in grub -> one with root=/dev/sda1 and another with > root=/dev/sdb1. > > Also i have to change the entry for root in /etc/fstab
You can do this with a filesystem label. Make sure your initrd image contains the /sbin/findfs binary (and the shared libraries it needs), then you can set a label for the filesystem ("My-Linux-/" perhaps, and assuming you are using Ext2/Ext3):
# e2label /dev/sda1 My-Linux-/
Then, in the grub config you can use "root=LABEL=My-Linux-/" and have the initrd use findfs to automagically mount the proper root filesystem using this label (using pivot_root and LABEL=My-Linux-/ as the partition identifier and not /dev/sdsomething).
documented on: March 9th, 2006, codergeek42