Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

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



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 et le manuel officiel est  . 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.


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 Image


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 Image qui permet de cloner un dossier et d'enregistrer les mises à jours. Nous allons commencer par créer un dossier de travail:
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
Le répertoire auto renferme les scripts clean, config et build. Le répertoire config contient les dossiers de configuration de votre future iso.
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 ...
Pour commencer nous pouvons essayer de créer une première ISO, qui est l'ISO par défaut que Gracias Fidel à créé. Le seul truc différent de l'ISO en téléchargement, c'est que celle-ci sera totalement à jour, puisque live-build va télécharger tous les derniers paquets à disposition.

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

astuceConseil
La commande 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
Mais ce qu'il faut comprendre avant tout c'est que nous avons deux étapes sur lesquelles nous pouvons intervenir. Tout d'abord l'étape de construction du LiveCD et ensuite l'étape de l'utilisation du LiveCD. La première a comme suffixe chroot et la deuxième binary. Dans le dossier config deux répertoires vont réellement nous intéresser :
  • 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)
Donc je fais par exemple :
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.
Je vais maintenant ouvrir un topic dans le forum où vous pourrez télécharger ma configuration complète sous fichier tar afin que vous puissiez essayer cela chez vous ...
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 ...

Changelog

[+]

Liens




Collaborateur(s) de cette page : jujudusud , olinuxx , utilisateur_anonyme , leyoy et pianolivier .
Page dernièrement modifiée le Vendredi 15 juillet 2022 19:45:53 par jujudusud.
Le contenu de cette page est licencié sous les termes licence.

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

olinuxx, 11:48, ven. 15 mars 2024: Bonjour et bienvenue à Jerry cool
calixtus06, 18:03, mer. 13 mars 2024: Bonjour et bienvenue à tanguero :-)
olinuxx, 11:01, dim. 10 mars 2024: Bonjour et bienvenue à lolo cool
bda, 16:59, sam. 09 mars 2024: Chapeau pour l'édito. Vous êtes au top les gars :-)
allany, 07:20, jeu. 07 mars 2024: Ça ne fait jamais de mal, c'est l'éditorial ! [Lien]
olinuxx, 19:52, mer. 06 mars 2024: Bonjour et bienvenue à TrkNrk cool
calixtus06, 11:17, mar. 05 mars 2024: Bonjour et bienvenue à D752 :-)
calixtus06, 18:59, lun. 04 mars 2024: Bonjour et bienvenue à Hborsa et Adjudandouille :-)
olinuxx, 18:34, jeu. 29 Feb 2024: Bonjour et bienvenue à anto45500 cool
jujudusud, 23:38, mar. 27 Feb 2024: Venez participer à la joute numéro 17 : [Lien]
calixtus06, 18:36, jeu. 22 Feb 2024: Bonjour et bienvenue à nikartri et rckloar :-)
calixtus06, 10:15, mer. 14 Feb 2024: Bonjour et bienvenue à smonff, Alphascorpii, tadumtss et letoII :-)