Problem: SATA boot drive & RAID card -- Booting irregularity / clashing
I've just installed Slackware 12, compiled my new kernel and got it all going. I've compiled in support for my CPU, # of CPU's, RAID card, NIC, etc., and I'm running into an odd problem booting the kernel when the RAID card has the HDD's plugged in and the arrays present.
The boot drive is a 160GB Seagate SATA2 drive as /dev/sda
The RAID card is a Promise SuperTrak EX16350 PCI-e 16x 16port Card, with 2X2TB RAID 5 arrays defined.
The kernel, as I said before, has been compiled with this card present and it's detected fine. What happens is when I do NOT have any drives present on the card (the molex cables are disconnected from the card), the kernel boots properly. With the molex cables on and all drives present, the RAID card seems to 'push' the main boot drive (/dev/sda) down to /dev/sdc, and the defined arrays become /dev/sda and /dev/sdb respectively.
I wind up getting a kernel panic, obviously. I've been able to work-around this by modifying LILO from /dev/sda1 to /dev/sdc1, and altering /etc/fstab to reflect the similar values. It works OK this way, but obviously compiling a future new kernel is not going to work; and the crap I'd need to do to get everything all to work is tremendous.
Is there a way to change the expected /dev/sda of my primary boot drive permanently to /dev/sdc so that no matter what, at each boot, it's "expected" to be there? Or a way to tell Linux during boot that these arrays are elsewhere? Help!
GIGA-BYTE GA-MA790FX-DS5 MAINBOARD
AMD QUADCORE PHENOM 9750
8GB CORSAIR DOMINATOR RAM
PROMISE SUPERTRAK EX16350 PCI-E SATA2 RAID