# LSI SAS 2008 Controller/ Could not find root block device

## digital951

Good day all!

I have been troubleshooting this for about 2 weeks now. We have a server that has a Pike 2008 (LSI SAS 2008) raid controller in it. I have a couple raid devices setup and one Intel SSD passed through as the install device. Every time I have installed Gentoo I have gotten a message that says could not find root block device in UUID=..... I have gone as far as to edit the UUID and change it to /dev/sda3 in the grub.cfg file but that gave me the same result but of course said could not find root block device /dev/sda3. I suspect this is because I am not compiling the kernel with the proper modules. Any advice or direction at this point would be greatly appreciated. 

Thanks,

-Matt

Edit:

PCI info:

livecd ~ # lspci | grep 2008

04:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)

MOD info (from livecd):

livecd ~ # lsmod | grep raid

raid0                   6443  0 

dm_raid                14604  0 

raid456                49684  1 dm_raid

async_raid6_recov       1209  1 raid456

async_memcpy            1278  1 raid456

async_pq                3524  1 raid456

async_xor               2593  2 async_pq,raid456

async_tx                1670  5 async_pq,raid456,async_xor,async_memcpy,async_raid6_recov

raid1                  22948  1 dm_raid

raid10                 33921  1 dm_raid

raid6_pq               89350  3 async_pq,btrfs,async_raid6_recov

dm_mod                 67159  5 dm_raid,dm_log,dm_mirror,dm_crypt,dm_snapshot

raid_class              3108  1 mpt2sas

megaraid_sas           71976  0 

megaraid_mbox          23564  0 

megaraid_mm             6664  1 megaraid_mbox

megaraid               34209  0 

aacraid                67516  0

----------

## NeddySeagoon

digital951,

Welcome to Gentoo

You don't say how you are configuring and building your kernel. The liveCD does not support  

```
PCI-Express Fusion-MPT
```

 nor does a default genkernel all.

```

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

  │ │    [ ] Fusion MPT device support (NEW)  ----                                │ │  

  │ │        IEEE 1394 (FireWire) support  --->  
```

your device driver is in the  Fusion MPT device support (NEW)  ---- menu.

Probably  <*>   Fusion MPT ScsiHost drivers for SAS (NEW) 

You need to set that option on, then rebuild and reinstall your kernel.

----------

## digital951

I have been using genkernel all. 

