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
Prochaine révision Les deux révisions suivantes
utilisateurs:abdelqahar:tutos:live-build [26/05/2016 17:05]
AbdelQahar [Live Build : création d'une image iso live personalisée]
utilisateurs:abdelqahar:tutos:live-build [27/05/2016 22:55]
AbdelQahar [Réclamations]
Ligne 1: Ligne 1:
-====== Live Build : création d'une image iso live personalisée ​======+====== Live Build : création d'une image iso live personnalisée ​======
  
   * Objet : Apprendre à utiliser ''​live-build''​ afin de se faire une iso live aux petits oignons (sous Jessie).   * Objet : Apprendre à utiliser ''​live-build''​ afin de se faire une iso live aux petits oignons (sous Jessie).
-  * Niveau requis : {{tag>débutant}}+  * Niveau requis : {{tag>avisé}}
   * Suivi : {{tag>​à_corriger à_placer}}   * Suivi : {{tag>​à_corriger à_placer}}
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]]   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]]
Ligne 8: Ligne 8:
  
 ===== Introduction ===== ===== Introduction =====
 +
 ''​live-build''​ est un ensemble de scripts qui permet de créer une image iso live personnalisée de Debian. Il n'est pas forcément évident de prendre cet outil en main, d'où le présent tuto ! \\ \\ ''​live-build''​ est un ensemble de scripts qui permet de créer une image iso live personnalisée de Debian. Il n'est pas forcément évident de prendre cet outil en main, d'où le présent tuto ! \\ \\
 Les avantages : Les avantages :
Ligne 18: Ligne 19:
  
 ===== Installation et documentation ===== ===== Installation et documentation =====
 +
 On installe le jouet et sa doc (tant qu'à faire) : On installe le jouet et sa doc (tant qu'à faire) :
 <code root>​apt-get install live-manual live-build</​code>​ <code root>​apt-get install live-manual live-build</​code>​
Ligne 26: Ligne 28:
   * epub   * epub
   * txt   * txt
-<note tip>​Faites en sorte de l'​avoir toujours sous la main, c'est une vrai mine d'or ! Faites un ou plusieurs raccourcis sur votre bureau par exemple.</​note>​+<note tip>​Faites en sorte de l'​avoir toujours sous la main en créant un ou plusieurs raccourcis sur votre bureau par exemple, c'est une vrai mine d'or !</​note>​
  
 Bon, allez, au boulot ! Bon, allez, au boulot !
 +
 ===== Exemple représentatif ===== ===== Exemple représentatif =====
-Le but à atteindre : obtenir un image iso légère pour faire de la navigation internet, avec //votre// profil firefox \\+ 
 +Le but à atteindre : obtenir un image iso légère pour faire de la navigation internet, avec //votre// profil ​iceweasel/firefox \\ 
 ==== 1. Copie des exemples des 3 scripts principaux ==== ==== 1. Copie des exemples des 3 scripts principaux ====
 +
 ''​live-build''​ fournit essentiellement 3 commandes principales : ''​live-build''​ fournit essentiellement 3 commandes principales :
-  - ''​lb config''​ qui permet de définir les options de configuration globales de l'iso live que vous voulez créer +  - ''​lb config''​ qui permet de définir les options de configuration globales de l'iso live que vous voulez créer. 
-  - ''​lb build''​ qui se charge des différentes étapes de construction de la dite iso+  - ''​lb build''​ qui se charge des différentes étapes de construction de ladite ​iso.
   - ''​lb clean''​ qui nettoie le tout avant de passer à une nouvelle iso.   - ''​lb clean''​ qui nettoie le tout avant de passer à une nouvelle iso.
