Ubuntu Autoinstall : créer une ISO personnalisée et automatisée avec Docker

UBUNTU · AUTOINSTALL · DOCKER

Installer Ubuntu manuellement sur chaque machine, c’est fini. Avec ubuntu autoinstall, vous pouvez créer une ISO personnalisée qui déploie Ubuntu de A à Z sans aucune intervention humaine. Et grâce à Docker, le processus de génération fonctionne sur n’importe quel OS — Mac, Windows ou Linux. Dans ce guide complet, on utilise le projet open source pxeless pour builder une ISO all-in-one avec autoinstall + cloud-init intégrés, prête à flasher sur USB et à déployer en masse.

Ubuntu autoinstall - créer une ISO personnalisée avec Docker et pxeless

Réponse rapide : ubuntu autoinstall en 30 secondes

💡

En bref

Ubuntu autoinstall est le mécanisme natif d’Ubuntu Server (depuis 20.04) qui permet d’automatiser entièrement l’installation via un fichier user-data au format YAML. Combiné avec le projet open source pxeless et Docker, vous pouvez générer une ISO personnalisée en une seule commande, sans modifier votre système hôte.

Voici les étapes clés :

  1. Cloner le dépôt pxeless depuis GitHub
  2. Rédiger un fichier user-data avec la configuration autoinstall + cloud-init
  3. Récupérer l’image Docker deserializeme/pxeless depuis Docker Hub
  4. Lancer la génération de l’ISO all-in-one
  5. Flasher l’ISO sur une clé USB et booter

Pourquoi automatiser l’installation Ubuntu ?

Quiconque a déjà installé Ubuntu manuellement sur plus de deux ou trois machines connaît la douleur : cliquer sur les mêmes écrans, saisir les mêmes paramètres, attendre les mêmes téléchargements. Et au bout du compte, on oublie une option, un paquet, ou un réglage réseau. Le résultat ? Des machines hétérogènes, difficiles à maintenir, et un temps perdu considérable.

Le mécanisme ubuntu autoinstall (introduit avec Ubuntu 20.04 LTS) résout exactement ce problème. C’est le successeur du classique preseed de Debian, mais conçu spécifiquement pour le nouveau programme d’installation Subiquity. Il fonctionne via un fichier YAML déclaratif — le user-data — qui décrit l’intégralité de la configuration souhaitée : langue, clavier, partitionnement, utilisateurs, paquets, commandes post-installation…

Les avantages sont immédiats :

Et en ajoutant Docker dans l’équation, on élimine le dernier frein : la dépendance à un système Linux pour générer l’ISO. Le projet pxeless encapsule tous les outils nécessaires (xorriso, p7zip, sed, etc.) dans un conteneur Docker. Résultat : que vous soyez sur macOS, Windows ou Linux, vous pouvez builder votre ISO personnalisée sans installer quoi que ce soit sur votre machine.

Cas d’usage concrets

🖥️

Bare metal

Déployer des serveurs physiques en datacenter ou en edge. Branchez la clé USB, allumez la machine, revenez 15 minutes plus tard : c’est prêt.

🏠

Homelab

Réinstaller proprement vos NUC, Raspberry Pi ou mini-PC sans perdre une heure à configurer à la main. Idéal pour les labos qui changent souvent.

⚙️

CI/CD

Intégrer la génération d’ISO dans votre pipeline GitLab CI ou GitHub Actions. Chaque commit sur le fichier user-data rebuild automatiquement l’ISO.

🏢

Datacenter / Fleet

Standardiser le provisioning de dizaines ou centaines de serveurs. Combiné avec PXE boot, vous pouvez déployer sans même toucher une clé USB.

Prérequis

✅ Ce qu’il vous faut avant de commencer


Docker installé et fonctionnel (docker --version)

Git pour cloner le dépôt pxeless

~2 Go d’espace disque libre (pour l’ISO Ubuntu source + l’ISO générée)

Une clé USB ≥ 4 Go (pour flasher l’ISO finale)

Un éditeur de texte pour rédiger le fichier user-data (VS Code, vim, nano…)

Optionnel : mkpasswd pour générer les hash de mots de passe (apt install whois)
💡

Docker = zéro dépendance système

Tout le tooling nécessaire (xorriso, p7zip, wget, gpg…) est embarqué dans l’image Docker. Vous n’avez rien à installer sur votre machine en dehors de Docker et Git.

