On Donnerstag 11 Juni 2009, walt wrote: > Okay, my root partition is on /dev/sda (normally), which is a sata > drive connected to the onboard sata controller. > > The problem is that I also have a plug-in ESATA docking station, which > is not always powered on. When it *is* powered on, my kernel names the > disk /dev/sda, and that forces the root device to be named /dev/sdb > instead of sda. Crashing ensues during bootup. > > The machine's BIOS doesn't even recognize the ESATA controller, so > I can't fiddle with anything there. > > Anyone have any ideas how to get a kernel to mount the root partition > based on the pci slot number or something equivalent? > > I've tried using a disk label in fstab instead of a device name, but the > problem is that the kernel mounts the wrong partition before it has a > chance to read fstab. > > I've also tried using rdev to set the root device to the disk's major > and minor numbers but that fails because the kernel switches the minor > device numbers along with the device names. > > Any clues would be much appreciated.
afaik you can use labels in grub too.