Hello,
I have an Athlon64 Etch box running a backported 2.6.20 kernel. 2.6.20 is necessary to
fix a broken LAN driver in 2.6.18.
The root file system is on partition 3 of the only present SATA drive, sda.
When I connect an LTO Tape drive to the PCI SCSI controller this tape drive at next boot
becomes sda and the SATA disk becomes sde. This breaks the boot sequence, which tries to
load the root fs from /dev/sda3, which is now a non-existent partition on the tape drive.
The kernel loads, but before it can load INIT, it comes up with the message"Begin:
Waiting for root file system ..." and stalls.
Now if I change the GRUB boot line from root=/dev/sda3 to root=/dev/sde3, the kernel
helpfully renumerates the devices again so the tape drive is sde and the hard drive is
back to sda, so again no boot. At first I thought I was encountering a random naming
collision as mentioned by George Michalopoulos on this list. However this problem appears
100% consistent across multiple reboots.
There are two kludgy workarounds we've found so far: one is using BSD disklabels to boot
with root=LABEL=/SATAROOT. The other involves using UDEV to create named symlinks based
on the disk model ID. Both are rather inflexible and sub-optimal for a server, where sda
should always be the first (non-raid, non-pata) hard disk.
Is there a way to rebuild the initrd to tell it to load sata drivers first, or some flag
to pass to the kernel to force the first hard disk to sda?
thanks,
Greg
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]