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
afin de se faire une iso live aux petits oignons (sous 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 iceweasel/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éer.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.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 dans lequel nous créons un premier répertoire de test où nous nous plaçons avec la commande cd :
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/
On édite maintenant 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 username=toto" "${@}"
Cela nous donnera une iso live “passe-partout”, car en 32 bit avec deux noyaux :
Le nom de l'utilisateur sera toto
(vous pouvez éventuellement remplacer par autre chose si vous n'aimez pas ce prénom).
QWERTY
. Pour franciser tout ça, voir : les options de boot</note>
==== 3. Définition des paquets supplémentaires ====
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>
Et d'ajouter à la fin du fichier :
<file bash live.list.chroot>
task-lxde-desktop
icewesael-l10n-fr
</file>
<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>
==== 4. Ajout de fichiers de configuration pour l'utilisateur live ====
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). \\
Les fichiers de configurations de votre profile iceweasel/firefox se trouvent donc 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 [[doc:systeme:cp|copier notre .mozilla
à l'intérieur.mkdir -p /config/includes.chroot/etc/skel
et
cp -r ~/.mozilla config/includes.chroot/etc/skel/
==== 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 ?
===== 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… 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…
=== 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 :
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 ?!
==== 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
.
==== Les options de la commande config ==== 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 par une ligne, suivie d'un anti-slash ; comme ceci :
--une-option un_parametre \
Parmi les options utiles :
–apt-source-archives false
lb build
! (Observer la sorite de votre terminal ou bien le fichier build.log, et vous verrez)–apt-recommends false
–debian-installer true
–distribution stretch
sid
…–security true
, –updates true
et –backports true
live.list.chroot
pour en profiter, sinon, cela ne sert à rien !–archive-areas main contrib non-free
==== 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.
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
hostname=ordi
ordi
en l'occurence).toram
swap=true
==== 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 :
mkdir config/includes.chroot/etc
cp /etc/bash.bashrc /config/includes.chroot/etc/
/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.
==== Les hooks ==== 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.===== Liens =====
Tutos sur d'autres sites (attention, certains ne fonctionnent plus sous jessie !) :