I recently got a new motherboard and I'm having a heck of a time getting it to boot. I'm using Gentoo but I don't think my issue is gentoo-centric. I've got a post on the gentoo forums but it's been several days so I'm trying to cast a wider net at getting this issue resolved.
The motherboard uses the nvidia nforce 750a SLI chipset. I have 4 SATA hard drives, 1 SATA DVD drive and 2 IDE hard drives. Right now, the PATA controller is disabled in BIOS because I can't get the SATA to work and I'm trying to narrow it down. The drive mode in BIOS can be set to SATA, RAID or AHCI. For various reasons I won't explain, I require these to be set to RAID. I have 2 RAID arrays configured in the nvidia RAID manager, both 2-disk mirrors. Previously, on an nforce 500 SLI motherboard, I had Gentoo successfully running with no issues using dmraid and lvm with a initrd. With this new motherboard, I cannot get Gentoo to communicate with the devices.
I believe the reason is related to my kernel configuration. I say this because my Gentoo LiveCD (the 2008.0 minimal/install CD) boots perfectly fine, and by using the dodmraid and dolvm kernel options the devices are recognized and mapped on boot. With my kernel and initrd, I get the following messages at boot:
Code:
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: qx timeout (cmd 0xec)
ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
ata1: failed to recover some devices retrying in 5 secs
It will repeat that 3 times with about a 30 second pause after brining the link up, before finally ending with
Code:
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
It them moves on to ata2 and does the same thing: bring the link up, timeout, fail to IDENTIFY, fail to recover, retry 3 times, bring the link up. This repeats for ata3, ata5 and ata6. The only exception is that ata3 is only 1.5 Gbps as ata3 is my DVD drive. The boot then continue and ends in:
Code:
>> Activating Device-Mapper RAID(s)
No RAID disks
>> Scanning for Volume Groups
Reading all physical volumes. This may take a while...
>> Activating Volume Groups
>>Determining root device...
!! Block device /dev/mapper/vg-root is not a valid root device...
!! Count not find the root block device in .
lspci lists a RAID controller only, no SATA controller. There are a number of unknown PCI bridges though, I can get those details if anyone thinks they're important, but this is the lspci -vvv output for the RAID controller:
Code:
00:09.0 RAID bus controller: nVidia Corporation Device 0ad8 (rev a2)
Subsystem: nVidia Corporation Device cb84
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin A routed to IRQ 23
Region 0: I/O ports at c080 [size=8]
Region 1: I/O ports at c000 [size=4]
Region 2: I/O ports at bc00 [size=8]
Region 3: I/O ports at b880 [size=4]
Region 4: I/O ports at b800 [size=16]
Region 5: Memory at f9f76000 (32-bit, non-prefetchable) [size=8K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [8c] SATA HBA <?>
Capabilities: [b0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/3 Enable-
Address: 0000000000000000 Data: 0000
I'll point out that nowhere in here does it mention AHCI, however I was under the understanding that everything after MCP55 was AHCI. As such, I've tried various kernel configurations using the AHCI driver with the same result. I have tried disabling AHCI in kernel config and using sata_nv, but that fails to work as well. I have not tried switching to AHCI in BIOS as that breaks the arrays and shows them as individual drives. As I've said, for numerous reasons, I'm limited to using the nvidia RAID instead of kernel/software RAID.
I've tried compiling all the SATA drivers as modules and booting that way. In this case, everything works fine until "scanning AHCI..." where it hangs. Booting the LiveCD there's a noticeable 2-3 pause at this point, but then booting continues. In my case, it hangs for a long time and eventually ends in "No raid disks" again.
Because the LiveCD boots, I'm convinced the hardware is compatible with linux. Because my fails, I'm convinced I've made an error in my kernel configuration. I've tried various permutations of settings. I've also tried booting with ACPI=off, noapic, irqpoll and various combinations of these as boot options without success. I could try other boot options, but I do not pass them to the LiveCD so I believe they should not be required.
I'd post my .config but it's too long. The SCSI transports section is as follows
Code:
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
# CONFIG_SCSI_ISCSI_ATTRS is not set
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
# CONFIG_SCSI_SAS_ATA is not set
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SAS_LIBSAS_DEBUG=y
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=4000
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
CONFIG_SCSI_MVSAS=y
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_SRP is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_SATA_PMP is not set
CONFIG_SATA_AHCI=y
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y
# CONFIG_SATA_SVW is not set
# CONFIG_ATA_PIIX is not set
# CONFIG_SATA_MV is not set
CONFIG_SATA_NV=y
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_PATA_ALI is not set
CONFIG_PATA_AMD=y
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
# CONFIG_PATA_SCH is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
# CONFIG_MD_LINEAR is not set
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
# CONFIG_MD_RAID10 is not set
# CONFIG_MD_RAID456 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_MD_FAULTY is not set
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
# CONFIG_DM_CRYPT is not set
# CONFIG_DM_SNAPSHOT is not set
CONFIG_DM_MIRROR=y
CONFIG_DM_ZERO=y
# CONFIG_DM_MULTIPATH is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_UEVENT is not set
# CONFIG_BLK_DEV_DM_BBR is not set
# CONFIG_FUSION is not set
Thanks in advance, I appreciate any help anyone can provide.