I'm having trouble getting a Centos installation to boot on a system with hdd's hanging off an AHCI hba.
Long ago, I posted about only seeing four of the six sata ports on my asus server board. According to research I've done since then (I now need the ports!), the solution is to enable the AHCI bios, which turns on NCQ and the last two ports.
The already installed system does not like the fact I've changed to ahci and does not load the ahci module, eventually failing to boot complaining it cannot mount the root fs, killing init, etc.
If I boot off the 5.2 installation dvd or a fedora 9 dvd, the kernel boots just fine, loads up the ahci module and sees the drives no problem.
So I'm wondering what config files I need to tweak, to help the already installed system use the "new" ahci controller? Previously, it appears to have been using the piix module to access the drive with the root fs on it.
I'm using the 64-bit 2.6.18-92.1.18 centosplus kernel (for XFS support).
The box is running an asus dsbf-de board, with 2x e5405 cpus and 16g of ram. There are six drives on the ahci, one 80g "system" drive (the boot drive), and five 750g storage drives. There is also a supermicro 8 port sata hba in the system, with five 250g drives on it. The supermicro uses the sata_mv module and is detected just fine.
Thanks for any suggestions!
Gordon
So I'm wondering what config files I need to tweak, to help the already installed system use the "new" ahci controller? Previously, it appears to have been using the piix module to access the drive with the root fs on it.
So, you need modprobe.conf to reflect this as well as a new initrd. On a similar system I have from Asus my modprobe.conf looks like this:
alias scsi_hostadapter ata_piix alias scsi_hostadapter1 ahci
I assume the ata_piix is still required for the jmicron ide controller. After editing this, run mkinitrd which will look there and then load the required modules.
HTH, jlc
Thank you Joseph, that did the trick! After studying the man page for mkinitrd, I also used --preload ahci to make sure the ahci driver was the first one to look for drives.
My steps (for future reference):
1) Switch bios back to "legacy" sata mode 2) update modprobe.conf adding a scsi line for the ahci module 3) mkinitrd --preload ahci etc etc.. 4) reboot, switch bios to ahci mode 5) system booted just fine!
-Gordon
On Sat, Dec 20, 2008 at 11:35 AM, Joseph L. Casale JCasale@activenetwerx.com wrote:
So I'm wondering what config files I need to tweak, to help the already installed system use the "new" ahci controller? Previously, it appears to have been using the piix module to access the drive with the root fs on it.
So, you need modprobe.conf to reflect this as well as a new initrd. On a similar system I have from Asus my modprobe.conf looks like this:
alias scsi_hostadapter ata_piix alias scsi_hostadapter1 ahci
I assume the ata_piix is still required for the jmicron ide controller. After editing this, run mkinitrd which will look there and then load the required modules.
HTH, jlc _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Thank you Joseph, that did the trick! After studying the man page for mkinitrd, I also used --preload ahci to make sure the ahci driver was the first one to look for drives.
Good to know, I think if you had the modprobe edited via a rescue disc and you chrooted in to the dead system the mkinitrd would not need any commands except an explicit declaration of the running kernel. That of course is just a WASG:)
jlc