Étape 1 : Cloner pxeless et comprendre la structure

Le projet pxeless (par cloudymax) est un fork amélioré de ubuntu-autoinstall-generator qui ajoute deux fonctionnalités essentielles :

Commencez par cloner le dépôt :

git clone https://github.com/cloudymax/pxeless.git
cd pxeless

Voici les fichiers clés du projet :

pxeless/
├── Dockerfile                          # Image Docker avec tous les outils
├── image-create.sh                     # Script principal de génération
├── user-data.basic                     # Exemple de fichier user-data (config minimale)
├── user-data.advanced                  # Config user-data complète
└── extras/                             # Fichiers additionnels optionnels

Le script image-create.sh orchestre tout le processus : téléchargement de l’ISO source Ubuntu, extraction, injection du fichier user-data et meta-data, puis reconstruction de l’ISO bootable avec xorriso.

Bonne pratique

Versionnez votre fichier user-data dans un dépôt Git séparé. Ainsi, vous pouvez suivre l’évolution de votre configuration d’installation et revenir facilement à une version antérieure.

Étape 2 : Créer son fichier user-data (autoinstall + cloud-init)

Le fichier user-data est le cœur de la configuration ubuntu autoinstall. Il combine deux systèmes complémentaires :

Voici une version simplifiée inspirée du user-data.basic du projet pxeless. Le fichier original contient en plus une section storage, des packages supplémentaires et une configuration cloud-init avancée.

#cloud-config
autoinstall:
  version: 1
  update: yes
  keyboard: {layout: us, toggle: null, variant: ''}
  locale: en_US.UTF-8
  identity:
    hostname: pxeless
    password: "$6$rounds=4096$saltsaltlettuce$Lp/FV.2oOgew7GbM6Nr8KMGMBn7iFM0x9ZwLqtx9Y4QJmKvfcnS.2zx4MKmymCPQGpHS7gqYOiqWjvdCIV2uN."
    username: vmadmin
  ssh:
    allow-pw: true
    install-server: true
  user-data: # Cloud-init starts here
    disable_root: false
    users:
      - name: vmadmin
        gecos: VM administrator
        groups: users, admin, docker, sudo
        sudo: ALL=(ALL) NOPASSWD:ALL
        shell: /bin/bash
        lock_passwd: false
        passwd: "$6$rounds=4096$saltsaltlettuce$Lp/FV.2oOgew7GbM6Nr8KMGMBn7iFM0x9ZwLqtx9Y4QJmKvfcnS.2zx4MKmymCPQGpHS7gqYOiqWjvdCIV2uN."

Le mot de passe est un hash SHA-512 généré avec mkpasswd -m sha-512. Le projet fournit aussi un fichier user-data.advanced avec une configuration plus complète.

Décortiquons chaque section

version: 1 — Obligatoire. Indique la version du schéma autoinstall. Pour l’instant, seule la version 1 existe.

locale et keyboard — Définit la langue du système et la disposition du clavier. Pour un serveur français : fr_FR et layout fr.

storage — Le partitionnement. L’option lvm crée automatiquement un schéma LVM standard. Vous pouvez aussi utiliser direct pour un partitionnement sans LVM, ou définir un schéma custom avec la syntaxe complète de curtin.

identity — Le compte utilisateur principal. Le mot de passe doit être hashé en SHA-512. Pour le générer :

# Sur un système avec le paquet whois installé :
mkpasswd -m sha-512 "votre-mot-de-passe"

# Ou via Docker si mkpasswd n'est pas disponible :
docker run --rm -it ubuntu:latest bash -c "apt update && apt install -y whois && mkpasswd -m sha-512"
⚠️

Ne jamais utiliser un mot de passe en clair

Le champ password dans la section identity attend un hash SHA-512, pas un mot de passe en texte brut. Un mot de passe en clair dans le user-data est une faille de sécurité majeure, surtout si le fichier est versionné en Git.

ssh — Active le serveur OpenSSH et autorise (ou non) la connexion par mot de passe. Vous pouvez aussi injecter des clés SSH publiques via authorized-keys.

packages — Liste des paquets APT à installer automatiquement après l’installation de base. Ici on installe curl, git et docker.io pour avoir un serveur prêt à l’emploi.

late-commands — Commandes exécutées en fin d’installation, avant le reboot. Notez que le système cible est monté dans /target, d’où le chemin /target/etc/sudoers.

