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.



Reply via email to