Chargement...
 
Skip to main content

Historique: live-build

Aperçu de cette version: 56

Live-build est une suite de scripts permettant de créer un Live CD, il a servi notament à 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é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 fonctionne maintenant avec 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 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
Copy to clipboard
sudo apt-get install live-build

suffit.

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
  • 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 iso, pour cela nous allons utiliser le logiciel Git qui permet de clôner un dossier et d'enregistrer les mises à jours. Nous allons commencer par créer un dossier de travail:
Copy to clipboard
mkdir GitRepository

Nous allons dans ce dossier :
Copy to clipboard
cd GitRepository

Nous allons initialiser la création d'un espace pour Git en tappant la commande:
Code
Copy to clipboard
git init

Puis clôner les sources qui s'y trouvent:
Code
Copy to clipboard
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
Copy to clipboard
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 dossier et de le mettre dans votre espace personnel pour travailler dedans
Code
Copy to clipboard
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échargment, 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 :

Copy to clipboard
lb config


Cela aura pour effet de mettre à jour la configuration.
Ensuite nous allons construire notre image avec le script build.

Copy to clipboard
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 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 :
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 :
Copy to clipboard
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 :
Copy to clipboard
sudo lb clean

Puis que vous relancier la configuration :
Copy to clipboard
lb config

et enfin une nouvelle construction :
Copy to clipboard
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 :

Copy to clipboard
man lb_config

Cette commande vous renvoie tous les parametrages nécessaires.

Voici le script config de Tangostudio amd64 :
Copy to clipboard
#!/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 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 :
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 ...
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 oublié de noter.
  • Si l'on doit changer une virgule dans un fichier on est obligé de tout recompliler 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


REDIRECT plugin: The redirection to 'live-build&structure=Accueil+Tutos' is disabled in preview mode.

Historique

Avancé
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