≡ Menu

Debian Lenny on Nehalem-based systems

I recently had the opportunity to set up a few Nehalem based servers at SoftLayer to replace some older hardware that we were using.. and these servers /rock/. The servers have the E5520 CPU’s, and kick the snot out of the E5430’s that they replaced. We were able to actually able to replace 6 dual-5430’s with 4 dual-5520’s, and lower our costs significantly (by about 25%) — which is nice!

However, I did run into one problem while installing Debian Lenny (5.0) on these systems. The problem is that the on-board Intel Gig-E adapters (PCI ID 8086:10c9) are not supported in the 2.6.26 kernel which Lenny ships with – d’oh! If you are not planning on using Xen on your system, you could install the 2.6.29 kernel from Unstable; however, in my case, I wanted to use Xen, and there is no Xen dom0 support in 2.6.29. I was able to overcome this by re-building Debian’s 2.6.26 kernel (rev 2.6.26-13) with the most recent version of the igb drivers from Intel’s web site.

If you have a similar server and don’t want to go through the same pain I did, read more for directions on how to do this!

[ad name=”Google Adsense 728×90″]

Here are the steps to install, assuming that you’re using a KVM-IPMI interface that supports virtual media:

1) Install a base system using the ‘netinstall’ or first install disc from Debian. [amd64] [i386]

2) On a different machine, download the updated kernel image which you would like to use from my web site. Please only download the image(s) you intend to use to conserve bandwidth.

3) Create an ISO image that contains the kernel image you would like to use. On a Linux system, the following command would do the trick:

genisoimage -o ~/iso/nehalem-kernel-images.iso -J -R linux-image-[whatever]

4) Select the generated ISO image using the IPMI interface, and mount it on your guest. Then, install the new kernel with:

dpkg -i linux-image-[whatever]

5) Reboot, and you should be running the new kernel!

When I built these kernel images, I updated the subrelease to ‘999’ to try to ensure that future Debian updates would not overwrite them. I would recommend watching the Debian bug for this issue, and manually install the patched Debian kernel when it comes available.

Note: These kernels are provided with no warranty. I’ve provided the source I used to build the kernels so you can verify that they only contain the updated igb driver. If you have issues, feel free to comment, and I will try to help you out, but cannot guarantee anything. The kernels may or may not be updated to include security patches as they come available.

{ 2 comments… add one }

Leave a Comment