# Megaraid hassle

## knirirr

The recent update to udev-197 required that I rebuild the kernel on various machines (taking the opportunity to upgrade to the newest gentoo-sources, 3.6.11), one of which is no longer bootable afterwards. It has the following hardware:

```

           *-pci:1

                description: PCI bridge

                product: 80332 [Dobson] I/O processor (B-Segment Bridge)

                vendor: Intel Corporation

                physical id: 0.2

                bus info: pci@0000:01:00.2

                version: 06

                width: 32 bits

                clock: 33MHz

                capabilities: pci pciexpress msi pm pcix normal_decode bus_master cap_list

              *-storage

                   description: RAID bus controller

                   product: MegaRAID

                   vendor: LSI Logic / Symbios Logic

                   physical id: b

                   bus info: pci@0000:03:0b.0

                   logical name: scsi2

                   version: 01

                   width: 32 bits

                   clock: 66MHz

                   capabilities: storage pm bus_master cap_list

                   configuration: latency=32

                   resources: iomemory:d8ff0000-d8ffffff irq:37

                 *-processor:0 UNCLAIMED

                      description: SCSI Processor

                      product: 1x2 SCSI BP

                      vendor: PE/PV

                      physical id: 0.6.0

                      bus info: scsi@2:0.6.0

                      version: 1.0

                      serial: 1

                      configuration: ansiversion=2

                 *-processor:1 UNCLAIMED

                      description: SCSI Processor

                      product: PV22XS

                      vendor: DELL

                      physical id: 1.6.0

                      bus info: scsi@2:1.6.0

                      version: E.17

                      configuration: ansiversion=3

                 *-disk:0

                      description: SCSI Disk

                      product: LD0 RAID1 69880R

                      vendor: MegaRAID

                      physical id: 2.0.0

                      bus info: scsi@2:2.0.0

                      logical name: /dev/sda

                      version: 350O

                      size: 68GiB (73GB)

                      capabilities: partitioned partitioned:dos

                      configuration: ansiversion=2 sectorsize=512 signature=0009fdd2

                    *-volume:0

                         description: EXT3 volume

                         vendor: Linux

                         physical id: 1

                         bus info: scsi@2:2.0.0,1

                         logical name: /dev/sda1

                         logical name: /

                         version: 1.0

                         serial: 722c866e-0b8f-465b-9fb6-ed72734fe558

                         size: 60GiB

                         capacity: 60GiB

                         capabilities: primary bootable journaled extended_attributes large_files recover ext3 ext2 initialized

                         configuration: created=2011-03-31 16:50:47 filesystem=ext3 label=/ modified=2013-01-29 11:49:40 mount.fstype=ext3 mount.options=rw,relatime,errors=continue,barrier=1,data=writeback mounted=2013-01-29 11:49:40 state=mounted

                    *-volume:1

                         description: Linux swap volume

                         physical id: 2

                         bus info: scsi@2:2.0.0,2

                         logical name: /dev/sda2

                         version: 1

                         serial: dcd8f6f1-edb9-420e-9aca-822b82ec425f

                         size: 8424MiB

                         capacity: 8424MiB

                         capabilities: primary nofs swap initialized

                         configuration: filesystem=swap pagesize=4096

                 *-disk:1

                      description: SCSI Disk

                      product: LD1 RAID5 38900R

                      vendor: MegaRAID

                      physical id: 2.1.0

                      bus info: scsi@2:2.1.0

                      logical name: /dev/sdb

                      version: 350O

                      size: 1502GiB (1613GB)

                      capabilities: partitioned partitioned:dos

                      configuration: ansiversion=2 sectorsize=512 signature=000a16a1

                    *-volume:0

                         description: EXT3 volume

                         vendor: Linux

                         physical id: 1

                         bus info: scsi@2:2.1.0,1

                         logical name: /dev/sdb1

                         version: 1.0

                         serial: a7b5286d-178b-481b-b8b3-734dac778c8c

                         size: 1502GiB

                         capacity: 1578GiB

                         capabilities: primary journaled extended_attributes large_files ext3 ext2 initialized

                         configuration: created=2011-04-01 09:39:14 filesystem=ext3 label=/home modified=2013-01-28 12:27:51 mounted=2013-01-28 11:59:50 state=clean

                    *-volume:1

                         description: Linux filesystem partition

                         physical id: 2

                         bus info: scsi@2:2.1.0,2

                         logical name: /dev/sdb2

                         capacity: 299GiB

                         capabilities: primary

                    *-volume:2

                         description: Empty partition

                         physical id: 3

                         bus info: scsi@2:2.1.0,3

                         logical name: /dev/sdb3

                         capacity: 1007GiB

                         capabilities: primary nofs

```

If Megaraid support is not added then, unsurprisingly, the machine won't recognise the root device /dev/sda1. If it's compiled as a module then the system hangs on boot at around this point:

