#!/bin/sh

cd /tmp
wget http://ftp.fr.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz
mkdir /tmp/mkinitrd
cd /tmp/mkinitrd/
zcat ../initrd.gz | cpio -iv

# On télécharge le tout dernier .deb qui contient les firmwares attendus (notamment bnx2-06-4.0.5.fw et bnx2-09-4.0.5.fw). On le décompresse et on colle ce dont on a besoin là où il faut...

cd /tmp/
wget http://ftp.fr.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-bnx2_0.26_all.deb
dpkg-deb -x firmware-bnx2_0.26_all.deb /tmp/mkinitrd/
cd /tmp/mkinitrd/lib/firmware/
cp bnx2-0* bnx2/

# On regénère l'initrd.gz contenant maintenant les firmwares pour bnx2.

cd /tmp
mv initrd.gz initrd.gz_original
cd /tmp/mkinitrd/
find . -print0 | cpio -0 -H newc -ov | gzip -c > ../initrd.gz

# Modification de la netinstall (mkisofs)
# On télécharge l'iso originale et on la mounte

mkdir -p /mnt/toto/iso-original
cd /mnt/toto
wget ftp://ftp.gnome.org/cdimage/release/5.0.6/i386/iso-cd/debian-506-i386-netinst.iso
mount -o loop debian-506-i386-netinst.iso /mnt/toto/iso-original

# On copie son arborescence dans un répertoire qui sera modifiable et on y colle notre nouveau initrd.gz

mkdir /mnt/toto/iso-modifiable
cp -a /mnt/toto/iso-original/* /mnt/toto/iso-modifiable

cp /tmp/initrd.gz /mnt/toto/iso-modifiable/install.386/
cp /tmp/initrd.gz /mnt/toto/iso-modifiable/install.386/gtk/

# On regénère notre iso

cd iso-modifiable/
mkisofs -J -r -v -o ../lenny-5.0.6-netinstall-modified.iso -V Lenny_5_0_6_NetInstall -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /mnt/toto/iso-modifiable