user-data — Cette sous-section est passée directement à cloud-init lors du premier boot. Elle utilise la syntaxe cloud-init standard (pas autoinstall). Ici on configure le fuseau horaire.

Configuration avancée : clés SSH et réseau statique

Pour un déploiement production, vous voudrez probablement injecter des clés SSH et configurer le réseau :

#cloud-config
autoinstall:
  version: 1
  locale: fr_FR
  keyboard:
    layout: fr
  network:
    network:
      version: 2
      ethernets:
        ens18:
          addresses:
            - 192.168.1.100/24
          routes: # gateway4 est déprécié depuis Ubuntu 22.10 — utiliser routes
            - to: default
              via: 192.168.1.1
          nameservers:
            addresses:
              - 1.1.1.1
              - 8.8.8.8
  storage:
    layout:
      name: lvm
  identity:
    hostname: prod-server-01
    username: admin
    password: "$6$rounds=4096$..."
  ssh:
    install-server: true
    allow-pw: false
    authorized-keys:
      - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... admin@workstation
  packages:
    - curl
    - git
    - docker.io
    - htop
    - unattended-upgrades
  late-commands:
    - echo 'admin ALL=(ALL) NOPASSWD:ALL' >> /target/etc/sudoers
    - curtin in-target --target=/target -- systemctl enable docker
  user-data:
    timezone: Europe/Paris
    package_update: true
    package_upgrade: true
💡

autoinstall vs cloud-init : ne pas confondre

La section autoinstall: contrôle l’installateur (Subiquity) — partitionnement, paquets, utilisateur. La sous-section user-data: à l’intérieur est passée à cloud-init au premier boot — timezone, NTP, scripts custom. Les deux syntaxes sont différentes !

📚

Documentation officielle

Pour la référence complète des options autoinstall, consultez la documentation officielle Ubuntu.

Étape 3 : Récupérer l’image Docker pxeless

Pxeless fournit un Dockerfile qui embarque tout le nécessaire : p7zip, xorriso, wget, gpg et les autres utilitaires nécessaires à la manipulation d’ISO.

Récupérez l’image pré-construite depuis Docker Hub :

docker pull deserializeme/pxeless

Le téléchargement prend 1 à 2 minutes selon votre connexion. L’image pèse environ 300 Mo.

Alternative : build local

Si l’image Docker Hub est indisponible ou si vous souhaitez utiliser la dernière version du repo, buildez localement depuis le répertoire cloné : docker build -t pxeless . — remplacez ensuite deserializeme/pxeless par pxeless dans toutes les commandes.

Vérifiez que l’image est bien disponible :

docker images | grep pxeless

Étape 4 : Générer l’ISO personnalisée

C’est ici que la magie opère. Le script image-create.sh va :

  1. Télécharger l’ISO Ubuntu source (daily build par défaut)
  2. L’extraire dans un répertoire temporaire
  3. Injecter votre fichier user-data et le meta-data
  4. Modifier la configuration GRUB pour activer autoinstall au boot
  5. Reconstruire l’ISO bootable avec xorriso (support eltorito + GPT)

La commande complète :

docker run --rm --volume "$(pwd):/data" \
  --user $(id -u):$(id -g) deserializeme/pxeless \
  --all-in-one \
  --user-data user-data.basic \
  --code-name jammy \
  --use-release-iso

Décortiquons les options :

Option Description
-h, --help Affiche l’aide du script.
-v, --verbose Mode verbeux pour le debug.
-a, --all-in-one Mode all-in-one : bake le user-data et meta-data directement dans l’ISO. L’installation démarre sans serveur HTTP externe.
-n, --code-name Code name de la release Ubuntu : bionic (18.04), focal (20.04), jammy (22.04), noble (24.04)…
-u, --user-data Chemin vers votre fichier user-data (requis avec -a).
-m, --meta-data Fichier meta-data (optionnel).
-e, --use-hwe-kernel Force l’utilisation du kernel HWE (Hardware Enablement) pour un meilleur support matériel récent.
-k, --no-verify Désactive la vérification GPG de l’ISO source.
-r, --use-release-iso Utilise une ISO release (stable) au lieu du daily build. Recommandé pour la production.
-s, --source ISO source existante à utiliser (au lieu de télécharger).
-d, --destination Fichier ISO de destination (défaut : ubuntu-autoinstall.iso).
-t, --timeout Timeout du menu GRUB en secondes (défaut : 30).
-x, --extra-files Dossier dont le contenu sera copié dans /media du squashfs.
-o, --offline-installer Script bash pour personnalisation offline (utilisé avec -x).
-l, --legacy À utiliser si l’ISO source est basée sur isolinux (MBR).
-c, --no-md5 Désactive la vérification MD5 de l’ISO source.
⚠️

