L'objectif est de créer une image ISO contenant, à la racine, le fichier autoinstall.yaml. Pour créer le fichier voir ici.
Nous aurons besoin de 7zip et de xorriso :
yay -S libisoburn 7zip
Télécharger l'ISO puis extraire son contenu dans le dossier extract.
wget https://releases.ubuntu.com/24.04.4/ubuntu-24.04.4-desktop-amd64.iso
7z -y x ubuntu-24.04.4-desktop-amd64.iso -oextract
mv 'extract/[BOOT]' extract/BOOT
On en profite pour renommer le dossier [BOOT] en BOOT.
XXXX@XXXXX ~/custom_ubuntu_iso> xorriso -indev ubuntu-24.04.4-desktop-amd64.iso -report_el_torito as_mkisofs > makeiso.sh
Ajouter un \ à la fin de chaque ligne.
-V 'Ubuntu 24.04.4 LTS amd64' \
--modification-date='2026021001394800' \
--grub2-mbr --interval:local_fs:0s-15s:zero_mbrpt,zero_gpt:'ubuntu-24.04.4-desktop-amd64.iso' \
--protective-msdos-label \
-partition_cyl_align off \
-partition_offset 16 \
--mbr-force-bootable \
-append_partition 2 28732ac11ff8d211ba4b00a0c93ec93b --interval:local_fs:12988432d-12998591d::'ubuntu-24.04.4-desktop-amd64.iso' \
-appended_part_as_gpt \
-iso_mbr_part_type a2a0d0ebe5b9334487c068b6b72699c7 \
-c '/boot.catalog' \
-b '/boot/grub/i386-pc/eltorito.img' \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
--grub2-boot-info \
-eltorito-alt-boot \
-e '--interval:appended_partition_2_start_3247108s_size_10160d:all::' \
-no-emul-boot \
-boot-load-size 10160 \
Il faut ensuite remplacer les lignes suivantes :
--grub2-mbr --interval:local_fs:0s-15s:zero_mbrpt,zero_gpt:'ubuntu-24.04.4-desktop-amd64.iso' \
par
--grub2-mbr extract/BOOT/1-Boot-NoEmul.img \
et
-append_partition 2 28732ac11ff8d211ba4b00a0c93ec93b --interval:local_fs:12988432d-12998591d::'ubuntu-24.04.4-desktop-amd64.iso' \
par
-append_partition 2 28732ac11ff8d211ba4b00a0c93ec93b extract/BOOT/2-Boot-NoEmul.img \
puis ajouter en début de fichier :
#!/usr/bin/env bash
xorriso -as mkisofs -r \
-o "autoinstall-ubuntu-24.04.4.iso" \
et ajouter à la fin le nom du dossier ou aller chercher le contenu de l'ISO :
extract
Le fichier makeiso.sh une fois toutes les modifications effectuées :
#!/usr/bin/env bash
xorriso -as mkisofs -r \
-o "autoinstall-ubuntu-24.04.4.iso" \
-V 'Ubuntu 24.04.3 LTS amd64' \
--modification-date='2025080518202600' \
--grub2-mbr extract/BOOT/1-Boot-NoEmul.img \
--protective-msdos-label \
-partition_cyl_align off \
-partition_offset 16 \
--mbr-force-bootable \
-append_partition 2 28732ac11ff8d211ba4b00a0c93ec93b extract/BOOT/2-Boot-NoEmul.img \
-appended_part_as_gpt \
-iso_mbr_part_type a2a0d0ebe5b9334487c068b6b72699c7 \
-c '/boot.catalog' \
-b '/boot/grub/i386-pc/eltorito.img' \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
--grub2-boot-info \
-eltorito-alt-boot \
-e '--interval:appended_partition_2_start_3095872s_size_10160d:all::' \
-no-emul-boot \
-boot-load-size 10160 \
extract
Copions le fichier autoinstall.yaml à la racine de l'ISO.
cp autoinstall.yaml extract/
Il ne reste plus qu'à exécuter le script et récupérer l'ISO modifiée :
XXXX@XXXX ~/custom_ubuntu_iso> bash makeiso.sh
xorriso 1.5.6 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:autoinstall-ubuntu-24.04.4.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 419g free
xorriso : WARNING : -volid text problematic as automatic mount point name
xorriso : WARNING : -volid text does not comply to ISO 9660 / ECMA 119 rules
Added to ISO image: directory '/'='/home/XXXX/build/custom_ubuntu_iso/extract'
xorriso : UPDATE : 1236 files added in 1 seconds
xorriso : UPDATE : 1236 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 2048 bytes from file '/home/XXXX/build/custom_ubuntu_iso/extract/BOOT/1-Boot-NoEmul.img'
xorriso : UPDATE : 1.17% done
xorriso : UPDATE : 10.42% done
xorriso : UPDATE : 27.16% done
xorriso : UPDATE : 42.61% done, estimate finish Tue Feb 17 09:50:08 2026
xorriso : UPDATE : 57.96% done, estimate finish Tue Feb 17 09:50:08 2026
xorriso : UPDATE : 69.38% done, estimate finish Tue Feb 17 09:50:09 2026
xorriso : UPDATE : 80.23% done, estimate finish Tue Feb 17 09:50:09 2026
xorriso : UPDATE : 90.10% done
ISO image produced: 3100660 sectors
Written to medium : 3100660 sectors at LBA 0
Writing to 'stdio:autoinstall-ubuntu-24.04.4.iso' completed successfully.