#!/bin/bash # This script do the following: # Download Debian Initrd for Stretch, Buster, Jessie, Wheezy and Sid # Download firmwares: # bnx2 # all non-free (for tigon) # Extract all downloaded files # Make a new initrd with the previous firmwares for DISTRO in stretch buster jessie wheezy sid; do # For ALL Debian's version TEMP_DIR=$(mktemp -d) pushd "${TEMP_DIR}" # Download and uncompress original initrd wget http://ftp.fr.debian.org/debian/dists/${DISTRO}/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz mkdir "${TEMP_DIR}"/mkinitrd pushd "${TEMP_DIR}"/mkinitrd/ zcat ../initrd.gz | cpio -iv popd # Download bnx2's firmware and uncompress it wget http://ftp.fr.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-bnx2_0.43_all.deb dpkg-deb -x firmware-bnx2_0.43_all.deb "${TEMP_DIR}"/mkinitrd # Download tigon(all non-free)'s firmware and uncompress it wget http://ftp.fr.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-linux-nonfree_0.43_all.deb dpkg-deb -x firmware-linux-nonfree_0.43_all.deb "${TEMP_DIR}"/mkinitrd # Download myricom for IBM wget http://ftp.fr.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-myricom_0.43_all.deb dpkg-deb -x firmware-myricom_0.43_all.deb "${TEMP_DIR}"/mkinitrd # Download qlogic wget http://ftp.fr.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-qlogic_0.43_all.deb dpkg-deb -x firmware-qlogic_0.43_all.deb "${TEMP_DIR}"/mkinitrd # Download iwlwifi wget http://ftp.fr.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-iwlwifi_20170823-1_all.deb -O firmware-iwlwifi_all.deb dpkg-deb -x firmware-iwlwifi_all.deb "${TEMP_DIR}"/mkinitrd # Make a new initrd mv initrd.gz initrd_orig.gz pushd "${TEMP_DIR}"/mkinitrd/ find . -print0 | cpio -0 -H newc -ov | gzip -c > ../initrd.gz popd # Move it to PXE Debian installer mkdir -p /var/lib/tftpboot/installer/debian/${DISTRO}/amd64/ mv initrd.gz /var/lib/tftpboot/installer/debian/${DISTRO}/amd64/initrd_firm.gz popd # Clean temp file rm -rf "${TEMP_DIR}" done exit 0