–extra-files nécessite les droits root

Quand vous utilisez --extra-files, retirez l’option --user $(id -u):$(id -g) de la commande Docker. Le script a besoin des droits root pour monter et modifier le squashfs.

docker run --rm --volume "$(pwd):/data" deserializeme/pxeless \
  --all-in-one --user-data user-data.basic \
  --code-name jammy --use-release-iso \
  --extra-files /data/extras

Exemple production recommandé

Pour un déploiement en production, préférez une ISO release avec vérification GPG désactivée (si vous avez des problèmes de clé) et le kernel HWE :

docker run --rm --volume "$(pwd):/data" \
  --user $(id -u):$(id -g) deserializeme/pxeless \
  --all-in-one \
  --user-data my-user-data.yml \
  --code-name jammy \
  --use-release-iso \
  --use-hwe-kernel

L’ISO générée apparaîtra dans le répertoire courant sous le nom ubuntu-autoinstall-YYYY-MM-DD.iso (ex : ubuntu-autoinstall-2026-03-25.iso). Vous pouvez personnaliser ce nom avec l’option -d, --destination.

⚠️

Attention au téléchargement initial

La première exécution télécharge l’ISO Ubuntu source (~1.5 Go). Prévoyez le temps et la bande passante. Les exécutions suivantes réutiliseront l’ISO si elle est déjà présente dans le répertoire monté.

Vérifier l’ISO avant de flasher

Bonne pratique : montez l’ISO et vérifiez que votre user-data a bien été intégré avant de flasher une clé USB.

mkdir /tmp/iso-check
sudo mount -o loop ubuntu-autoinstall-$(date +%Y-%m-%d).iso /tmp/iso-check
ls /tmp/iso-check/nocloud/
cat /tmp/iso-check/nocloud/user-data
sudo umount /tmp/iso-check
rmdir /tmp/iso-check
💡

Tester sans matériel physique

Vous pouvez aussi tester l’ISO directement dans une VM QEMU avant de flasher : qemu-system-x86_64 -m 2G -cdrom ubuntu-autoinstall-*.iso -boot d

Cas pratique : générer une ISO Ubuntu Desktop automatisée

L’autoinstall ne se limite pas aux serveurs. En combinant la section packages avec les métapaquets Ubuntu Desktop, vous pouvez générer une ISO qui installe automatiquement un poste de travail complet — interface graphique incluse.

💡

ISO Server vs Desktop

Utilisez une ISO Ubuntu Server (pas Desktop) comme source — elle est plus légère et supporte autoinstall nativement. Les paquets desktop sont installés en post-install via le user-data.

Fichier user-data pour un poste de travail Ubuntu

Voici un exemple de user-data qui installe Ubuntu avec l’environnement GNOME complet, les outils essentiels et configure l’autologin :

#cloud-config
autoinstall:
  version: 1
  locale: fr_FR.UTF-8
  keyboard:
    layout: fr
  storage:
    layout:
      name: lvm
  identity:
    hostname: workstation
    username: admin
    # Générer avec : mkpasswd --method=SHA-512 --rounds=4096
    password: "$6$rounds=4096$saltsaltlettuce$Lp/FV.2oOgew7GbM6Nr8KMGMBn7iFM0x9ZwLqtx9Y4QJmKvfcnS.2zx4MKmymCPQGpHS7gqYOiqWjvdCIV2uN."
  ssh:
    install-server: false
  # Paquets installés pendant l'installation (via apt, avant le reboot)
  packages:
    - ubuntu-desktop          # GNOME complet (inclut gdm3, nautilus, etc.)
    - ubuntu-restricted-extras # Codecs multimedia, polices Microsoft
    - curl
    - git
    - wget
    - vim
    - build-essential
    - flatpak
    - gnome-software-plugin-flatpak
  # Fin de l'installation autoinstall — cloud-init commence ici
  user-data:
    disable_root: false
    users:
      - name: admin
        gecos: Administrateur
        groups: users, admin, sudo
        sudo: ALL=(ALL) NOPASSWD:ALL
        shell: /bin/bash
        lock_passwd: false
        passwd: "$6$rounds=4096$saltsaltlettuce$Lp/FV.2oOgew7GbM6Nr8KMGMBn7iFM0x9ZwLqtx9Y4QJmKvfcnS.2zx4MKmymCPQGpHS7gqYOiqWjvdCIV2uN."
    # Autologin GDM (optionnel)
    write_files:
      - path: /etc/gdm3/custom.conf
        content: |
          [daemon]
          AutomaticLoginEnable=true
          AutomaticLogin=admin
    # Commandes post-installation
    runcmd:
      # Ajouter le dépôt Flathub pour Flatpak
      - flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
      # Désactiver le screensaver au login automatique
      - sudo -u admin gsettings set org.gnome.desktop.screensaver lock-enabled false || true
