|64 bit debian on a Dell Poweredge 1850
||[Mar. 16th, 2005|01:56 pm]
We got a shiny new dell poweredge 1850 the other day. It's a dual xeon with 64 bit em64t processors in it. For those not following intel part numbers closely, these are the 64 bit CPUs that implement that same instructions as the amd64, and so can run as either 64 or 32 bit.|
The slight fun comes in the form of the raid controller - it's a shiny new LSI MegaRaid controller, which is only supported by the megaraid2.o driver, and not the older (and more commonly found) megaraid.o driver.
The lovely people at Debian On Dell produce a 32 bit debian installer image that works great. You get the raid drivers up, everything works. Only slight issue, it's only 32 bit.
The 64 bit installer (from here) doesn't support even megaraid, let alone megaraid2. I did try adding the megaraid module (by unpacking the full kernel deb, and adding the module to the initrd), but the module was too old.
Both Redhat Enterprise and Whitebox support the megaraid2 driver. Unfortunately, I wasn't able to transplant their kernels+modules onto the debian installer, they just never found their root, despite much prodding from me.
In the end, I got a usb hard disk carrier, chucked an old IDE disk into that (the poweredge doesn't have IDE connectors, despite having an ide controller), and running the 64 bit installer against that. The install did work fine onto usb.
One problem then - the initrd that gets installed doesn't support usb disks, so it won't find root. So, I had to boot the installer again, mount my usb disk, chroot to that, then tweak the initrd file:
- nano /target/etc/mkinitrd/modules to add the USB modules (I used sd_mod, ehci_hcd, uhci_hcd, scsi_mod, usb_storage)
- nano /target/etc/mkinitrd/mkinitrd.conf to add DELAY=5 (gives it time to detect the usb drive, before jumping to it)
- chroot /target
- mkinintrd -o /boot/initrd- (2.6.8-10-em64t-p4 for me)
With the new initrd, the system booted fine from the usb disk. Then, I grabbed the kernel source, and the megaraid2 drivers from here. I followed the usual instructions for building a debian kernel .deb package, installed my new kernel package, and set it up an initrd.
Finally, removed the usb disk, booted a grub floppy, pointed it at the new hard disk (root (hd0,1), configfile /grub/menu.lst, boot the new kernel), and up it came. A quick grub-install /dev/sda later, and all was done.
Phew. Now to set up the server!
Update: Someone has pointed me to this guide (scroll half way down for the x86_64 section), which they've used to build the new kernel on a i386 box. It's supposedly a bit more hassle, but your only option if you have no usb or ide.
Update 2: The latest debian testing kernel (2.6.15-1) does have megaraid2 support, and the em64t kernel does behave nicely. You should now be fine to just use that.