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

Ceci est une ancienne révision du document !


Live Build : création d'une image iso live personalisée

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 !

Les avantages :

  1. Disposer de tous les logiciels désirés sur l'image iso
  2. Reproduire son environnement de travail (bureau, icônes, thème…)
  3. Réinstaller son système sans avoir à créer de sauvegarde (l'iso étant elle-même la sauvegarde !)
  4. Porter son système vers une autre architecture : 32 ou 64 bits (chose que l'on ne peut pas faire avec une sauvegarde…)


Alléchant, n'est-ce pas ?

Installation et documentation

On installe le jouet et sa doc (tant qu'à faire) :

apt-get install live-manual live-build

Pour consulter la doc, visitez le répertoire /usr/share/doc/live-manual/, vous la trouverez dans les formats suivants :

  • html
  • odt
  • pdf
  • epub
  • txt
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.
Ce tuto est grandement inspiré de la doc officielle. J'ai surtout synthétisé et rajouté quelques précisions pratiques à travers certains exemples.

Bon, au boulot !

Exemple représentatif

Le but à atteindre : obtenir un image iso légère pour faire de la navigation internet, avec votre profil firefox

1. Copie des exemples des 3 scripts principaux

live-build fournit essentiellement 3 commandes principales :

  1. lb config qui permet de définir les options de configuration globales de l'iso live que vous voulez créer
  2. lb build qui se charge des différentes étapes de construction de la dite iso
  3. 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.
On commence d'abord par créer un répertoire de travail, et un premier répertoire de test :

cd ~
mkdir Live_Build_Work
cd Live_Build_Work
mkdir test_1
cd test_1

Maintenant qu'on est dedans on va copier les 3 scripts dans un répertoire auto :

mkdir auto
cp /usr/share/doc/live-build/examples/auto/* auto/

2. Édition du script ''config''

Maintenant, on va éditer le script config de la manière suivante :

editor auto/config
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.
Pour en définir un autre :
update-alternatives --config editor

Vous pouvez bien sur mettre directement nano à la place de editor, ou bien un autre éditeur de texte que vous maîtrisez (vim, emacs…).

config
#!/bin/sh
 
lb config noauto \
     --architectures i386 \
     --linux-flavours "586 686-pae" \
     --binary-image iso
     --bootappend-live "boot=live components autologin "
     "${@}"

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.

La langue du système sera l'anglais, et le clavier sera en QERWTY. Pour franciser tout ça, voir : Options de boot

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.

editor config/packages-list/live.list.chroot

Rajoutez simplement à la fin du fichier :

live.list.chroot
task-french-dekstop
task-lxde-desktop
icewesael-l10n-fr
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. Par exemple : bureautique.list.chroot, system.list.chroot

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.

mkdir -p /config/includes.chroot/etc/skel
cp -r ~/.mozilla config/includes.chroot/etc/skel/
Il faut savoir deux choses pour comprendre cette manoeuvre :
  1. 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 :
    mkdir config/includes.chroot/etc 
    cp /etc/bash.bashrc /config/includes.chroot/etc/
  2. 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.

5. Création de l'iso

Ça y est, on a plus qu'à lancer la procédure de création (ça prendra environ une heure) :

lb build

Alors, c'était dur ?

Réclamations

Mais 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… Tout d'abord, on nettoie :

lb clean
lb config
Avant de relancer lb config, il est bon de jeter un oeil à auto/config pour voir si on à rien à changer…

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.

Par exemple, avec Xfce :

live.list.chroot
task-french-desktop
task-xfce-desktop
faenza-icon-theme
fonts-cantarell
murrine-themes
xfce4-plugin-whiskermenu

Ajouter les applications de votre choix bien entendu.

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).

cp -r ~/.config config/includes.chroot/etc/skel/

Terminé !

lb build

Et pour que ça installe la même chose que sur l'iso ?

C'est simple : dans le script config rajoutez la ligne :

    --debian-installer live \

Vous verrez, lors de l'installation, après le partitionnement, au lieu de la traditionnelle installation du sytème de base puis du choix des logiciels, l'installateur copiera le contenu de l'iso.

C'est pas merveilleux ?!

Quelques astuces

Options de boot

man live-boot

Avec de l'option –bootappend-live de la votre fichier config, vous pouvez accéder à certains paramétrages très intéressants.
Voici quelques options utiles que vous pouvez ajouter à la suite sur cette 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.
  • username=toto hostname=ordi
    Permets de définir le nom d'utilisateur et d'hôte.
  • 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.

Le nom de l'iso

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…).

Avancé

Les hooks

Réservez à ceux qui ont des bases en scripts bash !

Les hooks sont des scripts qui s'effectuent à un moment précis d'une procédure dans un but de personnalisation.

Vos hooks doivent se trouver dans le répertoire config/hooks (il est déjà rempli avec un certain nombre de hooks par défaut après l'exécution de lb config.
Ils doivent :

  1. commencer par un numéro, afin qu'ils soient exécuter dans un ordre précis (commencez par 1000- puis 1001-…) ;
  2. porter un extension .hook.chroot ou .hook.binary selon l'étape à laquelle vous voulez qu'ils s'exécutent.

Liens

utilisateurs/abdelqahar/tutos/live-build-les-bases.1464271031.txt.gz · Dernière modification: 26/05/2016 15:57 par AbdelQahar

Pied de page des forums

Propulsé par FluxBB