read

I recently got my hands on an HP Proliant DL380 G4. After fiddling with it for a while, trying to get the VGA port to output anything whatsoever, I finally managed to get it up and running. The VGA fix was easy - just unplug all the memory and plug it again. No idea why that worked though…

The trickiest part was getting Grub2 to load Arch (in Ubuntu it just works though), so I thought I should make a note about it for future reference since a quick google search did not yield any results.

The DL380 G4 comes shipped with an HP SmartArray RAID controller, version i6. Currently, the newer hpsa driver is not supported for the i6 SmartArray, instead you have to use the old CCISS driver. The two drivers have some interesting differences. The former uses the kernel SCSI interface and hence the drives get mapped to the well-known /dev/sda1 etc, whereas the latter maps to /dev/cciss/c0d0p0.

So it turns out that Arch’s setup script is not able to auto detect my RAID controller. Instead I get the annoying message “root boot device could not be autodetected”. To solve this, I did the following:

  • Follow the setup script until you get to the install bootloader step. Try it, it might work. At least it should generate a decent menu.lst for you. You will now probably watch it fail with the above message, though.
  • You should now have your newly created partitions mounted under /mnt but before chrooting you will some devices etc:
    # mount -o bind /dev /mnt/dev
    # mount -t proc /proc /mnt/proc/
    # mount -t sysfs /sys /mnt/sys/
    # chroot /mnt bash
    
  • Create the file /boot/grub/device.map and add this line to it: (hd0) /dev/cciss/c0d0
  • Now, run grub --device-map=/boot/grub/device.map`
  • In the grub prompt, run grub as usual:
    > root (hd0,0)
    > setup (hd0)
    > quit
    

If you get an error message in any of the steps above, investigate! Otherwise it should have worked and your OS should boot from your raid volume.

Blog Logo

André Laszlo


Published

Back to Overview