MDLog:/sysadmin

The Journal Of A Linux Sysadmin

Debian Lenny 5.0.1 PXE Initrd Update

| Comments

My post “Debian Lenny PXE Installation on Dell PowerEdge 1950/2950 servers: bnx2 annoyances” got some attention and several people used the resulted initrd images. My intention with that post was to show anyone how they can easily build their own updated initrd and use it to successfully install Dell PE 1950/2950 (or other systems that have bnx2 based nic’s). Apparently several people used the images I’ve made available for download and when lenny was updated to 5.0.1 the images stopped working because of the kernel upgrade in the installer. Several people send me notices that this is no longer working and I promptly build updated images for i386 and amd64. I would like to thank to all the people to contact me about this and specially to Alexander Grümmer that showed me that my previous post was not clear enough with the commands needed to rebuild your own initrd. This post will show a full copy and paste type of commands for doing this.

amd64

Here are the commands needed to build your own amd64 initrd for the latest stable installer:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mkdir pxe
cd pxe/
wget ftp://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar -xzvf netboot.tar.gz
cd debian-installer/amd64/
cp initrd.gz initrd.gz.orig
mkdir temp
wget http://http.us.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-bnx2_0.16_all.deb
dpkg -x firmware-bnx2_0.16_all.deb bnx2
cd temp
zcat ../initrd.gz | cpio -iv
cp -a ../bnx2/lib ./
rm -rf lib/modules/2.6.26-2-amd64/kernel/drivers/usb/storage
find . -print0 | cpio -0 -H newc -ov | gzip -c > ../initrd.gz

i386

Also for simplicity, here are added also the commands for i386 (identical but just have the amd64 related paths changed for i386):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mkdir pxe
cd pxe/
wget ftp://ftp.debian.org/debian/dists/stable/main/installer-i386/current/images/netboot/netboot.tar.gz
tar -xzvf netboot.tar.gz
cd debian-installer/i386/
cp initrd.gz initrd.gz.orig
mkdir temp
wget http://http.us.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-bnx2_0.16_all.deb
dpkg -x firmware-bnx2_0.16_all.deb bnx2
cd temp
zcat ../initrd.gz | cpio -iv
cp -a ../bnx2/lib ./
rm -rf lib/modules/2.6.26-2-486/kernel/drivers/usb/storage
find . -print0 | cpio -0 -H newc -ov | gzip -c > ../initrd.gz

Again thanks Alexander for your help in getting this done (and sorry it took me a while to put it online). I would of course recommend to build your own initrd using this method, but if you really can’t do that for some reason, I will keep the versions I made available to download updated with the latest lenny installer.

Comments