Onboard SATA, Promise SATA and IDE combo
I'm having trouble booting from my normal SATA harddisk when there are harddisks attached to a promise SATA controller.
Here's how the disks are connected;
Onboard VIA chipset SATA
SATA1 = Linux boot partition
SATA2 = nc
SATA3 = data
SATA4 = nc
Promise SATAII150 TX4
channel 1 = data
channel 2 = data
channel 3 = data
channel 4 = data
Standard IDE ports
IDE1 primary = WinXP
IDE1 slave = nc
IDE2 primary = DVD drive
IDE2 slave = nc
And these are the different situations;
Linux with Promise harddisk(s) turned off:
Press F8 during BIOS boot, get a BIOS bootmenu and select the Linux boot drive. All boots fine.
Linux with Promise harddisk(s) turned on:
Press F8 during BIOS boot, get a BIOS bootmenu and select the Linux boot drive. Kernel extracts and loads, but ends up with a sandbox becuase there is no valid boot device.
Even though I select the SATA drive in the BIOS bootmenu I think the kernel still assumes IDE1 primary to be the ide0 device.
Boot output shows that the Promise card's channels are found as SCSI0 to SCSI3, while the onboard channels are SCSI4 to SCSI7. This is where I think the problem lies. They must be switched.
When a harddisk connected to the Promise card is turned on, the kernel thinks it whould boot from that disk and never reaches the real bootdisk which is detected at SCSI4.
So how can I 'fix' this? Tried playing around with a couple of boot parameters - ide0=0x170 and ide=reverse. I'm guessing the lasts one switches IDE and SATA instead of onboard and promise SATA. In any case I'm running out of ideas, so any help would be appreciated. I'm guessing switching SCSI0 to SCSI3 with SCSI4 to SCSI7 should do the trick, but how (and without the IDE disk messing it up)?
Last edited by Zotty; 11-19-2006 at 11:20 AM.