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
utilisateurs:abdelqahar:tutos:live-build [27/05/2016 22:54]
AbdelQahar [Exemple représentatif]
utilisateurs:abdelqahar:tutos:live-build [04/07/2016 12:56] (Version actuelle)
AbdelQahar [Plus de configurations]
Ligne 51: Ligne 51:
 <code user>​mkdir test_1</​code>​ <code user>​mkdir test_1</​code>​
 <code user>cd 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 dedanson va copier les 3 scripts dans un répertoire ''​auto''​ :
 <code user>​mkdir auto</​code>​ <code user>​mkdir auto</​code>​
 <code user>cp /​usr/​share/​doc/​live-build/​examples/​auto/​* auto/</​code>​ <code user>cp /​usr/​share/​doc/​live-build/​examples/​auto/​* auto/</​code>​
Ligne 68: Ligne 68:
  
 lb config noauto \ lb config noauto \
-     --architectures i386 \ +    ​--architectures i386 \ 
-     ​--linux-flavours "586 686-pae"​ \ +    --linux-flavours "586 686-pae"​ \ 
-     ​--binary-image ​iso +    --linux-packages "linux-image" \ 
-     ​--bootappend-live "​boot=live components autologin username=toto"​ +    ​--ignore-system-defaults \ 
-     ​"​${@}"​+    ​--bootappend-live "​boot=live components autologin username=toto"​ 
 +    "​${@}"​
 </​file>​ </​file>​
 +
 +<note important>​Pour une image 64 bit, supprimez la ligne ''​--linux-flavours''​ et remplacez ''​i386''​ par ''​amd64''​.</​note>​
  
 Cela nous donnera une iso live "​passe-partout",​ car en 32 bit avec deux noyaux : Cela nous donnera une iso live "​passe-partout",​ car en 32 bit avec deux noyaux :
Ligne 80: Ligne 83:
 Le nom de l'​utilisateur sera ''​toto''​ (vous pouvez éventuellement remplacer par autre chose si vous n'​aimez pas ce prénom). 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>​+<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#​les-options-de-boot|les options ​de boot]].</​note>​
  
 ==== 3. Définition des paquets supplémentaires ==== ==== 3. Définition des paquets supplémentaires ====
Ligne 89: Ligne 92:
  
 <file bash live.list.chroot>​ <file bash live.list.chroot>​
 +linux-image-586
 +linux-image-686-pae
 task-lxde-desktop task-lxde-desktop
 icewesael-l10n-fr icewesael-l10n-fr
 </​file>​ </​file>​
 +
 +<note warning>​Lorsque vous serez décidé à faire une iso 64 bit, veillez à remplacer ''​linux-image-586''​ et ''​linux-image-686-pae''​ par ''​linux-image-amd64''​.</​note>​
  
 <note tip>Vous pouvez aussi les écrire les uns à la suite des autres, séparés par un espace. <note tip>Vous pouvez aussi les écrire les uns à la suite des autres, séparés par un espace.
Ligne 109: Ligne 116:
 et et
 <code user>cp -r ~/.mozilla config/​includes.chroot/​etc/​skel/</​code>​ <code user>cp -r ~/.mozilla config/​includes.chroot/​etc/​skel/</​code>​
- 
-<​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 ​ 
-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 y placer vos fichiers de configurations,​ mais appliquer la méthode décrite ci-dessous. 
-</​note>​ 
  
 ==== 5. Création de l'iso ==== ==== 5. Création de l'iso ====
Ligne 121: Ligne 122:
 Alors, c'​était dur ? Alors, c'​était dur ?
  
-===== Réclamations ​===== + 
-==== Mais moi je veux pas Lxde ! Je veux le même bureau que sur mon ordi !!! =====+===== Plus de configurations ​===== 
 +Maintenant qu'on a découvert l'​utilisation basique de ''​live-build'',​ on va voir quelques possibilités supplémentaires. 
 + 
 +==== Moi je veux pas Lxde ! Je veux le même bureau que sur mon ordi !!! ====
 Oui oui, ok, c'est bon, ça arrive, pas la peine de s'​énerver... Oui oui, ok, c'est bon, ça arrive, pas la peine de s'​énerver...
 Tout d'​abord,​ on nettoie : Tout d'​abord,​ on nettoie :
Ligne 129: Ligne 133:
 <note tip>​Avant de relancer ''​lb config'',​ il est bon de jeter un oeil à ''​auto/​config''​ pour voir si on à rien à changer...</​note>​ <note tip>​Avant de relancer ''​lb config'',​ il est bon de jeter un oeil à ''​auto/​config''​ pour voir si on à rien à changer...</​note>​
  
