Skip to main content

Historique: live-build

Aperçu de cette version: 19



Live-build est une suite de scripts permettant de créer un Live CD optimisé MAO) sous ((Debian.
Informations :

  • But de la manœuvre : Créer un Live CD ou une Live USB optimisé MAO.
  • Date du tutoriel : 08 Juin 2012.
  • Fait par : 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ée USB. Le site de ce logiciel est http://live.debian.net/. 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 est un Live CD. Je trouve cela très utile, notament pour mes cours de MAO où je peux faire passer ces DVD 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.
Cependant, le projet TangoStudio risque de s'arrêter, je me suis donc dit qu'il serait intéressant de construire ensemble un système que l'on puisse se partager. Quand je dis ensemble cela peut être tous les gens présents sur ce site ...
Ce qui suit est un essai en même temps qu'un appel à contribution. Nous pouvons par exemple nous échanger les fichiers de configuration pour créer l'iso et rajouter sur ces fichiers ce que nous aimerions voir en plus. Cela est beaucoup plus rapide que de s'échanger des iso complètes.
Pour créer cette Debian je me suis inspiré du tuto du site : Debian_Squeeze_MAO. Ainsi j'ai essayer d'utiliser les programmes les moins gourmands en ressources. J'utilise Openbox comme gestionnaire de fenêtre et pcmanfm comme gestionnaire de fichier et non pas gnome ou nautilus.

Installation

Version

Attention à la version que vous utilisez. La documentation est basée sur la nouvelle version et beaucoup de choses ont changées depuis la version précédente. Le problème est que si vous utiliser la documentation avec la version qu'il y a dans les dépôts de Debian squeeze, cela ne correspondra pas. Je le sais car je me suis fait avoir 😉.
D'autre part live-helper est l'ancien nom de live-build. Tout cela rend un peu confus l'installation de ce logiciel. Ainsi nous utiliserons ici la version 3.0.

Prérecquis

  • Avoir les droits super utilisateur
  • Un shell
  • debootstrap ou cdebootstrap installé
  • Linux 2.6.x (mais 3.x.x fonctionne)
  • Être connecté à Internet

Téléchargement et installation

Pour éviter toute confusion de la version je suis allé sur le site http://live.debian.net/debian/pool/main/l/live-build et j'ai téléchargé le fichier live-build_3.0~a37+20111013.180312_all.deb, ensuite il ne reste plus qu'à taper cette ligne pour l'installer :
Copy to clipboard
sudo dpkg -i live-build_3.0~a37+20111013.180312_all.deb


Documentation

La documentation doit donc 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/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 créer un dossier dans lequel nous allons travailler. Je vais quand même mettre les commandes de ce que j'explique même si ce tuto s'adresse à des personnes qui connaissent la majoritée d'entre elles.
Commande
Copy to clipboard
mkdir DebMusicLive

Nous allons dans ce dossier :
Commande
Copy to clipboard
cd DebMusicLive

Ici nous allons créer un dossier où nous allons écrire les scripts qui vont nous permettre de créer notre image Iso.
Commande
Copy to clipboard
mkdir scripts

Nous allons dans ce nouveau dossier :
Commande
Copy to clipboard
cd scripts

Live-build fonctionne avec 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 créer ces fichier je propose :
Commande
Copy to clipboard
touch clean build config

Étant des scripts nous allons les rendre exécutables :
Commande
Copy to clipboard
chmod +x *

Dans clean nous allons mettre les lignes suivantes :
Copy to clipboard
#! /bin/sh cd .. sudo lb clean noauto "${@}" sudo rm -f config/binary config/bootstrap \ config/chroot config/common config/source sudo rm -f binary.log cd scripts

Dans build nous allons mettre les lignes suivantes :
Copy to clipboard
#! /bin/sh cd .. sudo lb build noauto "${@}" | tee binary.log cd scripts

Dans config nous allons éditer les lignes suivantes :
Copy to clipboard
#!/bin/sh cd .. lb config noauto \ --package-lists "standard" \ "${@}" cd scripts

Voilà, notre environnement est pret. Nous allons pouvoir créer notre premier système live sous debian.

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 :
Commande
Copy to clipboard
./config

Cela aura pour effet de créer les fichiers de configuration que le script build va utiliser. Nottament vous devriez avoir maintenant un dossier config dans votre répertoire de travail.
Par ce script nous demanderons à build de créer un système Debian standard (donc sans interface graphique) avec l'architecture qui sera prise par défaut sur la machine sur laquelle vous travaillez. Mais l'on peut tout à fait spécifier une autre architecture.
Ensuite nous allons construire notre image avec le script build. Attention cela va vous demander votre mot de passe, mais ne mettez pas sudo devant votre commande car elle est présente dans le script :
Commande
Copy to clipboard
./build

Après cela, vous aurez dans votre répertoire DebMusicLive 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 Iso. 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 :
Commande
Copy to clipboard
sudo fdisk -l

pour vérifier.
Si c'est bien le cas vous pouvez graver votre iso sur votre clé en faisant :
Commande
Copy to clipboard
dd if=binary.hybrid.iso of=/dev/sdb

Quelquefois j'ai été obligé de faire cela en root, donc si cela ne marche pas mettez sudo devant.
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 :
Commande
Copy to clipboard
./clean

Puis que vous relancier la configuration :
Copy to clipboard
./config

et enfin une nouvelle construction :
Copy to clipboard
./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 fichier config pour que notre LiveMachin devienne une station de travail MAO.

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 :
Commande
Copy to clipboard
man lb_config

Cette commande vous renvoie tous les parametrages nécessaires.
La première chose importante est que si vous restez sous Squeeze (l'actuelle version stable de Debian) vous allez vous retrouver avec un vieux noyau en dessous du 2.6.39 qui nous permet de ne plus avoir besoin (au moins pour le Live CD) du patch rt. Il faut donc se mettre sous Wheesy, la version en devenir et donc instable mais moins dangereuse que Sid pour avoir un noyau 3.2.x.
Ensuite vous gagnerez du temps si vous vous mettez sur un serveur proche de chez vous. En fait les logiciels sont gardés en cache pour éviter de les re-télécharger mais s'il y a des mises à jours c'est mieux.
Si vous ne précisez pas l'architecture, le programme prendra par défault celle de l'ordinateur avec lequel vous travaillez. Si vous voulez la changer référez vous au man de lb_config.
Voici mon fichier config avec lequel je travaille :
Copy to clipboard
#! /bin/sh cd .. lb config noauto \ --distribution "wheezy" \ --archive-area "main contrib non-free" \ --mirror-bootstrap "http://ftp.fr.debian.org/debian" \ --mirror-chroot-security "http://security.debian.org" \ --bootappend-live "locales=fr_FR.UTF-8 keyboard-layout=fr timezone=Europe/Paris" \ "${@}" cd scripts


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 fichier 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 :
Commande
Copy to clipboard
touch MesLogiciels.list.chroot

J'ai ainsi un fichier que je peux remplir avec les logiciels que je veux utiliser. Voici un exemple :
Copy to clipboard
#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 exite 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éreur 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éfault, 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.
Copy to clipboard
@audio - rtprio 90 @audio - memlock unlimited


Conclusion

Voilà un outils 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 de config étaient totalement différents ...
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 ...

Liens

Historique

Information Version
Fri 15 Jul 2022 19:45 jujudusud Mise à jour des adresses officielles. 62
Afficher
Fri 15 Jul 2022 19:40 jujudusud Suppression : {DIV(type=div, float=left)}{maketoc maxdepth=1}{DIV} 61
Afficher
Thu 03 Sep 2015 22:03 olinuxx corrections + drapeaux FR + mise en page 60
Afficher
Tue 07 Apr 2015 11:27 utilisateur_anonyme2 59
Afficher
Tue 07 Apr 2015 11:26 utilisateur_anonyme2 58
Afficher
Fri 05 Sep 2014 16:41 olinuxx Recherche et remplacement en masse 57
Afficher
Mon 11 Aug 2014 06:39 olinuxx ajout a la structure debian 56
Afficher
Mon 10 Feb 2014 22:15 leyoy 55
Afficher
Mon 10 Feb 2014 22:13 leyoy 54
Afficher
Sun 09 Feb 2014 17:35 leyoy 53
Afficher
Sat 08 Feb 2014 21:55 leyoy 52
Afficher
Sat 08 Feb 2014 21:44 leyoy 51
Afficher
Sat 08 Feb 2014 21:42 leyoy 50
Afficher
Fri 07 Feb 2014 15:57 leyoy 49
Afficher
Fri 07 Feb 2014 15:49 leyoy portage du tuto pour tangostudio (en cours de rédaction) 48
Afficher
Wed 03 Jul 2013 15:32 pianolivier structure par défaut 47
Afficher
Sun 23 Jun 2013 14:45 leyoy 46
Afficher
Wed 27 Feb 2013 22:30 utilisateur_anonyme2 45
Afficher
Tue 03 Jul 2012 10:29 leyoy 44
Afficher
Sun 01 Jul 2012 12:25 leyoy 43
Afficher
Sun 01 Jul 2012 12:19 leyoy 42
Afficher
Sun 01 Jul 2012 12:17 leyoy 41
Afficher
Mon 18 Jun 2012 11:14 leyoy 40
Afficher
Thu 14 Jun 2012 22:35 leyoy 39
Afficher
Mon 11 Jun 2012 13:31 leyoy 38
Afficher
Sun 10 Jun 2012 13:06 leyoy 37
Afficher
Sun 10 Jun 2012 12:55 leyoy 36
Afficher
Sun 10 Jun 2012 12:50 leyoy 35
Afficher
Sun 10 Jun 2012 11:15 pianolivier mise en page 34
Afficher
Sat 09 Jun 2012 23:38 leyoy 33
Afficher
Sat 09 Jun 2012 23:38 leyoy 32
Afficher
Sat 09 Jun 2012 23:05 leyoy 31
Afficher
Sat 09 Jun 2012 23:03 leyoy 30
Afficher
Sat 09 Jun 2012 17:05 pianolivier 29
Afficher
Sat 09 Jun 2012 17:02 pianolivier 28
Afficher
Sat 09 Jun 2012 16:50 pianolivier 27
Afficher
Sat 09 Jun 2012 16:43 pianolivier 26
Afficher
Sat 09 Jun 2012 16:40 pianolivier 25
Afficher
Sat 09 Jun 2012 16:39 pianolivier 24
Afficher
Sat 09 Jun 2012 16:38 pianolivier 23
Afficher
Sat 09 Jun 2012 16:36 pianolivier +fil d'ariane/mise en page 22
Afficher
Sat 09 Jun 2012 16:31 pianolivier 21
Afficher
Sat 09 Jun 2012 16:31 pianolivier 20
Afficher
Sat 09 Jun 2012 16:29 pianolivier 19
Afficher
Sat 09 Jun 2012 16:24 pianolivier 18
Afficher
Sat 09 Jun 2012 16:19 pianolivier améliorations diverses 17
Afficher
Sat 09 Jun 2012 09:14 leyoy 16
Afficher
Sat 09 Jun 2012 09:03 leyoy 15
Afficher
Sat 09 Jun 2012 08:51 leyoy 14
Afficher
Fri 08 Jun 2012 22:44 leyoy 13
Afficher
  • «
  • 1 (en cours)
  • 2