-\\ + 
-Pour simplifier les choses les mainteneurs du paquet nous fournisse ​des exemple ​tous prêts que l'on a plus qu'à copier et éditer en fonction de nos convenances. ​\\ +Pour simplifier les choses les mainteneurs du paquet nous fournissent ​des exemple ​tout prêts que l'​on ​n'a plus qu'à copier et éditer en fonction de nos convenances. 
-On commence d'​abord par créer un répertoire de travail, et un premier répertoire de test : + 
-<code user>cd ~ +On commence d'​abord par [[doc:​systeme:​mkdir|créer un répertoire]] de travail ​dans lequel nous créons ​un premier répertoire de test où nous nous plaçons avec [[doc:​programmation:​shell:​cd|la commande cd]] 
-mkdir Live_Build_Work +<code user>cd ~</​code>​ 
-cd Live_Build_Work +<code user>mkdir Live_Build_Work</​code>​ 
-mkdir test_1 +<code user>cd Live_Build_Work</​code>​ 
-cd test_1</​code>​+<code user>mkdir test_1</​code>​ 
 +<code user>cd test_1</​code>​
 Maintenant qu'on est dedans on va copier les 3 scripts dans un répertoire ''​auto''​ : Maintenant qu'on est dedans on va copier les 3 scripts dans un répertoire ''​auto''​ :
-<code user>​mkdir auto +<code user>​mkdir auto</​code>​ 
-cp /​usr/​share/​doc/​live-build/​examples/​auto/​* auto/</​code>​+<code user>cp /​usr/​share/​doc/​live-build/​examples/​auto/​* auto/</​code>​ 
 ==== 2. Édition du script ''​config''​ ==== ==== 2. Édition du script ''​config''​ ====
-Maintenant, on va éditer ​le script ''​config''​ de la manière suivante :+ 
 +On édite maintenant ​le script ''​config''​ de la manière suivante :
 <code user>​editor auto/​config</​code>​ <code user>​editor auto/​config</​code>​
-<​note>''​editor''​ lance votre éditeur de texte en mode console par défaut. À priori, si vous ne l'avez jamais défini manuellement,​ il s'agit de ''​nano''​.\\+<​note>''​editor''​ lance votre éditeur de texte en mode console par défaut. À priori, si vous ne l'avez jamais défini manuellement,​ il s'agit de [[doc:​editeurs:​nano|nano]].\\
 Pour en définir un autre : Pour en définir un autre :
 <code user>​update-alternatives --config editor</​code></​note>​ <code user>​update-alternatives --config editor</​code></​note>​
-Vous pouvez bien sur mettre directement ''​nano''​ à la place de ''​editor'',​ ou bien un autre éditeur de texte que vous maîtrisez (''​vim''​, ''​emacs''​...).+Vous pouvez bien sur mettre directement ''​nano''​ à la place de ''​editor'',​ ou bien un autre éditeur de texte que vous maîtrisez ([[doc:​editeurs:​vim:vim|vim]], ''​emacs''​...). 
 <file bash config> <file bash config>
 #!/bin/sh #!/bin/sh
Ligne 61: Ligne 71:
      ​--linux-flavours "586 686-pae"​ \      ​--linux-flavours "586 686-pae"​ \
      ​--binary-image iso      ​--binary-image iso
-     ​--bootappend-live "​boot=live components autologin "+     ​--bootappend-live "​boot=live components autologin ​username=toto"
      "​${@}"​      "​${@}"​
 </​file>​ </​file>​
-Cela nous donnera ​un iso live "​passe-partout",​ car 32 bit avec deux noyaux : un 586 pour les processeurs 32 bit simple coeur, et un 686-pae pour les 32 bits double coeur qui fonctionnera également avec les processeurs 64 bits. + 
-<note important>​La langue du système sera l'​anglais,​ et le clavier sera en ''​QERWTY''​. Pour franciser tout ça, voir : [[utilisateurs:​abdelqahar:​tutos:​live-build-les-bases#​options-de-boot|Options de boot]]</​note>​+Cela nous donnera ​une iso live "​passe-partout",​ car en 32 bit avec deux noyaux : 
 +  - un 586 pour les processeurs 32 bit simple coeur, et 
 +  - un 686-pae pour les 32 bits double coeur qui fonctionnera également avec les processeurs 64 bits. 
 +Le nom de l'​utilisateur sera ''​toto''​ (vous pouvez éventuellement remplacer par autre chose si vous n'​aimez pas ce prénom). 
 + 
 +<note important>​La langue du système sera l'​anglais,​ et le clavier sera en ''​QWERTY''​. Pour franciser tout ça, voir : [[utilisateurs:​abdelqahar:​tutos:​live-build#​options-de-boot|Options de boot]]</​note>​ 
 ==== 3. Définition des paquets supplémentaires ==== ==== 3. Définition des paquets supplémentaires ====