-===1. Éditer la liste des paquets supplémentaires===+=== 1. Éditer la liste des paquets supplémentaires ===
 Si vous utilisez une police, des icônes, un thème, ou encore des plugins particuliers,​ il faut penser à les ajouter au ''​live.list.chroot''​. Si vous utilisez une police, des icônes, un thème, ou encore des plugins particuliers,​ il faut penser à les ajouter au ''​live.list.chroot''​.
  
Ligne 143: Ligne 147:
 Ajouter les applications de votre choix bien entendu. Ajouter les applications de votre choix bien entendu.
  
-===2. Importer les fichiers de configuration===+=== 2. Importer les fichiers de configuration ===
 Certaines application ont leur propre ''​.bidule''​. Cependant, un grand nombre d'​entre elles, ainsi que la plupart des configurations relatives au bureau (y compris le fond d'​écran) sont dans le répertoire ''​.config''​ (vous pouvez allez jeter un coup d'oeil dedans si vous ne me croyez pas). Certaines application ont leur propre ''​.bidule''​. Cependant, un grand nombre d'​entre elles, ainsi que la plupart des configurations relatives au bureau (y compris le fond d'​écran) sont dans le répertoire ''​.config''​ (vous pouvez allez jeter un coup d'oeil dedans si vous ne me croyez pas).
 <code user>cp -r ~/.config config/​includes.chroot/​etc/​skel/</​code>​ <code user>cp -r ~/.config config/​includes.chroot/​etc/​skel/</​code>​
Ligne 149: Ligne 153:
 <code root>lb build</​code>​ <code root>lb build</​code>​
  
 +==== Et si je veux installer des paquets .deb supplémentaires ? ====
 +C'est d'un facilité déconcertante : il suffit de les placer dans ''​config/​pacakges.chroot''​. Pensez à vérifier tout de même que les dépendances seront satisfaites...
 ==== Et pour que ça installe la même chose que sur l'iso ? ==== ==== Et pour que ça installe la même chose que sur l'iso ? ====
 C'est simple : dans le script ''​config''​ rajoutez la ligne : C'est simple : dans le script ''​config''​ rajoutez la ligne :
Ligne 157: Ligne 163:
  
 C'est pas merveilleux ?! C'est pas merveilleux ?!
 +<note warning>​Attention : lorsque vous serez amené à créer un nouvel utilisateur après avoir installé ce système, il prendra pour squelette le contenu du répertoire ''/​etc/​skel/''​ ! Ce qui signifie que le nouvel utilisateur aura accès à votre profil iceweasel/​firefox contenant tous vots mots de passe (à moins que vous ne les ayez protégé par un mot de passe principal). Même chose pour votre profil chromium si vous utilisez ce navigateur.
  
 +Prenez donc soin de faire le ménage dans le répertoire ''/​etc/​skel''​ après avoir un installé votre système custom.</​note>​
 ==== 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 ===== + 
-Maintenant qu'on a découvert ''​live-build'',​ on va voir quelques possibilités supplémentaires. +==== Les options ​de la commande config ====
-==== Options ​de la commande config ====+
 Il y a beaucoup de chose à faire ici. Voyez plutôt : Il y a beaucoup de chose à faire ici. Voyez plutôt :
 <code user>man lb_config</​code>​ <code user>man lb_config</​code>​
 On peut ajouter les options en ligne de commande, comme ceci (à chaque fois qu'on lance cette commande, les options se cumulent) : On peut ajouter les options en ligne de commande, comme ceci (à chaque fois qu'on lance cette commande, les options se cumulent) :
 <code user>lb config --une-option un_parametre</​code>​ <code user>lb config --une-option un_parametre</​code>​
-Ou bien tout mettre dans le fichier ''​auto/​config''​ ; une option ​sur une ligne, suivie d'un anti-slashcomme cela :+Ou bien tout mettre dans le fichier ''​auto/​config''​ ; une option ​par une ligne, suivie d'un anti-slash ​comme ceci :
 <file bash> <file bash>
     --une-option un_parametre \     --une-option un_parametre \
Ligne 173: Ligne 180:
 Parmi les options utiles : Parmi les options utiles :
  
-  * ''​--apt-source-archives false''​\\ N'​inclue pas les dépôts source durant le bootstrap ou le chroot. Cela évite de gaspiller de la connexion pour rien, surtout qu'​apt-get update est lancé plus d'une dizaine de fois pendant toute la procédure de ''​lb build''​ ! (Observer la sorite de votre terminal ou bien le fichier build.log, et vous verrez)\\ \\ +  * ''​--apt-source-archives false''​\\ N'​inclue pas les dépôts source durant le bootstrap ou le chroot. Cela évite de gaspiller de la connexion pour rien, surtout qu'​apt-get update est lancé plus d'une dizaine de fois pendant toute la procédure de ''​lb build''​ ! (Observer la sorite de votre terminal ou bien le fichier ​''​build.log''​, et vous verrez...)\\ \\ 
   * ''​--apt-recommends false''​\\ Permets de ne pas installer les paquets recommandés. Pratique lorsque l'on veut faire un install minimale, uniquement avec les logiciels désirés. Cela permet également de réduire la taille de l'​image iso pour ceux qui voudraient la graver sur un CD pour une raison X ou Y (impossibilité de booter sur une clé USB ou un DVD par exemple).\\ \\    * ''​--apt-recommends false''​\\ Permets de ne pas installer les paquets recommandés. Pratique lorsque l'on veut faire un install minimale, uniquement avec les logiciels désirés. Cela permet également de réduire la taille de l'​image iso pour ceux qui voudraient la graver sur un CD pour une raison X ou Y (impossibilité de booter sur une clé USB ou un DVD par exemple).\\ \\ 
   * ''​--debian-installer true''​\\ Utiliser l'​installateur standard (celui qui ne copie pas l'​iso).\\ \\    * ''​--debian-installer true''​\\ Utiliser l'​installateur standard (celui qui ne copie pas l'​iso).\\ \\ 
