From 7f15c47b320cd2bc0e65559576d62cdf674fcaef Mon Sep 17 00:00:00 2001 From: lapatatedouce Date: Fri, 25 Jul 2025 06:11:24 +0200 Subject: [PATCH] =?UTF-8?q?Am=C3=A9loriations=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + README.md | 127 ++++++++++++++++++++++++++++++++--------------------- 2 files changed, 79 insertions(+), 49 deletions(-) diff --git a/.gitignore b/.gitignore index 4b1f4c8..fc2f143 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ tags **/__pycache__ **/.venv *.iso +*example-preseed.txt diff --git a/README.md b/README.md index b48fcdc..2fe7ef8 100644 --- a/README.md +++ b/README.md @@ -7,41 +7,6 @@ Les ISOs préconfigurés permettent des installations Debian entièrement automa **Note:** Ce projet est un fork de [YunoHost/custom-debian-iso](https://github.com/YunoHost/custom-debian-iso) qui est lui-même un fork de [ulinja/udib](https://github.com/ulinja/udib). -## Guide de démarrage rapide - -### Télécharger Debian - -Pour télécharger la dernière ISO Debian x86-64 netinstall : - -**Version stable :** -```bash -python3 udib.py get iso -``` - -**Version testing :** -```bash -python3 udib.py get iso-testing -``` - -Ces commandes téléchargent automatiquement l'ISO et vérifient son intégrité avec les signatures GPG. - -### Créer un ISO personnalisé - -Ce guide court explique comment construire un ISO Debian avec une installation personnalisée et automatisée : - -1. assurez-vous d'avoir tous les [logiciels requis](#dépendances) installés -2. clonez ce dépôt et `cd` dans votre copie locale -3. (optionnel) créez et activez un environnement virtuel : `python3 -m venv .venv && . .venv/bin/activate` -4. installez les packages python requis : `pip install -r requirements.txt` -5. téléchargez l'ISO Debian : `python3 udib.py get iso` -6. créez les ISOs personnalisés : `./udib.py inject -i debian-12.x.x-amd64-netinst.iso` -7. démarrez à partir de l'ISO `-modified.iso` sur votre machine cible (ou dans une VM) - -Selon le nombre de réponses que vous avez fournies dans le fichier de préconfiguration, l'installation peut nécessiter une certaine interaction manuelle. -Les fichiers de préconfiguration sont très puissants, et si vous avez besoin de plus de personnalisation, vous pouvez regarder plus en détail [comment ils fonctionnent](#quest-ce-que-la-préconfiguration). -Vous pouvez également utiliser UDIB pour obtenir le fichier d'exemple de préconfiguration complet : `./udib.py get preseed-file-full` et l'utiliser comme point de départ. -Assurez-vous de jeter un œil à la [référence d'utilisation](#guide-dutilisation-détaillé) pour un regard plus approfondi sur UDIB lui-même. - ## Qu'est-ce que la préconfiguration ? Un fichier de préconfiguration est un fichier texte qui fournit à l'installateur Debian des réponses préalablement définies (préconfigurées) pendant le processus d'installation. @@ -56,6 +21,16 @@ Le but principal d'UDIB est l'injection de fichiers dans les ISOs d'installation En résumé, il fait cela en extrayant l'ISO, en ajoutant les fichiers à l'initrd de l'ISO, et en repackageant l'ISO à nouveau. Vous pourriez faire tout cela manuellement bien sûr en suivant les guides [basique](https://wiki.debian.org/DebianInstaller/Preseed/EditIso#Adding_a_Preseed_File_to_the_Initrd) et [avancé](https://wiki.debian.org/RepackBootableISO) pour le repackaging d'ISO sur le wiki Debian, mais UDIB fait tout cela pour vous. +## Prérequis + +Avant d'utiliser UDIB pour créer des ISOs personnalisés : + +1. Assurez-vous d'avoir tous les [logiciels requis](#dépendances) installés +2. Clonez ce dépôt et `cd` dans votre copie locale +3. (optionnel) Créez et activez un environnement virtuel : `python3 -m venv .venv && . .venv/bin/activate` +4. Installez les packages python requis : `pip install -r requirements.txt` +5. Téléchargez l'ISO Debian : `python3 udib.py get iso` + # Dépendances L'utilisation d'UDIB pour créer des ISOs nécessite les logiciels suivants : @@ -75,6 +50,71 @@ L'utilisation d'UDIB pour créer des ISOs nécessite les logiciels suivants : Un accès Internet est (évidemment) requis si vous voulez récupérer des fichiers en utilisant UDIB. +## Usage + +### Télécharger Debian + +Pour télécharger la dernière ISO Debian x86-64 netinstall : + +**Version stable :** +```bash +python3 udib.py get iso +``` + +**Version testing :** +```bash +python3 udib.py get iso-testing +``` + +### Exemples avancés de téléchargement + +Télécharger dans un répertoire spécifique : +```bash +python3 udib.py --output-dir /tmp get iso +``` + +Télécharger avec un nom personnalisé : +```bash +python3 udib.py --output-file debian-stable-custom.iso get iso +``` + +Télécharger le fichier de préconfiguration basique : +```bash +python3 udib.py get preseed-file-basic +``` + +Télécharger le fichier de préconfiguration complet : +```bash +python3 udib.py get preseed-file-full +``` + +Ces commandes téléchargent automatiquement l'ISO et vérifient son intégrité avec les signatures GPG. + +### Créer un ISO personnalisé + +**Préparer les fichiers à injecter :** + +Le dossier `files_to_inject/` doit contenir tous les fichiers que vous souhaitez injecter dans l'ISO : +- `boot/grub/grub.cfg` : Configuration GRUB personnalisée +- `boot/grub/theme/` : Thème GRUB personnalisé +- `isolinux/menu.cfg` : Configuration du menu isolinux +- `isolinux/splash.png` : Image de fond du menu isolinux +- `logo.png` : Logo personnalisé affiché pendant l'installation +- `preseeds/default.preseed` : Fichier de préconfiguration pour l'installation automatisée + +**Injection de fichiers :** +```bash +python3 udib.py --output-file skylanix.iso inject --image-file debian-12.x.x-amd64-netinst.iso +``` + +**Utilisation :** +Démarrez à partir de l'ISO `-modified.iso` sur votre machine cible (ou dans une VM) + +Selon le nombre de réponses que vous avez fournies dans le fichier de préconfiguration, l'installation peut nécessiter une certaine interaction manuelle. +Les fichiers de préconfiguration sont très puissants, et si vous avez besoin de plus de personnalisation, vous pouvez regarder plus en détail [comment ils fonctionnent](#quest-ce-que-la-préconfiguration). +Vous pouvez également utiliser UDIB pour obtenir le fichier d'exemple de préconfiguration complet : `./udib.py get preseed-file-full` et l'utiliser comme point de départ. +Assurez-vous de jeter un œil à la [référence d'utilisation](#guide-dutilisation-détaillé) pour un regard plus approfondi sur UDIB lui-même. + # Guide d'utilisation détaillé Vous pouvez voir l'aide en ligne de commande en utilisant `./udib.py --help` pour les options générales et `./udib.py COMMAND --help` pour l'aide avec une sous-commande spécifique. @@ -82,7 +122,9 @@ Vous pouvez voir l'aide en ligne de commande en utilisant `./udib.py --help` pou Le nom et la destination des fichiers produits par `udib.py` peuvent être spécifiés avec l'option `--output-file`. Alternativement, vous pouvez utiliser l'option `--output-dir` pour spécifier le répertoire où les fichiers produits seront sauvegardés, sans avoir à les nommer explicitement (les noms par défaut seront utilisés). -## Récupération d'exemples de fichiers de préconfiguration ou d'ISOs vanille +## Commandes avancées + +### Récupération d'exemples de fichiers de préconfiguration ou d'ISOs vanille Comme point de départ pour créer votre propre ISO préconfiguré, vous pouvez récupérer un des fichiers d'exemple de préconfiguration de Debian ou un ISO Debian non modifié en utilisant UDIB : @@ -97,16 +139,3 @@ udib.py [--output-file FILE | --output-dir DIR] get WHAT - `iso` pour télécharger le dernier ISO netinst Debian stable x86-64 non modifié - `iso-testing` pour télécharger le dernier ISO netinst Debian testing x86-64 non modifié -## Injection de fichiers dans un ISO - -Pour injecter des fichiers existants dans un ISO, vous pouvez exécuter la commande suivante : - -```bash -python udib.py --output-file skylanix.iso inject --image-file debian-12.11.0-amd64-netinst.iso -``` - -Le script injecte automatiquement tous les fichiers présents dans le dossier `files_to_inject/` : -- Configuration GRUB personnalisée (`boot/grub/grub.cfg` et thème) -- Configuration isolinux (`isolinux/menu.cfg` et `splash.png`) -- Logo personnalisé (`logo.png`) -- Fichier de préconfiguration (`preseeds/default.preseed`)