-Afin d'​installer les paquets de votre choix dans votre iso live, c'est très simple : il suffit d'​éditer le fichier ''​config/​packages-list/​live.list.chroot''​.+ 
 +Afin d'​installer les paquets de votre choix dans votre iso live il suffit d'​éditer le fichier ''​config/​packages-list/​live.list.chroot'' ​ainsi :
 <code user>​editor config/​packages-list/​live.list.chroot</​code>​ <code user>​editor config/​packages-list/​live.list.chroot</​code>​
-Rajoutez simplement ​à la fin du fichier :+Et d'​ajouter ​à la fin du fichier : 
 <file bash live.list.chroot>​ <file bash live.list.chroot>​
 task-lxde-desktop task-lxde-desktop
 icewesael-l10n-fr icewesael-l10n-fr
 </​file>​ </​file>​
-<note tip>Vous pouvez les écrire les uns à la suite des autres, séparés par un espace ​plutôt qu'un par ligne\\  + 
-Et si vous avez l'​intention d'en mettre ​beaucoup, vous pouvez les répartir en plusieurs fichiers ayant comme extension : ''​.list.chroot''​.+<note tip>Vous pouvez ​aussi les écrire les uns à la suite des autres, séparés par un espace. 
 + 
 +Et si vous avez l'​intention d'en mettre ​plusieurs, vous pouvez les répartir en plusieurs fichiers ayant comme extension : ''​.list.chroot''​. 
 Par exemple : ''​bureautique.list.chroot'',​ ''​system.list.chroot''​...</​note>​ Par exemple : ''​bureautique.list.chroot'',​ ''​system.list.chroot''​...</​note>​
 +
 ==== 4. Ajout de fichiers de configuration pour l'​utilisateur live ==== ==== 4. Ajout de fichiers de configuration pour l'​utilisateur live ====
-Les fichiers de configuration d'un utilisateur sont les fichiers cachés (commençant par un point : ''​.''​) ou bien se trouvant dans un répertoire caché (même chose) ​contenu dans son répertoire personnel. Les fichiers de configurations de votre profile firefox se trouve ​dans le répertoire caché ''​.mozilla'' ​\\ + 
-Afin que l'​utilisateur live (notre cher ''​toto''​) en profite il va falloir créer un répertoire ''/​etc/​skel''​ à l'​intérieur du répertoire ''​config/​includes.chroot''​ et placer ​notre ''​.mozilla'' ​dedans+Les fichiers de configuration d'un utilisateur ​contenus dans son répertoire personnel ​sont les fichiers cachés (commençant par un point : ''​.''​) ou bien se trouvant dans un répertoire caché (même chose). ​\\ 
-<code user>​mkdir -p /​config/​includes.chroot/​etc/​skel +Les fichiers de configurations de votre profile ​iceweasel/firefox se trouvent donc dans le répertoire caché ''​.mozilla''​
-cp -r ~/.mozilla config/​includes.chroot/​etc/​skel/</​code>​+ 
 +Afin que l'​utilisateur live (notre cher ''​toto''​) en profite il va falloir créer un répertoire ''/​etc/​skel''​ à l'​intérieur du répertoire ''​config/​includes.chroot''​ et [[doc:​systeme:​cp|copier]] ​notre ''​.mozilla'' ​à l'​intérieur. 
 + 
 +<code user>​mkdir -p /​config/​includes.chroot/​etc/​skel</​code>​ 
 +et 
 +<code user>cp -r ~/.mozilla config/​includes.chroot/​etc/​skel/</​code>​ 
 <​note>​Il faut savoir deux choses pour comprendre cette manoeuvre : <​note>​Il faut savoir deux choses pour comprendre cette manoeuvre :
   - Tout fichier que vous placez dans le répertoire ''​config/​includes.chroot''​ se retrouvera à la racine du système de votre image iso. Vous pouvez donc mettre bien d'​autre choses, comme un fichier de configuration global contenu dans ''/​etc'',​ par exemple ''/​etc/​bash.bashrc''​. Il faudra alors faire comme suit :<code user>​mkdir config/​includes.chroot/​etc ​   - Tout fichier que vous placez dans le répertoire ''​config/​includes.chroot''​ se retrouvera à la racine du système de votre image iso. Vous pouvez donc mettre bien d'​autre choses, comme un fichier de configuration global contenu dans ''/​etc'',​ par exemple ''/​etc/​bash.bashrc''​. Il faudra alors faire comme suit :<code user>​mkdir config/​includes.chroot/​etc ​
 cp /​etc/​bash.bashrc /​config/​includes.chroot/​etc/</​code>​ cp /​etc/​bash.bashrc /​config/​includes.chroot/​etc/</​code>​
