Installateur Debian - Personnalisation de l'image

Mise à jour : Debian 11.0 / Bullseyes

Les installateurs Debian sont fournis sous forme d'images ISO. Deux exemples de personnalisation de l'image sont présentés :

Référence https://stackoverflow.com/questions/31831268/genisoimage-and-uefi

Sommaire

1 - Accès au contenu de l'image

$ wget -c debian-8.5.0-amd64-xfce-CD-1.iso
$ sudo mount -o loop debian-8.5.0-amd64-xfce-CD-1.iso /mnt
mount: /dev/loop0 est protégé en écriture, sera monté en lecture seule
$ mkdir iso
$ rsync -a -H -exclude=TRANS.TBL /mnt/ iso/
$ chmod -R +w-- iso
$ sudo umount /mnt

2 - Modification

Deux exemples de modification sont décrits :

2.1 - Ajout de firmware propriétaires

Les installateurs standards n'incluent que des composants "libres". Si des firmwares propriétaires sont nécessaires à l'installation, par exemple pour faire fonctionner la carte réseau, une solution consiste à les ajouter, sous la forme de paquets .deb, dans le répertoire /firmware de l'installateur.

Si l'on ne connaît pas les firmwares nécessaires, on peut choisir d'ajouter tous les firmwares disponibles, seuls les firmwares nécessaires seront utilisés et installés par l'installateur. C'est cette solution qui est décrite ici.

$ cd iso/firmware
$ wget http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/jessie/current/firmware.tar.gz
$ tar -xzvf firmware.tar.gz
$ ls
amd64-microcode_2.20160316.1~deb8u1_amd64.deb
amd64-microcode_2.20160316.1~deb8u1_i386.deb
atmel-firmware_1.3-4_all.deb
bluez-firmware_1.2-3_all.deb
dahdi-firmware-nonfree_2.10.0-1_all.deb
firmware-adi_0.43_all.deb
firmware-atheros_0.43_all.deb
firmware-b43-installer_019-2_all.deb
firmware-b43legacy-installer_019-2_all.deb
firmware-bnx2_0.43_all.deb
firmware-bnx2x_0.43_all.deb
firmware-brcm80211_0.43_all.deb
........
$ cd ..

2.2 - Automatisation de l'installation

$ sudo cp preseed.txt iso/
append auto=true file=/cdrom/preseed.txt vga=788 initrd=/install.amd/initrd.gz --- quiet

3 - Régénération de l'image

Lorsque le contenu du répertoire est modifié, pour régénérer une image iso bootable :

$ find . -type f -print0 | xargs -0 md5sum > md5sum.txt
$ sudo aptitude install genisoimage
$ genisoimage -o ../linux.iso -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat ./
$ cd ..
$ file linux.iso
linux.iso: ISO 9660 CD-ROM filesystem data 'CDROM' (bootable)
$ sudo aptitude install syslinux-utils
$ isohybrid linux.iso
$ file linux.iso
linux.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data 'CDROM' (bootable); partition 1 : ID=0x17, active, start-CHS (0x0,0,1), end-CHS (0x289,63,32), startsector 0, 1331200 sectors

4 - Utilisation

Install1.bis