Arch Linux on HP Proliant DL380 G4
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.lstfor you. You will now probably watch it fail with the above message, though. -
You should now have your newly created partitions mounted under
/mntbut 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.mapand 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.