Ligne 180: Ligne 187:
   * ''​--archive-areas main contrib non-free''​\\ Inclure les parties main, contrib et non-free des dépôts. Cela permet de mettre des firmwares non libre dans l'iso. \\ Même remarque que précédemment...   * ''​--archive-areas main contrib non-free''​\\ Inclure les parties main, contrib et non-free des dépôts. Cela permet de mettre des firmwares non libre dans l'iso. \\ Même remarque que précédemment...
  
-==== Options ​de boot ====+==== Les options ​de boot ====
 L'​option ''​--bootappend-live''​ de la commande config à elle seule vous permets d'​accéder à certains paramétrages très intéressants. \\  L'​option ''​--bootappend-live''​ de la commande config à elle seule vous permets d'​accéder à certains paramétrages très intéressants. \\ 
 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 (''​toto''​ et ''​ordi''​ en l'​occurence).\\ \\ +  * ''​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.
 +
 +==== Importation de fichiers et de répertoires ====
 +
 +Il faut savoir que tout fichier que vous placez dans le répertoire ''​config/​includes.chroot''​ se retrouvera à la racine du système de votre image iso. On peut donc importer, par exemple, un fichier de configuration global contenu dans ''/​etc'',​ comme ''/​etc/​bash.bashrc''​. Il faudra alors faire comme suit :
 +<code user>​mkdir config/​includes.chroot/​etc</​code>​
 +<code user>cp /​etc/​bash.bashrc /​config/​includes.chroot/​etc/</​code>​
 +<​note>​Le répertoire ''/​etc/​skel''​ - celui que l'on a peuplé plus haut - sert de "​squelette"​ lors la création de l'​utilisateur live : tout ce qui a été déposé à cet emplacement se retrouvera dans son répertoire personnel. C'est pour cela qu'il fallait créer un répertoire ''/​etc/​skel''​ à l'​intérieur de ''​includes.chroot''​. Il ne faut donc pas créer de répertoire ''/​home/​toto''​ comme on pourrait se l'​imaginer,​ mais utiliser la méthode décrite plus haut.</​note>​
  
 ==== Les hooks ==== ==== Les hooks ====
Ligne 194: Ligne 208:
 Ils doivent : Ils doivent :
   - commencer par un numéro, afin qu'ils soient exécuter dans un ordre précis (commencez par ''​1000-''​ puis ''​1001-''​...) ;   - commencer par un numéro, afin qu'ils soient exécuter dans un ordre précis (commencez par ''​1000-''​ puis ''​1001-''​...) ;
-  - porter un extension ''​.hook.chroot''​ ou ''​.hook.binary''​ selon l'​étape à laquelle vous voulez qu'ils s'​exécutent. ​+  - porter un extension ''​.hook.chroot''​ ou ''​.hook.binary''​ selon l'​étape à laquelle vous voulez qu'ils s'​exécutent.
  
 ===== Liens ===== ===== Liens =====
utilisateurs/abdelqahar/tutos/live-build.1464382477.txt.gz · Dernière modification: 27/05/2016 22:54 par AbdelQahar

Pied de page des forums

Propulsé par FluxBB