Compaq Smart Array and 2.6 kernels

Posted on May 24, 2006

D360I’ve recently purchased a Compaq DL360 G1 with a Compaq Smart Array controller. I installed Debian Sarge successfully and all was progressing well until I attempted to upgrade from a 2.4 to a 2.6 kernel.

On boot, after installing a 2.6 kernel, Init fails with :

pivot_root: No such file or directory /sbin/init 424 cannot open dev/console kernel panic: Attempted to kill init

This appears to be due to a bug in /usr/share/initrd-tools/init which is part of the initrd for each kernel image. The init script fails to deal with the dev naming scheme for the smart array – to quote

“Devices such as /dev/cciss/c0d0p1 used to have their names mangled in /sys/block with ’.’ in place of ’/’, producing paths like /sys/block/cciss.c0d0/cciss.c0d0p1/dev. However, current kernels use ’!’ rather than ’.’ as the mangling character, so you get /sys/block/ccissc0d0p1/dev.”

It turns out it’s a simple fix (on Debian at least) :

1. Install a working 2.4 kernel 2. apt-get install kernel-image-2.6-686-smp (for an smp kernel) 3. wget http://www.no-name-yet.com/patches/initrd-tools.sys-block.diff 4. patch -b /usr/share/initrd-tools/init initrd-tools.sys-block.diff 5. dpkg-reconfigure kernel-image-2.6.8-3-686-smp 6. ls -al /boot/ and check the initrd.img-2.6.8-3-686-smp has just been rebuilt 7. Reboot into the new kernel

You’ll need to repeat steps 5->7 for each new kernel install (for 2.6 kernels at least). I suspect this fix should work for a wide range of the Compaq/HP product line that use Compaq/HP Smart Array for their hardware RAID management.

References : Debian Bug Report Debian initrd rebuild instructions

Tags [ ]

Post a comment
Comment