Live-build est une suite de scripts permettant de créer un Live CD, il a servi notamment à créer les LiveDVD de Tango Studio et Mr kebab s'en sert aussi pour créer sa distribution io.GNU.Linux.
Informations du tutoriel :
? But : Recréer un LiveUSB Tango Studio.
? Date : Réécrit le 7 février 2014.
? Auteur(s) : Leyoy
et le manuel officiel est là
. Il a été écrit par Daniel Baumann.
Pour rappel, un LiveCD permet de tester ou de faire tourner une distribution GNU/Linux sur un ordinateur sans altérer le disque dur, puisque le système n'utilise que la RAM. La distribution TangoStudio par exemple fonctionne maintenant avec un Live CD. Je trouve cela très utile, notamment pour mes cours de MAO où je peux faire passer ces DVDs aux élèves pour qu'ils puissent utiliser ce que l'on voit en cours. Certains ont franchi le pas et sont passer sous TangoStudio et KXStudio. Ce tuto a cependant été testé seulement sous Debian.
Grâce à Live-build, vous allez pouvoir obtenir un live de TangoStudio à jours et même rajouter ou enlever des logiciels.
suffit.
La première chose à faire est de récupérer les sources qui ont permis la création des ISOs, pour cela nous allons utiliser le logiciel Git
qui permet de cloner un dossier et d'enregistrer les mises à jours. Nous allons commencer par créer un dossier de travail:
Nous allons dans ce dossier :
Nous allons initialiser la création d'un espace pour Git en tapant la commande:
Puis clôner les sources qui s'y trouvent:
Voilà vous devriez vous retrouver avec toutes les sources dans votre dossier, mais celles qui nous intéresse sont situées dans le dossier live-build.
Nous allons dans ce nouveau dossier :
Nous y voilà ! Dans le README vous avez les instructions dont je vais vous parler. Ensuite vous avez les deux dossiers qui contiennent les sources pour créer une ISO en 64bits ou en 386 selon ce que vous voulez faire. Le mieux ici est de copier un des dossiers et de le mettre dans votre espace personnel pour travailler dedans :
(Si vous voulez créer une ISO pour un système amd64)
Nous allons maintenant expliquer ce que renferment les sources.
Vous remarquez qu'une fois dans votre répertoire vous avez deux répertoires:
Live-build fonctionne avec les 3 scripts principaux :
Cela aura pour effet de mettre à jour la configuration.
Ensuite nous allons construire notre image avec le script build.
Attention le processus est très long suivant les machines et la connexion internet utilisée.
Après cela, vous aurez dans votre répertoire des fichiers qui ont été créés lors de la configuration mais aussi et surtout un fichier binary.hybrid.iso qui n'est autre que votre système live.
Tout d'abord mettez votre clé en place. Normalement elle devrait se situer sur /dev/sdb. Vous pouvez saisir la commande :
pour vérifier.
Si c'est bien le cas vous pouvez graver votre ISO sur votre clé en faisant :
Une fois l'image testée, si vous voulez changer des choses dans votre fichier config et créer un nouvel ISO, il faut que vous nettoyez le répertoire en faisant :
Conseil
Puis que vous relancier la configuration :
et enfin une nouvelle construction :
Voilà ce sont les bases du fonctionnement de cet outil et c'est aussi simple que ça. Nous allons voir maintenant comment configurer le dossier config.
Cette commande vous renvoie tous les paramétrages nécessaires.
Voici le script config de Tangostudio amd64 :
Pour que cela fonctionne comme il faut, nous devons mettre deux suffixes qui vont préciser au programme de quoi il s'agit :
J'ai ainsi un fichier que je peux remplir avec les logiciels que je veux utiliser. Voici un exemple :
l'include signifie que l'on a des pré-configurations qui existent déjà, ainsi nous pouvons nous en servir pour nous épargner une liste trop longue. standard-x11 signifie que nous aurons un système de base avec uniquement xorg.
feh permet d'afficher un fond d'écran, tint2 permet d'avoir une barre des tâches, obconf de configurer openbox.
Nous allons donc commencer par y créer un répertoire etc qui sera donc le future /etc de notre système Live. À l’intérieur de celui-ci nous allons créer également un répertoire skel. Ce répertoire va représenter le home du future Live utilisateur. Nous allons donc pouvoir y mettre tous les fichiers de configuration qu'il nous faut.
Il semble que par défaut, la configuration rend impossible l'utilisation du fichier /etc/security/limits.d/audio.conf. Il faut donc créer ce fichier et y ajouter la configuration décrite dans le tuto pour PAM.
L'avantage de ce programme est aussi son inconvénient:
Attention cependant jack ne fonctionne pas sous virtualbox ...
Je n'ai pour l'instant pas tester une installation du Live CD sur une machine (pour cela il faut l'inclure dans le script config).
J'ai quelques xruns sous jack en Live USB mais j'ai mis ma clé dans diverses machines et cela à l'air de fonctionner ...
Table des matières
Informations du tutoriel :
? But : Recréer un LiveUSB Tango Studio.
? Date : Réécrit le 7 février 2014.
? Auteur(s) : Leyoy
Présentation
live-build est une suite de scripts qui facilite la création d'une image iso pouvant être démarrée par le biais d'un DVD ou d'une clé USB. Le wiki se trouve ici

Pour rappel, un LiveCD permet de tester ou de faire tourner une distribution GNU/Linux sur un ordinateur sans altérer le disque dur, puisque le système n'utilise que la RAM. La distribution TangoStudio par exemple fonctionne maintenant avec un Live CD. Je trouve cela très utile, notamment pour mes cours de MAO où je peux faire passer ces DVDs aux élèves pour qu'ils puissent utiliser ce que l'on voit en cours. Certains ont franchi le pas et sont passer sous TangoStudio et KXStudio. Ce tuto a cependant été testé seulement sous Debian.
Grâce à Live-build, vous allez pouvoir obtenir un live de TangoStudio à jours et même rajouter ou enlever des logiciels.
Installation
Version
Avec la nouvelle version de Debian nommé Wheezy, live-build est facile à installer. Pour l'instant la version présente dans les dépôts est la 3.0.5. Donc un simple:install
sudo apt-get install live-build
suffit.
Prérequis
- Avoir les droits super utilisateur
- Un shell
- debootstrap ou cdebootstrap installé
- Linux 2.6.x (mais 3.x.x fonctionne)
- Être connecté à Internet
- Installer Git
Documentation
La documentation doit se référer à la version du programme. Elle existe heureusement en français. Vous pouvez la télécharger à cette adresse : http://live.debian.net/manual/3.x/index.fr.html

Mise en œuvre
création d'un espace de travail et édition des scripts.
La majorité des actions que nous allons effectuer seront faites avec le terminal.La première chose à faire est de récupérer les sources qui ont permis la création des ISOs, pour cela nous allons utiliser le logiciel Git


mkdir GitRepository
Nous allons dans ce dossier :
cd GitRepository
Nous allons initialiser la création d'un espace pour Git en tapant la commande:
Code
git init
Puis clôner les sources qui s'y trouvent:
Code
git clone https://github.com/tangostudio/tangostudio-deb/
Voilà vous devriez vous retrouver avec toutes les sources dans votre dossier, mais celles qui nous intéresse sont situées dans le dossier live-build.
Nous allons dans ce nouveau dossier :
Code
cd tangostudio-deb/live-build
Nous y voilà ! Dans le README vous avez les instructions dont je vais vous parler. Ensuite vous avez les deux dossiers qui contiennent les sources pour créer une ISO en 64bits ou en 386 selon ce que vous voulez faire. Le mieux ici est de copier un des dossiers et de le mettre dans votre espace personnel pour travailler dedans :
Code
cp -r tango-live-amd64 ~
(Si vous voulez créer une ISO pour un système amd64)
Nous allons maintenant expliquer ce que renferment les sources.
Vous remarquez qu'une fois dans votre répertoire vous avez deux répertoires:
- auto
- config
Live-build fonctionne avec les 3 scripts principaux :
- clean : Ce script permet de nettoyer les anciens dossier dans le but de créer une nouvelle version de l'iso.
- config : Il s'agit du script le plus important. C'est par ce script que nous allons demander à live-build comment construire notre ISO.
- build : Ce script permet de créer l'image. Attention plus il y a de logiciels plus l'opération est longue ...
Lancer les scripts
Si vous n'avez encore rien fait le script clean n'a pour l'instant aucune utilité. Donc pour l'instant nous allons simplement configurer ce que l'on va construire. Nous lançons donc le script config avec :lb config
Cela aura pour effet de mettre à jour la configuration.
Ensuite nous allons construire notre image avec le script build.
sudo lb build
Attention le processus est très long suivant les machines et la connexion internet utilisée.
Après cela, vous aurez dans votre répertoire des fichiers qui ont été créés lors de la configuration mais aussi et surtout un fichier binary.hybrid.iso qui n'est autre que votre système live.
Essai de l'image
Bien sûre, pour le respect de la nature et de votre portefeuille, vous n'avez pas intérêt à griller une montagne de CD ou de DVD vierges. Il existe plusieurs solutions pour essayer ces ISOs. Virtualbox vous permet en effet de lancer votre Live CD et voir ce que vous avez effectué. Sinon il y a encore la clé USB. Je ne vais pas détailler l'utilisation de virtualbox, il y a plein de choses sur Internet là dessus. Par contre en ce qui concerne la clé Usb, une seule commande vous permet de charger l'ISO dessus. Attention cette commande grillera tout ce que vous avez dans la clé. Donc videz ce que vous avez dedans surtout si c'est important ...Tout d'abord mettez votre clé en place. Normalement elle devrait se situer sur /dev/sdb. Vous pouvez saisir la commande :
sudo fdisk -l
pour vérifier.
Si c'est bien le cas vous pouvez graver votre ISO sur votre clé en faisant :
dd if=binary.hybrid.iso of=/dev/sdb
Une fois l'image testée, si vous voulez changer des choses dans votre fichier config et créer un nouvel ISO, il faut que vous nettoyez le répertoire en faisant :
sudo lb clean

La commande
Pour cela il suffit d'ajouter sur
lb clean
lancée nettoie le répertoire de travail mais si pour une raison ou une autre l'essai de votre iso s'avère infructueux il peut être judicieux d'ajouter une ligne qui va supprimer le répertoire cache
. Cela évite que les erreurs se répercutent d'une iso à une autre ;) .Pour cela il suffit d'ajouter sur
auto/clean
cette commande:rm -r cache
Puis que vous relancier la configuration :
lb config
et enfin une nouvelle construction :
sudo lb build
Voilà ce sont les bases du fonctionnement de cet outil et c'est aussi simple que ça. Nous allons voir maintenant comment configurer le dossier config.
Les différents paramètres de config
Configuration du script config
Vous avez beaucoup d'ajustements possible à faire dans ce fichier. Vous pouvez consulter le manuel de ce script en faisant :man lb_config
Cette commande vous renvoie tous les paramétrages nécessaires.
Voici le script config de Tangostudio amd64 :
#!/bin/sh set -e lb config noauto \ --architectures "amd64" \ --linux-flavours "realtime" \ --distribution "wheezy" \ --binary-images "iso-hybrid" \ --archive-areas "main contrib non-free" \ --debian-installer live \ --iso-application "Tango Studio" \ --iso-preparer "Tango Studio Team" \ --iso-publisher "Tango Studio Debian project; http://tangostudio.tuxfamily.org/; tangostudio@tuxfamily.org" \ --iso-volume "Tango Studio" \ --bootappend-live "boot=live config hostname=tangostudio username=live-user user-full-name="Tango Studio Live User"" \ --mirror-bootstrap "http://ftp.fr.debian.org/debian/" \ --mirror-binary-security "http://security.debian.org/debian-security/" \ --mirror-binary-backports "http://ftp.fr.debian.org/debian/" \ --mirror-binary-updates "http://ftp.fr.debian.org/debian/" \ --backports "true" \ --updates "true" \ "${@}"
Le répertoire config
Lorsque vous avez lancer le script config celui-ci vous a créé entre autre un répertoire config dans votre répertoire de travail. Dans ce répertoire nous allons pouvoir faire tout un tas de choses :- Mettre des fichiers de configuration
- Mettre une liste de logiciels à installer
- package-lists
- includes.chroot
Package-lists
C'est ici que nous allons mettre la liste des logiciels que nous voulons utiliser. Ce répertoire est donc essentiel ...Pour que cela fonctionne comme il faut, nous devons mettre deux suffixes qui vont préciser au programme de quoi il s'agit :
- list (ben oui c'est une liste)
- chroot (si vous avez bien suivi ce sont des logiciels qui seront installés à la création du Live CD)
touch MesLogiciels.list.chroot
J'ai ainsi un fichier que je peux remplir avec les logiciels que je veux utiliser. Voici un exemple :
#include <standard-x11> openbox obconf roxterm dbus-X11 leafpad pcmanfm chromium-browser chromium-browser-l10n alsa-oss alsa-tools-gui alsa-tools alsa-oss alsa-base libasound2-plugins feh tint2 usbmount jack2 qjackctl qsynth vkeybd rosegarden audacity ardour hydrogen hydrogen-drumkits fluidsynth-dssi
l'include signifie que l'on a des pré-configurations qui existent déjà, ainsi nous pouvons nous en servir pour nous épargner une liste trop longue. standard-x11 signifie que nous aurons un système de base avec uniquement xorg.
feh permet d'afficher un fond d'écran, tint2 permet d'avoir une barre des tâches, obconf de configurer openbox.
includes.chroot
Il s'agit là encore d'un dossier. Mais il est particulier car il représente la racine de notre système. Il va donc pouvoir contenir tous les fichiers de configuration de notre Live CD.Nous allons donc commencer par y créer un répertoire etc qui sera donc le future /etc de notre système Live. À l’intérieur de celui-ci nous allons créer également un répertoire skel. Ce répertoire va représenter le home du future Live utilisateur. Nous allons donc pouvoir y mettre tous les fichiers de configuration qu'il nous faut.
Il semble que par défaut, la configuration rend impossible l'utilisation du fichier /etc/security/limits.d/audio.conf. Il faut donc créer ce fichier et y ajouter la configuration décrite dans le tuto pour PAM.
@audio - rtprio 90 @audio - memlock unlimited
Conclusion
Voilà un outil assez simple d'utilisation. J'ai beaucoup galéré au départ car la doc que j'avais ne correspondait pas à la version du logiciel, et les dossiers présents à l'intérieur du répertoire config/ étaient totalement différents ...L'avantage de ce programme est aussi son inconvénient:
- Tout ce que l'on effectue est écrit dans la configuration. C'est donc beaucoup plus fiable que de rentrer dans le chroot et faire des choses que l'on va oublier de noter.
- Si l'on doit changer une virgule dans un fichier on est obligé de tout recompiler et cela peut être très long pour une distrib complète (1/2 heure à 3/4 d'heure). Cela dit on peut mettre l'option --interactive=true dans le script config, cela permet de se loger dans un chroot avant la construction et de savoir si tout fonctionne.
Attention cependant jack ne fonctionne pas sous virtualbox ...
Je n'ai pour l'instant pas tester une installation du Live CD sur une machine (pour cela il faut l'inclure dans le script config).
J'ai quelques xruns sous jack en Live USB mais j'ai mis ma clé dans diverses machines et cela à l'air de fonctionner ...