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 →
Ceci est une ancienne révision du document !
live-build
(dans Jessie !!!)
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 :
Alléchant, n'est-ce pas ?
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 :
Bon, allez, au boulot !
Le but à atteindre : obtenir un image iso légère pour faire de la navigation internet, avec votre profil firefox
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éerlb build
qui se charge des différentes étapes de construction de la dite isolb 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/
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
.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
…).
#!/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.
QERWTY
. Pour franciser tout ça, voir : Options de boot
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 :
task-lxde-desktop icewesael-l10n-fr
.list.chroot
.
Par exemple : bureautique.list.chroot
, system.list.chroot
…
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/
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/
/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.Ç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 ?
Oui oui, ok, c'est bon, ça arrive, pas la peine de s'énerver… Tout d'abord, on nettoie :
lb clean
lb config
lb config
, il est bon de jeter un oeil à auto/config
pour voir si on à rien à changer…
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 :
task-french-desktop task-xfce-desktop faenza-icon-theme fonts-cantarell murrine-themes xfce4-plugin-whiskermenu
Ajouter les applications de votre choix bien entendu.
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
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 ?!
Maintenant qu'on a découvert live-build
, on va voir quelques possibilités supplémentaires.
Il y a beaucoup de chose à faire ici. Voyez plutôt :
man lb_config
On peut ajouter les options en ligne de commande, comme ceci (à chaque fois qu'on lance cette commande, les options se cumulent) :
lb config --une-option un_parametre
Ou bien tout mettre dans le fichier auto/config
; une option sur une ligne, suivie d'un anti-slash, comme cela :
--une-option un_parametre \
Parmi les options utiles :
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)
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).
Utiliser l'installateur standard (celui qui ne copie pas l'iso).
Je pense que ça se passe de commentaire. Les plus téméraires d'entre vous pourraient (et je dis bien “pourraient”) être tentés de mettre sid
…
(Une option par ligne !)
Permets d'inclure les dépôts security, updates et backports durant la construction de l'iso. Pratique pour inclure un noyau plus récent.
Ajoutez des paquets au fichier live.list.chroot
pour en profiter, sinon, cela ne sert à rien !
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…
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) :
lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe/Paris utc=yes
username=toto hostname=ordi
toram
swap=true
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 :
1000-
puis 1001-
…) ;.hook.chroot
ou .hook.binary
selon l'étape à laquelle vous voulez qu'ils s'exécutent. Tutos sur d'autres sites (attention, certains ne fonctionnent plus sous jessie !) :