I chroot('d) back into the install and ran 

```
make menuconfig
```

Fusion MPT device support was already selected. So I exited and ran the make commands, but I am still getting the same error. It seemed like the compile was suspiciously fast compared to genkernel. Do I need to start from scratch? I have never done a manual Kernel install. 

Thanks,

-Matt

----------

## NeddySeagoon

digital951,

```
genkernel all
```

remeves the intermediate files left by the last build, sets up the .config file, then builds and installs the kernel.

Your build was fast as make didi not need to do very much.

I'm not sure what you mean by  *Quote:*   

> ran the make commands

   Your kernel might be OK but you are just not using it.

Look at the timestamps on the kernel file(s) in /boot the look at your /boot/grub/grub.cfg to make sure the most recent kernel is being loaded.

genkernel has a -menuconfig option, it might be --menuconfig.

This drops you into menuconfig so you can change the settings.  The build and install continues when you exit menuconfig. 

Post the output of lspci from your install media.

Maybe your root filesystem is not attached to the controller you think it is.  We can make sure the drivers for all your HDD chipsets are installed.

----------

## digital951

The commands I was referring to were the following: (Attempting to use the handbook as my bible)

make && make modules_install

make install

Most of the files in /boot have different timestamps I didn't regenerate the grub.cfg file. Should I have done that?

The fusion MPT box is checked using genkernel --menuconfig all

```

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

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

  │ │                                                                       IEEE 1394 (FireWire) support  --->                                                                                                   │ │

```

```
livecd ~ # lspci

00:00.0 Host bridge: Intel Corporation 5520 I/O Hub to ESI Port (rev 22)

00:01.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 (rev 22)

00:02.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 2 (rev 22)

00:03.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 3 (rev 22)

00:04.0 PCI bridge: Intel Corporation 5520/X58 I/O Hub PCI Express Root Port 4 (rev 22)

00:05.0 PCI bridge: Intel Corporation 5520/X58 I/O Hub PCI Express Root Port 5 (rev 22)

00:06.0 PCI bridge: Intel Corporation 5520/X58 I/O Hub PCI Express Root Port 6 (rev 22)

00:07.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 7 (rev 22)

00:08.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 8 (rev 22)

00:09.0 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 9 (rev 22)

00:0a.0 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 10 (rev 22)

00:10.0 PIC: Intel Corporation 7500/5520/5500/X58 Physical and Link Layer Registers Port 0 (rev 22)

00:10.1 PIC: Intel Corporation 7500/5520/5500/X58 Routing and Protocol Layer Registers Port 0 (rev 22)

00:11.0 PIC: Intel Corporation 7500/5520/5500 Physical and Link Layer Registers Port 1 (rev 22)

00:11.1 PIC: Intel Corporation 7500/5520/5500 Routing & Protocol Layer Register Port 1 (rev 22)

00:14.0 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub System Management Registers (rev 22)

00:14.1 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (rev 22)

00:14.2 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub Control Status and RAS Registers (rev 22)

00:14.3 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub Throttle Registers (rev 22)

00:1a.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4

00:1a.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5

00:1a.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2

00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1

00:1c.4 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 5

00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 6

00:1d.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1

00:1d.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2

00:1d.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3

00:1d.3 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6

00:1d.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)

00:1f.0 ISA bridge: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller

00:1f.2 IDE interface: Intel Corporation 82801JI (ICH10 Family) 4 port SATA IDE Controller #1

00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller

00:1f.5 IDE interface: Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller #2

01:01.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 10)

02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection

03:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection

04:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)

08:00.0 PCI bridge: NVIDIA Corporation NF200 PCIe 2.0 switch (rev a3)

09:00.0 PCI bridge: NVIDIA Corporation NF200 PCIe 2.0 switch (rev a3)

09:02.0 PCI bridge: NVIDIA Corporation NF200 PCIe 2.0 switch (rev a3)

0a:00.0 VGA compatible controller: NVIDIA Corporation GF110GL [Tesla C2050 / C2075] (rev a1)

0b:00.0 VGA compatible controller: NVIDIA Corporation GF110GL [Tesla C2050 / C2075] (rev a1)

0f:00.0 PCI bridge: NVIDIA Corporation NF200 PCIe 2.0 switch (rev a3)

10:00.0 PCI bridge: NVIDIA Corporation NF200 PCIe 2.0 switch (rev a3)

10:02.0 PCI bridge: NVIDIA Corporation NF200 PCIe 2.0 switch (rev a3)

11:00.0 VGA compatible controller: NVIDIA Corporation GF110GL [Tesla C2050 / C2075] (rev a1)

12:00.0 VGA compatible controller: NVIDIA Corporation GF110GL [Tesla C2050 / C2075] (rev a1)

fe:00.0 Host bridge: Intel Corporation Xeon 5600 Series QuickPath Architecture Generic Non-core Registers (rev 02)

fe:00.1 Host bridge: Intel Corporation Xeon 5600 Series QuickPath Architecture System Address Decoder (rev 02)

fe:02.0 Host bridge: Intel Corporation Xeon 5600 Series QPI Link 0 (rev 02)

fe:02.1 Host bridge: Intel Corporation Xeon 5600 Series QPI Physical 0 (rev 02)

fe:02.2 Host bridge: Intel Corporation Xeon 5600 Series Mirror Port Link 0 (rev 02)

fe:02.3 Host bridge: Intel Corporation Xeon 5600 Series Mirror Port Link 1 (rev 02)

fe:02.4 Host bridge: Intel Corporation Xeon 5600 Series QPI Link 1 (rev 02)

fe:02.5 Host bridge: Intel Corporation Xeon 5600 Series QPI Physical 1 (rev 02)

fe:03.0 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Registers (rev 02)

fe:03.1 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Target Address Decoder (rev 02)

fe:03.2 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller RAS Registers (rev 02)

fe:03.4 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Test Registers (rev 02)

fe:04.0 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Control (rev 02)

fe:04.1 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Address (rev 02)

fe:04.2 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Rank (rev 02)

fe:04.3 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Thermal Control (rev 02)

fe:05.0 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Control (rev 02)

fe:05.1 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Address (rev 02)

fe:05.2 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Rank (rev 02)

fe:05.3 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Thermal Control (rev 02)

fe:06.0 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Control (rev 02)

fe:06.1 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Address (rev 02)

fe:06.2 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Rank (rev 02)

fe:06.3 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Thermal Control (rev 02)

ff:00.0 Host bridge: Intel Corporation Xeon 5600 Series QuickPath Architecture Generic Non-core Registers (rev 02)

ff:00.1 Host bridge: Intel Corporation Xeon 5600 Series QuickPath Architecture System Address Decoder (rev 02)

ff:02.0 Host bridge: Intel Corporation Xeon 5600 Series QPI Link 0 (rev 02)

ff:02.1 Host bridge: Intel Corporation Xeon 5600 Series QPI Physical 0 (rev 02)

ff:02.2 Host bridge: Intel Corporation Xeon 5600 Series Mirror Port Link 0 (rev 02)

ff:02.3 Host bridge: Intel Corporation Xeon 5600 Series Mirror Port Link 1 (rev 02)

ff:02.4 Host bridge: Intel Corporation Xeon 5600 Series QPI Link 1 (rev 02)

ff:02.5 Host bridge: Intel Corporation Xeon 5600 Series QPI Physical 1 (rev 02)

ff:03.0 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Registers (rev 02)

ff:03.1 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Target Address Decoder (rev 02)

ff:03.2 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller RAS Registers (rev 02)

ff:03.4 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Test Registers (rev 02)

ff:04.0 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Control (rev 02)

ff:04.1 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Address (rev 02)

ff:04.2 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Rank (rev 02)

ff:04.3 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Thermal Control (rev 02)

ff:05.0 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Control (rev 02)

ff:05.1 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Address (rev 02)

ff:05.2 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Rank (rev 02)

ff:05.3 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Thermal Control (rev 02)

ff:06.0 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Control (rev 02)

ff:06.1 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Address (rev 02)

ff:06.2 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Rank (rev 02)

ff:06.3 Host bridge: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Thermal Control (rev 02)

```

----------

## NeddySeagoon

digital951, 

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

is a menu option.  That's required but not sufficient.

Inside that menu is 

```
<*> Fusion MPT ScsiHost drivers for SAS (NEW) 
```

which looks like the option you need.

Set it as <*>.

genkernel will take care of 

```
00:1f.2 IDE interface: Intel Corporation 82801JI (ICH10 Family) 4 port SATA IDE Controller #1 

00:1f.5 IDE interface: Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller #2
```

without any help.

I don't use grub2 but as long as the kernel and ititrd entries point to your most recent kernel in /boot you should be OK.

----------

## digital951

I did notice this on my last compile. 

```

* WARNING... WARNING... WARNING...

* Additional kernel cmdline arguments that *may* be required to boot properly...

* With support for several ext* filesystems available, it may be needed to

* add "rootfstype=ext3" or "rootfstype=ext4" to the list of boot parameters.

```

I am running XFS as my root fs. So it looks like I might need to compile with rootfstype=xfs ?

----------

## NeddySeagoon

digital951,

xfs may not be included in genkernel. 

Adding rootfs=xfs won't hurt.  It will stop the kernel searching for the right filesystem driver to mount root.

After all, the kernel cannot read /etc/fstab to find out what root is untir root is mounted.

In meunconfig press / to search and enter xfs.

The help will tell you where it is and its current setting.

----------

## digital951

```
<*> Fusion MPT ScsiHost drivers for SAS (NEW)
```

Adding this is what defiantly fixed the problem. However I realized I wasn't actually saving the config. Once I save the config VIOLA every thing started working. THANK YOU GUYS!!!

----------

