logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:install:live-build [20/05/2023 19:57]
arpinux refonte
doc:install:live-build [20/09/2024 10:33] (Version actuelle)
arpinux [Debian live avec live-build]
Ligne 1: Ligne 1:
-===== Debian live  avec live-build =====+====== Debian live  avec live-build ​======
  
   * Objet : création de votre distribution personnelle basée sur Debian.   * Objet : création de votre distribution personnelle basée sur Debian.
Ligne 6: Ligne 6:
   * Suivi :    * Suivi : 
     * Création par [[user> deuchdeb]] le 30/08/2011     * Création par [[user> deuchdeb]] le 30/08/2011
-    * Mise à jour par [[user>​arpinux]] le 20/05/2023+    * Mise à jour par [[user>​arpinux]] le 20/09/2024
     * Vérifié le ...     * Vérifié le ...
     * Testé par ....      * Testé par .... 
Ligne 31: Ligne 31:
 ===== Principe de construction du Live ===== ===== Principe de construction du Live =====
  
-Pour construire un Live, placez-vous dans votre répertoire de travail ($HOME/​ma_debian_perso par exemple). Vous pouvez alors lancez ​les commandes ''​lb config''​ les unes après les autres afin de configurer le Live ou utiliser un **script de configuration** (à créer dans $HOME/​ma_debian_perso/​auto/​config) qui rassemble toutes les options. Un exemple complet de script est fournit plus bas.\\+Pour construire un Live, placez-vous dans votre répertoire de travail ($HOME/​ma_debian_perso par exemple). Vous pouvez alors lancer ​les commandes ''​lb config''​ les unes après les autres afin de configurer le Live ou utiliser un **script de configuration** (à créer dans $HOME/​ma_debian_perso/​auto/​config) qui rassemble toutes les options. Un exemple complet de script est fournit plus bas.\\
 Une fois votre Live configuré, lancez la commande ''​lb build''​ en root. Cette commande va générer un fichier ISO ou IMG transférable sur CD/DVD/USB pour une utilisation en Live. Une fois votre Live configuré, lancez la commande ''​lb build''​ en root. Cette commande va générer un fichier ISO ou IMG transférable sur CD/DVD/USB pour une utilisation en Live.
  
 +==== Rappel : procédure de transfert de l'ISO sur USB ====
 +
 +Le transfert se fera via le Terminal, c’est la méthode recommandée. Toutefois, une [[doc:​environnements:​gnome:​gnome-disk-utility#​graver-une-iso-sur-cle-usb|méthode graphique]] est disponible sur ce wiki. Vous pouvez aussi utiliser l'​application multi-plateforme [[https://​etcher.balena.io/​|Etcher]].
 +
 +Pour commencer, branchez votre clé USB, puis lancez un terminal en mode administrateur “root”. Nous allons identifier la clé USB à utiliser grâce à la commande ''​blkid''​ qui vous donnera un résultat du type :
 +
 +<code root>​blkid
 +/dev/sda1: LABEL="​system"​ UUID="​3d378712-1b6e-4f66-b9e8-2a6673c62199"​ TYPE="​ext4" ​
 +/dev/sda5: UUID="​65bdec62-8d0e-49ca-b70b-c99340e4ee5e"​ TYPE="​swap"​
 +/dev/sdb1: UUID="​F9B8-E691"​ TYPE="​vfat"</​code>​
 +
 +Ici, notre clé est identifiée comme UUID=“F9B8-E691”,​ est formatée en “vfat” et contient la partition sdb1. Notez bien ce sdb1 pour ne pas, par erreur, effacer une partition de votre disque dur interne (ici sda1).
 +
 +Placez-vous dans le dossier contenant votre ISO (à adapter à votre configuration) :
 +<code user>cd $HOME/​ma_debian_perso/</​code>​
 +
 +Transférer le contenu de l’ISO sur la clé USB grâce à la commande “dd”. Prenez bien soin de nommer la clé USB “sdb” et pas sdb1, car c’est le disque qui compte, pas la partition et changez “ma_debian.iso” par le nom de votre Live :
 +
 +<code root>dd if=ma_debian.iso of=/dev/sdb bs=4M status=progress;​ sync</​code>​
 +
 +Le temps de transfert sur votre clé USB dépend de la taille de l’ISO et du taux de transfert de votre port USB. Cette opération peut durer 10 à 15 minutes (la progression de la copie s’affiche dans le terminal). Le terminal vous “rendra la main” une fois le transfert terminé.
 ===== Présentation des principales options de configuration ===== ===== Présentation des principales options de configuration =====
  
Ligne 41: Ligne 62:
   * Construire un Live en amd64 (par défaut, live-build construira un Live sous l'​architecture du système hôte) :   * Construire un Live en amd64 (par défaut, live-build construira un Live sous l'​architecture du système hôte) :
 <code user>lb config --architecture amd64</​code>​ <code user>lb config --architecture amd64</​code>​
-  * Construire un live basé sur Debian ​Bullseye ​+  * Construire un live basé sur Debian ​Bookworm ​
-<code user>lb config --distribution "bullseye"</​code>​ +<code user>lb config --distribution "bookworm"</​code>​ 
-  * Intégrer les dépôts mentionnés ​(à partir de Debian 12 Bookworm, ajoutez "​non-free-firmware"​ pour utiliser les micrologiciels non libres) ​+  * Intégrer les dépôts mentionnés : 
-<code user>lb config --archive-areas "main contrib non-free"</​code>​+<code user>lb config --archive-areas "main contrib non-free ​non-free-firmware"</​code>​
   * Construire un Live au format polyvalent utilisable sur DVD ou USB (pour une liste des formats, ''​man lb config''​) :   * Construire un Live au format polyvalent utilisable sur DVD ou USB (pour une liste des formats, ''​man lb config''​) :
 <code user>lb config --binary-images "​iso-hybrid"</​code>​ <code user>lb config --binary-images "​iso-hybrid"</​code>​
Ligne 56: Ligne 77:
 ===== Exemple de construction d'un Live Debian personnalisé ===== ===== Exemple de construction d'un Live Debian personnalisé =====
  
-Pour illustrer ce wiki, nous allons construire un live Debian personnalisé utilisant XFCE comme environnement,​ accompagné d'une série d'​applications choisies pour une utilisation basique. Cet exemple se base sur la construction de [[https://​debian-facile.org/​projets:​iso-debian-facile|Dfiso]] dont les sources sont [[https://​debian-facile.org/git/ProjetsDF/dfiso-bullseye|disponibles sur GIT]].+Pour illustrer ce wiki, nous allons construire un live Debian personnalisé utilisant XFCE comme environnement,​ accompagné d'une série d'​applications choisies pour une utilisation basique. Cet exemple se base sur la construction de [[https://​debian-facile.org/​projets:​iso-debian-facile|Dfiso]] dont les sources sont [[https://salsa.debian.org/debian-facile-team/projetsdf/dfiso-bookworm|disponibles sur GIT]].
  
 ==== Mise en place de l'​environnement de travail ==== ==== Mise en place de l'​environnement de travail ====
Ligne 86: Ligne 107:
     --mode "​debian"​ \     --mode "​debian"​ \
     --system "​live"​ \     --system "​live"​ \
-    --distribution "bullseye" \+    --distribution "bookworm" \
     --architecture "​amd64"​ \     --architecture "​amd64"​ \
-    --archive-areas "main contrib non-free"​ \+    --archive-areas "main contrib non-free ​non-free-firmware" \
     --security "​true"​ \     --security "​true"​ \
     --updates "​true"​ \     --updates "​true"​ \
Ligne 100: Ligne 121:
     --linux-package "​linux-image linux-headers"​ \     --linux-package "​linux-image linux-headers"​ \
     --debian-installer "​live"​ \     --debian-installer "​live"​ \
-    --debian-installer-distribution "bullseye" \+    --debian-installer-distribution "bookworm" \
     --debian-installer-gui "​true"​ \     --debian-installer-gui "​true"​ \
     --firmware-binary "​true"​ \     --firmware-binary "​true"​ \
Ligne 118: Ligne 139:
  
   * ''​%%--%%system "​live"''​ : pour indiquer que le système généré sera utilisable en session "​live"​   * ''​%%--%%system "​live"''​ : pour indiquer que le système généré sera utilisable en session "​live"​
-  * ''​%%--%%distribution "bullseye"''​ : pour indiquer la distribution sur laquelle se base le Live+  * ''​%%--%%distribution "bookworm"''​ : pour indiquer la distribution sur laquelle se base le Live
   * ''​%%--%%architecture "​amd64"''​ : pour indiquer l'​architecture du futur Live   * ''​%%--%%architecture "​amd64"''​ : pour indiquer l'​architecture du futur Live
-  * ''​%%--%%archive-areas "main contrib non-free"''​ : pour indiquer les dépôts actifs lors de la construction+  * ''​%%--%%archive-areas "main contrib non-free ​non-free-firmware"''​ : pour indiquer les dépôts actifs lors de la construction
   * ''​%%--%%security "​true"''​ : pour indiquer l'​utilisation des dépôts "​security"​   * ''​%%--%%security "​true"''​ : pour indiquer l'​utilisation des dépôts "​security"​
   * ''​%%--%%updates "​true"''​ : pour intégrer les dépôts "​updates"​ dans les sources du live   * ''​%%--%%updates "​true"''​ : pour intégrer les dépôts "​updates"​ dans les sources du live
Ligne 132: Ligne 153:
   * ''​%%--%%linux-package "​linux-image linux-headers"''​ : pour identifier le noyau utilisé et si les "​headers"​ du noyau doivent être intégrés   * ''​%%--%%linux-package "​linux-image linux-headers"''​ : pour identifier le noyau utilisé et si les "​headers"​ du noyau doivent être intégrés
   * ''​%%--%%debian-installer "​live"''​ : pour installer le système préconfiguré lors de l'​installation   * ''​%%--%%debian-installer "​live"''​ : pour installer le système préconfiguré lors de l'​installation
-  * ''​%%--%%debian-installer-distribution "bullseye"''​ : pour indiquer la distribution de l'​installeur+  * ''​%%--%%debian-installer-distribution "bookworm"''​ : pour indiquer la distribution de l'​installeur
   * ''​%%--%%debian-installer-gui "​true"''​ : pour indiquer l'​utilisation d'un installeur graphique   * ''​%%--%%debian-installer-gui "​true"''​ : pour indiquer l'​utilisation d'un installeur graphique
   * ''​%%--%%firmware-binary "​true"''​ : pour ajouter les micrologiciels dans le Live   * ''​%%--%%firmware-binary "​true"''​ : pour ajouter les micrologiciels dans le Live
Ligne 290: Ligne 311:
  
 ==== Finalisation de l'​image ISO ==== ==== Finalisation de l'​image ISO ====
-FIXME --- je reviens ​de suite ... wip :-D+ 
 +Vous avez un Live exploitable et personnalisé,​ il reste à peaufiner l'​environnement de démarrage et l'​installeur. Ça se passe dans le dossier ''​config/​includes.binary/''​. Dans notre exemple (rappel: l'​exemple de ce wiki utilise [[https://​salsa.debian.org/​debian-facile-team/​projetsdf/​dfiso-bookworm/​-/​tree/​main/​config/​includes.binary|les fichiers ​de DFiso]]), le Live généré sera en français, utilise un clavier "​fr"​ et fixe le nom de l'​utilisateur (humain) et le nom d'​hôte (DFiso) : à adapter à votre configuration. 
 + 
 +=== Configuration du menu de lancement BIOS === 
 + 
 +Le fond d'​écran et le texte qui s'​affichent au lancement du Live en version BIOS se configurent dans le dossier ''​config/​includes.binary/​isolinux''​. 
 +<code user>cd ~/​ma_debian_perso/​config/​includes.binary/​isolinux 
 +ls 
 +install.cfg ​ live.cfg ​ menu.cfg ​ splash.png ​ stdmenu.cfg</​code>​ 
 +Le fond d'​écran se nomme ''​splash.png''​ et doit faire 640x480 px en PNG. Pour les fichiers texte, voici ceux de DFiso : 
 + 
 +  * config/​includes.binary/​isolinux/​menu.cfg : titre du menu de démarrage et liste des fichiers appelés 
 +<file config menu.cfg>​ 
 +menu hshift 0 
 +menu width 82 
 +          
 +menu title Debian 11 par debian-facile : testez ou installez ... 
 +include stdmenu.cfg 
 +include live.cfg 
 +include install.cfg 
 +menu clear 
 +</​file>​ 
 + 
 +  * config/​includes.binary/​isolinux/​stdmenu.cfg : configuration graphique du menu et label de fin 
 +<file config stdmenu.cfg>​ 
 +menu background splash.png 
 +menu color title    * #FFFFFFFF * 
 +menu color border ​  * #00000000 #00000000 none 
 +menu color sel      * #ffffffff #5258b88b8 * 
 +menu color hotsel ​  ​1;​7;​37;​40 #ffffffff #5258b88b8 * 
 +menu color tabmsg ​  * #c1ccdcc1c #00000000 * 
 +menu color help     37;40 #ffdddd00 #00000000 none 
 +menu vshift 12 
 +menu rows 10 
 +menu helpmsgrow 15 
 +# The command line must be at least one line from the bottom. 
 +menu cmdlinerow 16 
 +menu timeoutrow 16 
 +menu tabmsgrow 18 
 +menu tabmsg ENTER pour lancer -- TAB pour editer 
 +</​file>​ 
 + 
 +  * config/​includes.binary/​isolinux/​live.cfg : les entrées de lancement de la session live 
 +<file config live.cfg>​ 
 +label live 
 +    menu label Tester Debian 11 
 +    menu default 
 +    linux /​live/​vmlinuz 
 +    initrd /​live/​initrd.img 
 +    append boot=live components quiet splash acpi_osi=Linux username=humain hostname=DFiso locales=fr_FR.UTF-8 keyboard-layouts=fr timezone=Europe/​Paris 
 + 
 +label live-failsafe 
 +    menu label Tester Debian 11 (mode sans echec) 
 +    linux /​live/​vmlinuz 
 +    initrd /​live/​initrd.img 
 +    append boot=live components noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal username=humain hostname=DFiso locales=fr_FR.UTF-8 keyboard-layouts=fr timezone=Europe/​Paris 
 +</​file>​ 
 + 
 +  * config/​includes.binary/​isolinux/​install.cfg : les entrées d'​installation du Live 
 +<file config install.cfg>​ 
 +label classic 
 +    menu label Installation classique 
 +    linux /​install/​gtk/​vmlinuz 
 +    initrd /​install/​gtk/​initrd.gz 
 +    append video=vesa:​ywrap,​mtrr vga=788 locale=fr_FR.UTF-8 keyboard-configuration/​layoutcode=fr keyboard-configuration/​variantcode=latin9 keyboard-layout=fr file=/​cdrom/​install/​df-preseed.cfg -- quiet 
 + 
 +label expert 
 +    menu label Installation en mode expert 
 +    linux /​install/​vmlinuz 
 +    initrd /​install/​initrd.gz 
 +    append vga=788 priority=low 
 +</​file>​ 
 +Notez que ce dernier fichier appelle le ''​df-preseed.cfg''​ décrit dans la section "​[[doc:​install:​live-build#​pre-configuration-de-l-installeur|Pré-configuration de l'​installeur]]"​. 
 + 
 +=== Configuration du menu de lancement UEFI === 
 + 
 +Le fond d'​écran et le texte qui s'​affichent au lancement du Live en version UEFI se configurent dans le dossier ''​config/​includes.binary/​boot/​grub/''​. 
 +<code user>cd ~/​ma_debian_perso/​config/​includes.binary/​boot/​grub 
 +ls 
 +grub.cfg ​ live-theme ​ splash.png 
 +cd live-theme && ls 
 +theme.txt</​code>​ 
 +Le fond d'​écran se nomme ''​splash.png''​ et doit faire 1024x768 px en PNG. Pour les fichiers texte, voici ceux de DFiso : 
 + 
 +  * config/​includes.binary/​boot/​grub/​grub.cfg : configuration des entrées du menu de GRUB 
 +<file config grub.cfg>​ 
 +set default=0 
 + 
 +loadfont $prefix/​dejavu-bold-16.pf2 
 +loadfont $prefix/​dejavu-bold-14.pf2 
 +loadfont $prefix/​unicode.pf2 
 +set gfxmode=auto 
 +insmod all_video 
 +insmod gfxterm 
 +insmod png 
 + 
 +set theme=/​boot/​grub/​live-theme/​theme.txt 
 +set menu_color_normal=cyan/​blue 
 +set menu_color_highlight=white/​blue 
 + 
 +terminal_output gfxterm 
 + 
 +insmod play 
 +play 960 440 1 0 4 440 1 
 + 
 +# Live boot 
 +menuentry "​Tester Debian 11" { 
 +    linux   /​live/​vmlinuz boot=live components quiet splash acpi_osi=Linux username=humain hostname=DFiso locales=fr_FR.UTF-8 keyboard-layouts=fr timezone=Europe/​Paris 
 +    initrd ​ /​live/​initrd.img 
 +
 +menuentry "​Tester Debian 11 (mode sans échec)"​ { 
 +    linux   /​live/​vmlinuz boot=live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal username=humain hostname=DFiso locales=fr_FR.UTF-8 keyboard-layouts=fr timezone=Europe/​Paris 
 +    initrd ​ /​live/​initrd.img 
 +
 + 
 +menuentry "​Installation classique"​ { 
 +    linux   /​install/​gtk/​vmlinuz video=vesa:​ywrap,​mtrr vga=788 quiet locale=fr_FR.UTF-8 keyboard-configuration/​layoutcode=fr keyboard-configuration/​variantcode=latin9 keyboard-layouts=fr file=/​cdrom/​install/​df-preseed.cfg 
 +    initrd ​ /​install/​gtk/​initrd.gz 
 +
 + 
 +menuentry "​Installation en mode expert"​ { 
 +    linux   /​install/​vmlinuz priority=low vga=normal 
 +    initrd ​ /​install/​initrd.gz 
 +
 +</​file>​ 
 +Notez que ce fichier appelle le ''​df-preseed.cfg''​ décrit dans la section "​[[doc:​install:​live-build#​pre-configuration-de-l-installeur|Pré-configuration de l'​installeur]]"​. 
 + 
 +  * config/​includes.binary/​boot/​grub/​live-theme/​theme.txt : configuration graphique du menu GRUB 
 +<file config theme.txt>​ 
 +desktop-image:​ "/​boot/​grub/​splash.png"​ 
 +title-color:​ "#​ffffff"​ 
 +title-font: "​DejaVu Sans Bold 16" 
 +title-text: "​Debian 11 par Debian-Facile : testez ou installez ..." 
 +message-font:​ "​Unifont Regular 16" 
 +terminal-font:​ "​Unifont Regular 16" 
 + 
 +#help bar at the bottom 
 ++ label { 
 +    top = 100%-50 
 +    left = 0 
 +    width = 100% 
 +    height = 20 
 +    text = "​@KEYMAP_SHORT@"​ 
 +    align = "​center"​ 
 +    color = "#​ffffff"​ 
 +    font = "​DejaVu Sans Bold 14" 
 +
 + 
 +#boot menu 
 ++ boot_menu { 
 +    left = 10% 
 +    width = 80% 
 +    top = 52% 
 +    height = 48%-80 
 +    item_color = "#​a8a8a8"​ 
 +    item_font = "​DejaVu Sans Bold 14" 
 +    selected_item_color= "#​ffffff"​ 
 +    selected_item_font = "​DejaVu Sans Bold 16" 
 +    item_height = 18 
 +    item_padding = 0 
 +    item_spacing = 4 
 +
 + 
 +#progress bar 
 ++ progress_bar { 
 +    id = "​__timeout__"​ 
 +    left = 15% 
 +    top = 100%-80 
 +    height = 16 
 +    width = 70% 
 +    font = "​DejaVu Sans Regular 14" 
 +    text_color = "#​000000"​ 
 +    fg_color = "#​ffffff"​ 
 +    bg_color = "#​a8a8a8"​ 
 +    border_color = "#​ffffff"​ 
 +    text = "​@TIMEOUT_NOTIFICATION_LONG@"​ 
 +
 +</​file>​ 
 + 
 +=== Pré-configuration de l'​installeur === 
 + 
 +Le fichier ''​preseed.cfg''​ va vous permettre de supplanter les étapes de l'​installeur Debian et ainsi accélérer le processus ou définir vos préférences. Ce fichier de configuration se situe par défaut dans ''​config/​includes.binary/​install/​preseed.cfg''​.\\ 
 +Pour l'​exemple,​ voici celui de DFiso : 
 + 
 +<file config preseed.cfg>​ 
 +# uniquement les questions importantes 
 +d-i debconf/​priority string critical 
 + 
 +# Nom de la machin par défaut 
 +d-i netcfg/​hostname string debian 
 + 
 +# Ne pas créer de compte root (l'​utilisateur ordinaire utilisera sudo). 
 +d-i passwd/​root-login boolean false 
 + 
 +# Le compte sera ajouté à certains groupes. 
 +d-i passwd/​user-default-groups string audio cdrom video sudo netdev plugdev fuse users lp lpadmin scanner floppy dip bluetooth 
 + 
 +# fixer le '​hostname'​ 
 +d-i netcfg/​get_hostname string debian 
 +d-i netcfg/​get_hostname seen false 
 + 
 +# tout dans une seule partition (atomic, home, multi) 
 +d-i partman-auto/​choose_recipe select atomic 
 + 
 +# installation automatique de GRUB s'il n'ya qu'un seul OS installé sur la machine. 
 +d-i grub-installer/​only_debian boolean true 
 + 
 +# Réseau désactivé 
 +d-i netcfg/​enable boolean false 
 +d-i apt-setup/​use_mirror boolean false 
 +</​file>​ 
 + 
 +Vous trouverez aisément des exemples de fichiers preseed sur la toile. 
 + 
 +Et voilà, on a fait le tour des modifications simples de votre Live. Il ne vous reste plus qu'à retourner dans votre dossier de build, revérifier vos dernières modifications puis lancer la formule magique : 
 + 
 +<code root>lb clean && lb build</​code>​ 
 + 
 +et hop... vous avez votre dérivée Debian personnalisée prête à être distribuée. Quelques mots à ce sujet dans le chapitre qui suit...
  
 ==== Distribuer votre Live : ligne de conduite pour les dérivées Debian ==== ==== Distribuer votre Live : ligne de conduite pour les dérivées Debian ====
Ligne 301: Ligne 540:
 Si vous voulez diffuser votre live, ce que vous y ajoutez est de votre responsabilité,​ donc respectez les licences, créditez les auteurs, placez des liens dans un README... bref soyez responsables de ce que vous diffusez : les débutants ou les curieux de Debian méritent de recevoir un truc propre ;) Si vous voulez diffuser votre live, ce que vous y ajoutez est de votre responsabilité,​ donc respectez les licences, créditez les auteurs, placez des liens dans un README... bref soyez responsables de ce que vous diffusez : les débutants ou les curieux de Debian méritent de recevoir un truc propre ;)
  
 +===== Conclusion =====
 +
 +Log log log ... c'est le maître-mot de ce processus de construction. Pourquoi ? Parce que vous aurez de la chance si tout se passe exactement comme vous le souhaitez du premier coup ! Lisez les logs ''​ma_debian_perso/​build.log''​.
 + 
 ===== Liens ===== ===== Liens =====
-FIXME --- je reviens de suite ... wip :-D+ 
 +  * [[https://​live-team.pages.debian.net/​live-manual/​html/​live-manual/​index.fr.html|le manuel officiel de la team debian-live]] 
 +  * [[doc:install:​deblive-usb-persistant|un exemple pour construire un live USB persistant]]
doc/install/live-build.1684605422.txt.gz · Dernière modification: 20/05/2023 19:57 par arpinux

Pied de page des forums

Propulsé par FluxBB