```

....

:: Scanning for megaraid...megaraid loaded. 

:: Scanning for megaraid_mbox...megaraid_mm, megaraid_mbox loaded. 

```

If I compile these various megaraid modules into the kernel instead then the result is a hang at "Switching to clocksource tsc".

The system boots perfectly to the install cd so I am currently using Genkernel to build a kernel to the same configuration in the hope that it might boot with that. Other than that I don't have any ideas, so if anyone else can see anything I may have missed then please let me know.

Edit: The install CD kernel did not work. I'm a bit stuck here, for clearly I need the megaraid driver but can't boot with it!

----------

## nanoczar

Just for clarification, do you have a RAID setup? The fact that it's looking for sda1 is strange if you do...at least it's not that way on my RAID system.

----------

## knirirr

 *nanoczar wrote:*   

> Just for clarification, do you have a RAID setup? The fact that it's looking for sda1 is strange if you do...at least it's not that way on my RAID system.

 

Yes. IIRC the system has one external RAID array which has been configured to present a small sda and large sdb; the former is used for the OS and the latter for data.

I've managed to get it booting using the boot CD configuration and the additional command line of clocksource=acpi_pm, although I didn't have any luck with my previous kernel configuration. So, it's sort of working, but I am not really sure what the problem is.

----------

## NeddySeagoon

knirirr,

```
                   description: RAID bus controller

                   product: MegaRAID

                   vendor: LSI Logic / Symbios Logic 
```

Its not a real raid controller. Do you use dmraid to use the software raid functionality ?

----------

## knirirr

 *NeddySeagoon wrote:*   

> 
> 
> Its not a real raid controller. Do you use dmraid to use the software raid functionality ?

 

In what way is it not a real controller? I'm not using software RAID on this device, and megactl reports the following:

```

a0       PERC 4/DC                chan:2 ldrv:2  batt:good

a0d0       68GiB RAID 1   1x2  optimal

a0d1        1TiB RAID 5   1x12 optimal

hot spares   :  a0c1t8  

a0c0t0      68GiB  a0d0  online  

a0c0t1      68GiB  a0d0  online  

a0c1t1     136GiB  a0d1  online  

a0c1t2     136GiB  a0d1  online  

a0c1t3     136GiB  a0d1  online  

a0c1t4     136GiB  a0d1  online  

a0c1t5     136GiB  a0d1  online  

a0c1t8     136GiB        hotspare

a0c1t9     136GiB  a0d1  online  

a0c1t10    136GiB  a0d1  online  

a0c1t11    136GiB  a0d1  online  

a0c1t12    136GiB  a0d1  online  

a0c1t13    136GiB  a0d1  online  

a0c1t14    136GiB  a0d1  online  

a0c1t15    136GiB  a0d1  online  

```

----------

## NeddySeagoon

knirirr,

I take that back - that looks real raid to me.

Do you have 

```
CONFIG_DEVTMPFS=y

CONFIG_DEVTMPFS_MOUNT=y
```

in your kernel. Genkernel will set those options.

I don't expect genkernel to work for you without a lot of help as it will probably leave out the megaraid drivers you need.

Can you put your kernel .config file on a pastebin and post the output of lspci and lspci -n please.

----------

## knirirr

 *NeddySeagoon wrote:*   

> 
> 
> Do you have 
> 
> ```
> ...

 

Yes, these are both enabled.

 *NeddySeagoon wrote:*   

> 
> 
> Can you put your kernel .config file on a pastebin and post the output of lspci and lspci -n please.

 

Here's the config for the old kernel:

http://pastebin.com/CkC0Qxy4

I couldn't get this config. to boot when I used it to compile 3.6.11; I'd get a hang when loading the megaraid drivers, or that clocksource error (see earlier post) if they were compiled into the kernel.

Here's one I generated with Genkernel using the boot CD's config:

http://pastebin.com/pPZ22SyF

This one I got to boot by specifying clocksource on boot:

```

# cat /proc/cmdline 

root=/dev/ram0 real_root=/dev/sda1 clocksource=acpi_pm

```

However, I'm not sure why that works.

I've had to rebuild again overnight as I realised that I'd forgotten to build the iptables module, so I hope it will come up again after doing that...

----------

## Wallsandfences

There's not much I can add, but did you give the clocksource boot hang some time (minutes)? I had that hangup during the first reboot after a fresh kernel a few weeks ago, and all I did was waiting a few minutes, and then it booted, and does so ever since.

Rüdiger

----------

## knirirr

 *Wallsandfences wrote:*   

> There's not much I can add, but did you give the clocksource boot hang some time (minutes)? I had that hangup during the first reboot after a fresh kernel a few weeks ago, and all I did was waiting a few minutes, and then it booted, and does so ever since.
> 
> 

 

I left it overnight after one hang and the machine stopped at not being able to read /dev/sda1. So, I presume that it tried for some time to load the modules and moved on after failing, only to find that the RAID array was inaccessible due to the lack of modules.

----------

