<<

Installation automatisée d'Ubuntu : Ajouter le fichier autoinstall.yaml dans l'ISO

L'objectif est de créer une image ISO contenant, à la racine, le fichier autoinstall.yaml. Pour créer le fichier voir ici.

Prérequis

Nous aurons besoin de 7zip et de xorriso :

yay -S libisoburn 7zip

Télécharger et extraire l'ISO d'installation d'Ubuntu

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.

Récupérer les paramètres de boot de l'ISO

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

Générer l'ISO modifiée

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.