Boot fails after 6.06 server install on Compaq Proliant DL360: cpqarray missing in initramfs

Bug #47526 reported by GuyM
14
Affects Status Importance Assigned to Milestone
initramfs-tools (Ubuntu)
Won't Fix
High
Unassigned

Bug Description

Hardware:
Compaq Proliant DL360 with Compaq Integrated Smart Array Controller v 1.50

Install:
Create hardware mirror (2 x hdd) on raid
Ubuntu 6.06 build 20060524.2
Boot server CD
Install in text mode
CD detects volume on compaq raid (I didn't pick LVM install, I think)
Installs okay.

On first boot, fails with:
Uncompressing Linux...Ok, booting the kernel.
[42949376.260000] cpqarray: error sending ID Controller

Then after some time:
ALERT! /dev/ida/c0d0p1 does not exist. Dropping to a shell!

And get a BusyBox shell

Revision history for this message
James Purser (purserj) wrote :

I can confirm this with a Compaq Proliant ML530. It seems to be an issue with how the kernel deals with the Compaq Raid Controllers. Also affects Debian 2.6 kernels.

Revision history for this message
steven (spadal) wrote :

I tried installing Ubuntu Server 6.06 onto a Compaq Proliant DL370 with the exact same controller version and received the same issues. I'm not sure how to work around this.

Revision history for this message
Fabián Rodríguez (magicfab) wrote :

Possible work-around found with Google:
( transcript from: http://www.ubuntuforums.org/archive/index.php/t-80342.html )

1. Use your install CD to boot into rescue mode (insert CD and type "rescue" at the Boot: prompt).
-When I did this the CD wouldn't go into rescue mode and gave me an error. I then chose the "run a shell" option from the install menu.

2. mkdir /target; mount /dev/ida/c0d0p1 /target (or whatever is your root partition. NB I did not have to provide any options. I did not have my partition map handy so I just mounted every partition on an empty dir and viewed the contents to figure out what was in each partition.)

3. If you created separate boot and usr partitions, mount the partitions on /target/boot and /target/usr (you are recreating the required tree under /target). You don't need any other partitions.

4. add cpqarray to /etc/mkinitramfs/modules (nano /etc/modules and add "cpqarray" as the last line).

5. chroot /target (now it looks like you are in your installation).

6. /usr/sbin/mkinitramfs -o /boot/initrd.img /lib/modules/2.6.12-9-686/ (this will build the new initrd.img in /boot).

7. Cd to /boot and verify that you are happy (I just ensured the new img was larger than the old one). Then backup the old img and rename the new img to the same name as the old img (initrd.img-2.6.12-9-686 for me).

8. Reboot. Everything went smoothly after that.

Revision history for this message
Fabián Rodríguez (magicfab) wrote :

Apparently this had been fixed - see Bug #26632 . Regression ?

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

reassigning against initramfs-tools per suggestion

Revision history for this message
Dave Williams (dwilliams-cingo) wrote :

Seems to be related certain array controllers and not the platform. It happens on Proliant G1, G2 and G3 servers. It happens with Integrated controllers as well as add on Array cards.

Tested with the Alternated CD using server install.

The fix above has worked every time on all my platforms with all controllers.
 - Boot under rescue
 - Add "cpqarray" to /etc/mkinitramfs/modules
 - build an new initrd.img
 - reboot

Revision history for this message
dan_linder (dan-linder) wrote :

Rumor has it that there was a patch included in 2.6.18 that fixed the cpqarray issue - any chance that patch can get backported to 2.6.15?

Revision history for this message
Jan Klopper (janklopper-innerheight) wrote :

Rumor was wrong,

cpqarray still breaks on 6.10

I tried both the alternate cd, and normald server install, both don't work.

This was testen on a compaq smartarray 5300 controller inside a DL380 g1

Revision history for this message
dan_linder (dan-linder) wrote : Re: [Bug 47526] Re: Boot fails after 6.06 server install on Compaq Proliant DL360

On Wed, March 28, 2007 05:21, Killercow wrote:
> Rumor was wrong,
>
> cpqarray still breaks on 6.10
>
> I tried both the alternate cd, and normald server install, both don't
> work.
>
> This was testen on a compaq smartarray 5300 controller inside a DL380 g1

My recent install of 6.10 put on a 2.6.15 kernel - did your 6.10 put on
2.6.18 or higher?

Dan

- - - -
"Wait for that wisest of all counselors, time." -- Pericles
"I do not fear computers, I fear the lack of them." -- Isaac Asimov

Revision history for this message
Jan Klopper (janklopper-innerheight) wrote : Re: Boot fails after 6.06 server install on Compaq Proliant DL360

Dan,

My install did a 2.6.17-14 install.
I also tried a 7.04 feisty install but that livecd couldn't recognize the array size.

Revision history for this message
dan_linder (dan-linder) wrote : Re: [Bug 47526] Re: Boot fails after 6.06 server install on Compaq Proliant DL360

Killercow wrote:
> Dan,
>
> My install did a 2.6.17-14 install.
> I also tried a 7.04 feisty install but that livecd couldn't recognize the array size

The simplest solution is to add "cpqarray" to the
/etc/mkinitramfs/modules file.
I.e.

    # cat /etc/mkinitramfs/modules
    # List of modules that you want to include in your initramfs.
    #
    # Syntax: module_name [args ...]
    #
    #
    # This might be good choices:
    #
    # raid1
    # sd_mod
    cpqarray

I did that and it continued to even after letting apt-get update my
kernel.

If you are doing this from the intial boot, you will need to rebuild the
kernel initrd file with this command

    # /sbin/mkinitramfs -o /boot/initrd.img-<kernelversion> <kernelversion>

Hope this helps.

Dan

Revision history for this message
Jan Klopper (janklopper-innerheight) wrote : Re: Boot fails after 6.06 server install on Compaq Proliant DL360

Dan,

Thanks,

Il try this tonight, altough i think i allready did this.
I guess this is with a 7.04 livecd right?

I tried modprobe cpqarray on the cli of the live-cd prior to running the steps from the installer, but i didn;t think that helped me beyond the paritioner,

I've currently got debian 4.0 installed which works great. but ill try tonight,

Revision history for this message
Martin Pitt (pitti) wrote :

Adding "cpqarray" to /etc/mkinitramfs/modules was proposed by Fabian and confirmed by Dave. Although this does not seem to make it work on all systems, it seems to be a great improvement and an easy fix. Marking for dapper point release.

Changed in initramfs-tools:
assignee: nobody → ubuntu-kernel-team
Revision history for this message
Martin Pitt (pitti) wrote :
Revision history for this message
Ben Collins (ben-collins) wrote :

Not sure we can fix this reliably. The problem isn't that cpqarray isn't in the initramfs, it's the fact that it overlaps with sym53c8xx driver on two PCI IDs. Adding cpqarray explicitly to /etc/*/modules forces the cpqarray module to be loaded first, and this alleviates the problem where sym53c8xx is loaded first.

Yes, we could ditch the PCI IDs in one or the other module. However, this could lead to unforseen regressions. Since there is a work around for this problem, I think it's best to leave it as a release note.

Changed in initramfs-tools:
assignee: ubuntu-kernel-team → nobody
milestone: ubuntu-6.06.2 → none
status: Confirmed → Won't Fix
Revision history for this message
dan_linder (dan-linder) wrote : Re: [Bug 47526] Re: Boot fails after 6.06 server install on Compaq Proliant DL360: cpqarray missing in initramfs

On Wed, October 17, 2007 08:34, Ben Collins wrote:
> Not sure we can fix this reliably. The problem isn't that cpqarray isn't
> in the initramfs, it's the fact that it overlaps with sym53c8xx driver
> on two PCI IDs. Adding cpqarray explicitly to /etc/*/modules forces the
> cpqarray module to be loaded first, and this alleviates the problem
> where sym53c8xx is loaded first.

It was my impression that the PCI IDs should be unique - handed out by a
single third party for just this sort of issue?

Is this PCI ID overlap due to a bug in the hardware introduced by one of
the manufacturers, or an error in the PCI ID list that the kernel uses?

If it is a hardware issue, I'd go back to the PCI ID organizations list
and load the driver for the card that they say goes with that PCI ID and
then issue a bug report or patch to the other drivers development team for
inclusion.

Sounds like this might be similar to this bug report:
https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/110585

Dan

- - - -
"There are four boxes to be used in defense of liberty: soap, ballot,
jury, and ammo. Please use in that order."
-- Ed Howdershelt (Author)

"I do not fear computers, I fear the lack of them." -- Isaac Asimov (Author)
** *** ***** ******* *********** *************
Counterterrorism, ISN, Goodwin, bet, DREO, GOE, JICC
Intiso, Beyond Hope, 868, SETA, DREC, CISE, Bubba the Love Sponge
Competitor, RSA, Indigo, BfV, Halibut, LLC, Coderpunks

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.