⚠️

Temps d’installation plus long

L’installation d’Ubuntu Desktop via autoinstall prend 15 à 30 minutes selon la connexion réseau (téléchargement de ~2 Go de paquets). Utilisez l’option --use-release-iso pour partir d’une ISO stable récente et minimiser les mises à jour.

Générer l’ISO Desktop avec pxeless

La commande de génération est identique, il suffit de pointer vers votre fichier user-data desktop :

docker run --rm --volume "$(pwd):/data" \
  --user $(id -u):$(id -g) deserializeme/pxeless \
  --all-in-one \
  --user-data user-data.desktop \
  --code-name jammy \
  --use-release-iso

Personnaliser l’environnement de bureau

Remplacez ubuntu-desktop par d’autres métapaquets selon vos préférences : kubuntu-desktop (KDE Plasma), xubuntu-desktop (XFCE), lubuntu-desktop (LXQt), ubuntu-mate-desktop (MATE).

Étape 5 : Flasher sur USB et booter

Une fois l’ISO générée, il ne reste plus qu’à la flasher sur une clé USB et à démarrer dessus.

Sur Linux / macOS

Identifiez d’abord le device de votre clé USB :

# Linux
lsblk

# macOS
diskutil list

Puis flashez avec dd :

export IMAGE_FILE="ubuntu-autoinstall.iso"

sudo fdisk -l | grep "Disk /dev/"
export DISK_NAME="/dev/sdb"

sudo umount "$DISK_NAME"
sudo dd bs=4M if=$IMAGE_FILE of="$DISK_NAME" status=progress oflag=sync
🔴

Vérifiez DEUX FOIS le device cible

La commande dd écrase sans confirmation. Si vous pointez vers le mauvais device (votre disque système par exemple), vous perdrez toutes vos données. Vérifiez avec lsblk avant de lancer.

Sur Windows

Utilisez Rufus ou balenaEtcher pour flasher l’ISO. Sélectionnez le mode « DD Image » si Rufus le propose.

Boot et installation automatique

Branchez la clé USB sur la machine cible et démarrez dessus (via le BIOS/UEFI, touche F2/F12/Del selon le constructeur). Si tout est correctement configuré :

  1. GRUB démarre et lance automatiquement l’autoinstall (pas de menu de sélection)
  2. Le partitionnement, la copie des fichiers, la configuration et l’installation des paquets se font sans interaction
  3. Les late-commands sont exécutés
  4. La machine redémarre automatiquement
  5. Au premier boot, cloud-init applique la section user-data (timezone, etc.)

Résultat : un serveur Ubuntu prêt à l’emploi, configuré exactement comme spécifié dans votre fichier user-data, accessible en SSH.

Erreurs courantes et solutions

⏱ L’installation se bloque sur « waiting for automatic installation data »

Cause : Le fichier user-data n’a pas été correctement injecté dans l’ISO. Solution : Vérifiez que vous utilisez bien l’option -a (all-in-one) et que le chemin vers votre fichier user-data est correct. Montez le répertoire courant avec --volume "$(pwd):/data".

⏱ Erreur GPG : « signature verification failed »

Cause : Les clés GPG du conteneur ne sont pas à jour pour vérifier l’ISO source. Solution : Ajoutez l’option -k pour désactiver la vérification GPG, ou rebuildez l’image Docker pour mettre à jour les clés.

⏱ Le boot UEFI échoue ou affiche « invalid signature »

