# Block device /dev/sda3 is not a valid root device...[Solved]

## noverby

Hey this is my second full Gentoo install. The first one went almost flawlessly on my netbook. It encouraged me to install Gentoo on a Dell t300 server. 

Unfortunately the kernel I have configured manually is unable to boot. The following error is displayed:

```
!! Block device /dev/sda3 is not a valid root device...

!! Could not find the root block device in .

Please specify another value or: press Enter for the same, type "shell" for shell, or "q" to skip...

root block device() ::
```

In the fallback shell I can see that sda1, sda2 and sda3 is not found.

The genkernel with all drivers however works fine, but I would like to configure the kernel manually.

Here is some system logs, kernel settings and hardware info using genkernel:

lsmod(genkernel):

http://pastebin.com/tYaBnfXt

lshw(genkernel):

http://pastebin.com/SDyNE0FT

lspci(genkernel):

http://pastebin.com/y22Ka1Mc

Manual kernel settings:

http://pastebin.com/Embc50g1

The hard disk setup is a combination of a SCSI, raid1, and SATA...

I hope the Gentoo forums can solve this issue. Thank you in advance  :Wink: Last edited by noverby on Tue Aug 07, 2012 6:00 pm; edited 1 time in total

----------

## VoidMage

Check 'lspci -k' and compare it with kernel settings.

----------

## NeddySeagoon

nimoov,

You have quite a collection of hard drive controllers there

```
00:1f.2 IDE interface: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (rev 02)

00:1f.5 IDE interface: Intel Corporation 82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (rev 02)

03:00.0 SCSI storage controller: LSI Logic / Symbios Logic SAS1068E PCI-Express Fusion-MPT SAS (rev 08)
```

Where is your /dev/sda attached ?

Your SATA controllers are in IDE mode.  This is a very bad things for several reasons. 

Functionality is limited. Often only a small number of the ports work at all. If your HDD is connected to one of the dead ports ...

On the ports that do work. the data rate can be very low.  There may be no DMA support.

IDE mode is intended to allow Windows XP users to install the AHCI driver before they abandon the mode forever. Linux has never needed IDE mode. Change your BIOS setting. 

As you have only provided a fragment of the kernel config, we can't check the other things that can cause the same symptoms.

e.g. partition table types.

Make friends with wgetpaste and post the entire .config file.

Then we can see if you have the driver for your SCSI card built too.

----------

## noverby

I cannot find any AHCI  settings in BIOS. The one hard disk related setting I can change is "SATA Configuration > SATA Controller > ATA Mode / Off" and "SAS Configuration" with Ctrl + C.

lspci -k:

http://bpaste.net/show/38866/

Kernel config:

http://bpaste.net/show/38867/

fstab:

http://bpaste.net/show/38868/

Great advice by the way.

----------

## NeddySeagoon

nimoov,

Your SATA controllers are not AHCI devices - but IDE mode is still a very bad thing.  Play with that BIOS setting and see what lspci shows.

```
00:1f.2 IDE interface: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (rev 02)

   Subsystem: Dell PowerEdge T300 onboard SATA Controller

   Kernel driver in use: ata_piix
```

Your high level SCSI settings are correct

Looking in your kernel 

```
CONFIG_ATA_PIIX=y
```

 is correct for yor chipset.

One or both of 

```
CONFIG_MSDOS_PARTITION=y

CONFIG_EFI_PARTITION=y
```

is correct.

```
CONFIG_ATA_VERBOSE_ERROR=y
```

 is a bad thing.  Indeed any debug options in the kernel should be off.

```
CONFIG_SATA_AHCI=y

CONFIG_PATA_OLDPIIX=y
```

are not needed but should be harmless.

From that I conclude thay your SATA subsystem works but your HDD is not attached there.

```
03:00.0 SCSI storage controller: LSI Logic / Symbios Logic SAS1068E PCI-Express Fusion-MPT SAS (rev 08)

   Subsystem: Dell SAS 6/iR Adapter RAID Controller

   Kernel driver in use: mptsas
```

Looking for its driver in your kernel shows

```
 # CONFIG_FUSION is not set
```

which confirms that the entire Fusion menu is hidden.

If your /dev/sda is a real SCSI drive, attached to that controller, it won't be seen.

```
  │ │        SCSI device support  --->                                        │ │  

  │ │    <*> Serial ATA and Parallel ATA drivers  --->                        │ │  

  │ │    [*] Multiple devices driver support (RAID and LVM)  --->             │ │  

  │ │    < > Generic Target Core Mod (TCM) and ConfigFS Infrastructure  --->  │ │  

  │ │    [ ] Fusion MPT device support  ---> 
```

The driver you need is in the last menu above.

----------

## noverby

NeddySeagoon thank you so much.

CONFIG_FUSION and "Fusion MPT device support" drivers fixed the issue.

However I still cannot find any AHCI settings in the BIOS. The Dell forums might answer that question. Any way NeddySeagoon, thank you so much for the help.

----------

