Nous allons ici détailler la méthode pour créer une ISO bootable à partir d'un chroot créé avec debootstrap.
On considère que vous avez créé un système de base avec debootstrap et que vous avez à l'aide de chroot ajouté tous les outils dont vous avez besoin...
Bien entendu dans le chroot il y a un système de base minimal et un kernel!
1) Prérequis:
Code : Tout sélectionner
apt install -y syslinux squashfs-tools isolinux syslinux xorriso
2) Préparation du système:
Votre chroot étant dans /var/local/custom, voici les commandes à passer:
Code : Tout sélectionner
mkdir -p /var/local/custom/binary/{live,isolinux}
cp /var/local/custom/boot/vmlinuz-* /var/local/custom/binary/live/vmlinuz
cp /var/local/custom/boot/initrd.img-* /var/local/custom/binary/live/initrd
cp /usr/lib/ISOLINUX/isolinux.bin /var/local/custom/binary/isolinux/
cp /usr/lib/syslinux/modules/bios/* /var/local/custom/binary/isolinux/
cp /usr/share/misc/pci.ids /var/local/custom/binary/isolinux/
Code : Tout sélectionner
cd /var/local/
mksquashfs custom custom/binary/live/filesystem.squashfs -comp xz -e boot
voici un exemple de fichier isolinux.cfg simple (Ce sera votre menu de démarrage!).
Code : Tout sélectionner
mkdir -p /var/local/fichiers-custom/
nano /var/local/fichiers-custom/isolinux.cfg
Code : Tout sélectionner
ui vesamenu.c32
prompt 0
menu title Debian Jessie custom par debian-fr.xyz ;-)
timeout 300
label live-amd64
menu label ^Live (amd64)
menu default
linux /live/vmlinuz
append initrd=/live/initrd boot=live nomodeset quiet lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-model=pc105 keyboard-layouts=fr keyboard-variant=latin9 timezone=Europe/Paris utc=yes
label live-amd64-failsafe
menu label ^Live (amd64 failsafe)
linux /live/vmlinuz
append initrd=/live/initrd boot=live config memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal
endtext
Vous copierez ensuite le fichier isolinux.cfg que vous aurez créé au préalable. C'est le fichie rqui contient le menu de démarrage:
Code : Tout sélectionner
cp /var/local/fichiers-custom/isolinux.cfg /var/local/custom/binary/isolinux/isolinux.cfg
Code : Tout sélectionner
cd /var/local/custom
xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -isohybrid-mbr\
/usr/lib/ISOLINUX/isohdpfx.bin -partition_offset 16 -A "Debian Live"\
-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4\
-boot-info-table -o remaster.iso binary
Voilà. C'est rapide évidemment. Vos questions et précisions sont les bienvenues!