Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I'm wanting to install Ubuntu Server 9.10 onto an IBM xSeries 306m. The onboard SATA RAID controller is not being correctly detected.

Has anyone had experience installing Ubuntu or Linux onto one of these machines and encountered this problem?

The SATA controller reports itself on boot as Adaptec HostRAID

share|improve this question

2 Answers 2

I just went through this myself and got it working [although not in a RAID configuration]. The problem(s) seem to be related to the system not being able to find the firmware (aic94xx-seq.fw) for the controller at boot time.

Here's what I did to get to working:

First in the Adaptec controller (ctrl-a at boot), delete your raid array so you have two different drives.

Next, boot the ubuntu server 9.10 install disk and install it. After I deleted the RAID array, the install found the drive and I was able to install on the drive but then that install would not boot off the drive.

The problem is that the firmware for the Adaptec 9405w controller doesn't get copied into the initrd image that gets booted when the system starts so it can't bootstrap itself. To fix that, I built a custom initrd image with the required file using the following steps:

After installing, boot the install disk and select "Rescue Mode".

Select the "use /dev/sda1 as root" and select "execute shell in installer environment"

This will drop you in a shell with /dev/sda1 mounted as /target. Now you need to fix up the initrd image on the target to include the firmware you need:

cd /target/boot
# backup the original...
cp initrd.img-2.6.31-14-server initrd.img-2.6.31-14-server.save
mkdir tmp
cd tmp
/target/bin/gzip -dc ../initrd.img-2.6.31-14-server | /target/bin/cpio -id

now you will have an unzipped version of the initrd image to which you will copy the firmware:

cp /target/lib/firmware/aic94xx-seq.fw lib/firmware/2.6.31-14-server

Don't put in the adaptec directory like I did at first...

Now you can recreate the initrd image

find . | /target/bin/cpio --quiet --dereference -o -H newc | /target/bin/gzip -9 > ../initrd.img-2.6.31-14-server

reboot and you should now be able to boot the ubuntu server off the hard drive.

There maybe other ways of getting this done, but this worked for me.

Also, you may be able to get this to work with the drives in a RAID configuration but I had problems getting the install disk to recognize the RAID array at all. You might be able to switch to a console window with alt-f2 and rmmod the aic94xx module and then reload it with modprob. I'll leave that to someone else to figure out.

Hope this helps.

edit 3/15/2010:

Once I got the system up, I found a simple way to ensure that the firmware file automatically gets included in the initrd image if there are any updates to any files in it. I haven't tested this but basically, once you get the os installed and before you do an "apt-get upgrade", do the following:

cp /target/lib/firmware/aic94xx-seq.fw /target/lib/firmware/2.6.31-14-server
/usr/sbin/update-initramfs -k all -u

After that, you should be able to do upgrades with no problem until you get a new kernel.

I tried running update-initramfs from the install disk but ended up wiping out the /target/boot directory so you don't want to do that.

-- Bud

share|improve this answer
    
BTW, if you do a apt-get upgrade, you may clobber the initrd image and you'll probably need to rebuild the image again before you reboot... -- Bud –  Anonymous Mar 11 '10 at 20:02
    
ok. That gets me thinking. I want this to work in as RAID mirror though. I found out how I can modify the CD but I don't know where to put the driver. Will I have to compile a new kernel? –  Matt Mar 11 '10 at 20:18
    
I just tried again to get RAID going. I rebuilt my array, booted the install disk, switched to a console with alt-f2 and verified that the driver is loading properly from the install disk and finding the firmware file (dmesg). For some reason though, it doesn't see the RAID device, just the raw drives. Not sure why??? –  Anonymous Mar 11 '10 at 22:46

I managed to install Ubuntu 10.10 x86 on the xSeries 306.

  1. I updated the BIOS to latest from 2008.
  2. I configured in Adaptec BIOS the RAID as mirror on two SATA 500GB drives, and called it a LONG! name to fill up all the name spaces.
  3. I installed Ubuntu 10.10 x64 on it normally, RAID was detected as /dev/mapper/long-raid-name and partitions on it had proper id's.

The problem seems to be the name of the raid array, if you call it with a short name, it gets nasty spaces, when Ubuntu detects them it makes them into /dev/mapper/ibmraid\\\\\\\\ which can't be used or formatted with installed. So the solution is simple :

  1. Update firmware
  2. Use Adaptec utility to setup raid (ctrl+a)
  3. Install ubuntu 10.10. x64
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.