Cause : L’ISO n’a pas été générée avec le support eltorito + GPT. Solution : Assurez-vous d’utiliser pxeless (et non le script original) qui gère nativement ce format. Vérifiez aussi que Secure Boot est désactivé dans le BIOS si vous utilisez une ISO non signée.

⏱ Erreur YAML : « autoinstall config invalid »

Cause : Erreur de syntaxe YAML dans le fichier user-data (indentation, caractères spéciaux non échappés). Solution : Validez votre YAML avec un outil en ligne ou python3 -c "import yaml; yaml.safe_load(open('user-data'))". Attention aux tabulations (interdites en YAML) et aux mots de passe contenant des caractères spéciaux (entourez-les de guillemets).

⏱ Docker : « permission denied » sur le mount

Cause : SELinux ou permissions insuffisantes sur le répertoire monté. Solution : Sur Fedora/RHEL, ajoutez :Z au mount. Sur d’autres systèmes, vérifiez que votre utilisateur fait partie du groupe docker ou exécutez avec sudo.

⏱ late-commands : la commande n’a pas d’effet

Cause : Oubli du préfixe /target dans les chemins. Pendant l’installation, le système cible est monté dans /target. Solution : Utilisez des chemins absolus avec /target ou la commande curtin in-target --target=/target -- commande pour exécuter dans le contexte du système installé.

Questions fréquentes

Ubuntu autoinstall fonctionne-t-il avec Ubuntu Desktop ?
Oui, depuis Ubuntu 23.04 Desktop, le nouvel installateur supporte aussi autoinstall. Cependant, le cas d’usage principal reste Ubuntu Server. Pour Desktop, vous pouvez aussi utiliser l’option -d de pxeless si elle est disponible, ou adapter le user-data avec les paquets desktop appropriés.
Peut-on utiliser autoinstall sans Docker ?
Oui, le script image-create.sh fonctionne directement sur un système Ubuntu/Debian si vous installez les dépendances manuellement (xorriso, p7zip-full, wget, gpg). Mais l’approche Docker garantit la reproductibilité et évite de polluer votre système. C’est aussi la seule option si vous travaillez sur macOS ou Windows.
Quelle est la différence entre autoinstall et preseed ?
Preseed est l’ancien mécanisme d’automatisation de Debian/Ubuntu, lié à l’installateur classique (debian-installer). Autoinstall est son successeur pour le nouvel installateur Subiquity, introduit avec Ubuntu 20.04 Server. Autoinstall utilise un format YAML plus lisible et intègre nativement cloud-init. Preseed reste utilisable pour Debian et les anciennes versions d’Ubuntu, mais pour tout nouveau déploiement Ubuntu Server, autoinstall est la voie recommandée.
Comment intégrer la génération d’ISO dans un pipeline CI/CD ?
Puisque tout tourne dans Docker, l’intégration CI/CD est triviale. Exemple avec GitLab CI :
generate-iso:
  image: docker:latest
  services:
    - docker:dind
  script:
    - docker run --rm --volume "$(pwd):/data" --user $(id -u):$(id -g) deserializeme/pxeless --all-in-one --user-data user-data.basic --code-name jammy --use-release-iso
  artifacts:
    paths:
      - "*.iso"

Chaque modification du fichier user-data déclenche un rebuild de l’ISO.

Peut-on combiner autoinstall avec Ansible pour la post-configuration ?
Absolument, et c’est même la pratique recommandée ! Utilisez autoinstall pour le provisioning initial (OS, partitionnement, utilisateur, SSH) et Ansible pour la configuration applicative (rôles, services, monitoring). Autoinstall garantit que chaque machine part d’une base identique, Ansible prend le relais pour la personnalisation par rôle.
Quelles versions d’Ubuntu sont supportées par pxeless ?
Pxeless supporte toutes les versions Ubuntu Server à partir de 20.04 (Focal Fossa). Le support eltorito + GPT ajouté par pxeless est spécifiquement nécessaire à partir d’Ubuntu 20.10, car le format de l’ISO a changé. Les code names supportés incluent : focal (20.04), jammy (22.04), noble (24.04) et les versions intermédiaires.

Besoin d’automatiser le déploiement de vos serveurs Ubuntu ?

Chez Linux-Man, on accompagne les entreprises dans la mise en place de workflows d’installation automatisés, du provisioning bare metal à l’intégration CI/CD. Parlons de votre projet.

Contactez-nous →

Quitter la version mobile