Installing Ubuntu Server on Fujitsu Siemens Primergy H250

About me
Friends' pages:
Email me:
alex AT


I got some very nice servers a couple months ago. Now I decided to install Ubuntu server on them, and see how nice they work..

They are a bit older (built end of 2002), but still spec'ed quite nicely:

A complete hardware list (as later detected by the Ubuntu 8.10 server i386 installer can be found here.

I decided to give one of these servers (I got 3, only have 2 left ;) a spin, and see how it works. So I grabbed the Ubuntu Hardy Heron 8.04.2 i386 server CD from Ubuntu and tried to boot from it.

As all things, nothing should be easy if it can be complicated, so at startup there was an error coming from the Mylex RAID controller (something about firmware invalid, memory missing, the regular good stuff..). Removing it from the PCI slot, cleaning it up a bit, and reinserting it did fix things.

Next I was presented with about 4 different BIOS-es (one the regular mobo's BIOS, then the Adaptec RAID BIOS - the one that's onboard, and not used, then an Intel PXE BIOS, and finally the Mylex RAID BIOS). Userfriendly they are not, but finally I managed to setup a RAID0 array with all 10 HDDs (which means I got a 360GB virtual disk, as it takes the smallest HDD size for all disks).

The IDE CDROM did still work, and I was greeted by the regular Server install grub. It started booting, and then apparently hang for ~2 minutes, but finally moved on (not after telling me to use pci=noacpi in the future). It seems it gets stuck in some PCI querying which just stop the booting process (keyboard is dead in this time, toggling num-lock doesn't work), luckily I had something else to do, or else I would have probably restarted it.

The installer seems to detect most things needed, didn't attempt to configure/find the frontal smartcard reader, or to communicate with the embedded Server Management OS (before actual booting the Server Management OS starts up, which takes about 60 seconds, so cold starting this machine takes a really looong time). For those things I would probably use one of the "supported" linux distributions for this server. (I think some older version of SuSE and RedHat).

Moving on through the install was a breeze, partitioning the RAID is also no biggie, no different than a regular HDD, except the dev name is /dev/rd/c0d0 for the first disk with partitions called /dev/rd/c0d0p1 .. c0d0p<nr> (depending how many you set up).

After about 10 minutes it was time for the bootloader, which unfortunately failed with no real error message. I tried both GRUB and LILO (which are included on the install CD), but neither worked.

Feb  4 14:02:09 main-menu[3451]: INFO: Menu item 'grub-installer' selected 
Feb  4 14:02:09 grub-installer: info: architecture: i386/generic
Feb  4 14:02:09 main-menu[3451]: WARNING **: Configuring 'grub-installer' failed with error code 1 
Feb  4 14:02:09 main-menu[3451]: INFO: Priority changed externally, setting main-menu default to 'high' (high) 
Feb  4 14:02:09 main-menu[3451]: WARNING **: Menu item 'grub-installer' failed. 

I assumed it might be a problem about the RAID devname, so I tried to "fix" it by using the next server install CD (Ubuntu 8.10 Intrepid Ibex i386 server), btu after 20 minutes I ended up in the same spot, with the same error. Obviously, ignoring the error and completing the processes, I ended up with a system that wouldn't boot because of a missing bootloader. I tried to make different partitioning schemes (even only one partition, or / + swap or /boot + / + swap, but nothing changed).

Eventually I booted the "rescue disk" option from the server install CD, and was able to mount /dev/rd/c0d0p1 as my / and chroot to it. After that I installed grub2 (which I found by accident), and doing update-grub && grub-install worked without any issues. I rebooted, and everything was working. Maybe it would be worth going through the trouble and pack grub2 on the install CD as a backup option.

Well almost everything, because the pci=noacpi option wasn't passed on by grub, and I had a bit of a hard time figuring how to pass it (as changing menu.lst had no effect). It seems the menu.lst I changed was a leftover from grub, and grub2 uses /boot/grub/grub.cnf for it's configuration (it also seems a bit nicer than menu.lst).

The kernel I tried 2.6.26-7-server did work ok, and detected all HW I needed, including all of the 8G of memory installed on this machine. Doing some tests with hdparm -tT /dev/rd/c0d0 I was a bit disappointed as a recent desktop with SATA HDDs performs a bit faster than this 10 disk strip array (I got about 480 MB/sec for cached reads, and ~80-90MB/sec for buffered reads).