-  - Le répertoire ''/​etc/​skel''​ sert de "​squelette"​ pour la création de l'​utilisateur live. Tout ce qui se trouve dans ce répertoire se retrouvera dans son répertoire personnel. Il ne faut donc pas créer un répertoire ''/​home/​toto''​ pour mettre ​vos fichiers de configurations ​dedans ​mais appliquer la méthode décrite ci-dessous.+  - Le répertoire ''/​etc/​skel''​ sert de "​squelette"​ pour la création de l'​utilisateur live. Tout ce qui se trouve dans ce répertoire se retrouvera dans son répertoire personnel. Il ne faut donc pas créer un répertoire ''/​home/​toto''​ pour y placer ​vos fichiers de configurationsmais appliquer la méthode décrite ci-dessous.
 </​note>​ </​note>​
  
Ligne 131: Ligne 159:
  
 ==== Je trouve ça lourd de renommer à chaque fois l'iso quand c'est fini ==== ==== Je trouve ça lourd de renommer à chaque fois l'iso quand c'est fini ====
-Aucun problème : dans le fichier ''​config/​build'',​ remplacez ''​live-image''​ à la ligne 9 par : ''​ma-super-debian-que-j-ai-fais-moi-et-qui-dechire-tout'' ​(ou par autre chose...).+Aucun problème : dans le fichier ''​config/​build'',​ remplacez ''​live-image''​ à la ligne 9 par : ''​ma-super-debian-que-j-ai-fais-moi-et-qui-dechire-tout''​.
 ===== Plus de configurations ===== ===== Plus de configurations =====
 Maintenant qu'on a découvert ''​live-build'',​ on va voir quelques possibilités supplémentaires. Maintenant qu'on a découvert ''​live-build'',​ on va voir quelques possibilités supplémentaires.
Ligne 156: Ligne 184:
 Voici quelques options utiles que vous pouvez ajouter à la suite dans votre fichier ''​config''​ (tout sur une ligne) : Voici quelques options utiles que vous pouvez ajouter à la suite dans votre fichier ''​config''​ (tout sur une ligne) :
   * ''​lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe/​Paris utc=yes''​\\ Définit la langue du système, l'​agencement du clavier et le fuseau horaire.\\ \\    * ''​lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe/​Paris utc=yes''​\\ Définit la langue du système, l'​agencement du clavier et le fuseau horaire.\\ \\ 
-  * ''​username=toto ​hostname=ordi''​\\ ​Permets ​de définir le nom d'​utilisateur et d'​hôte.\\ \\ +  * ''​hostname=ordi''​\\ ​Permet ​de définir le nom d'​hôte ​(''​ordi''​ en l'​occurence).\\ \\ 
   * ''​toram''​\\ Charge la totalité du système dans la RAM. Cela permet de pouvoir faire fonctionner le système même si le support (CD, clé USB) est retiré. Pratique non ?\\ \\    * ''​toram''​\\ Charge la totalité du système dans la RAM. Cela permet de pouvoir faire fonctionner le système même si le support (CD, clé USB) est retiré. Pratique non ?\\ \\ 
   * ''​swap=true''​\\ Pour utiliser les partitions swap détectées.   * ''​swap=true''​\\ Pour utiliser les partitions swap détectées.
utilisateurs/abdelqahar/tutos/live-build.txt · Dernière modification: 17/03/2019 19:35 par AbdelQahar

Pied de page des forums

Propulsé par FluxBB