6. Documentation constructeur

6.1. Prologue

Cette documentation est une simplification de la documentation officielle de live-build et est adaptée à la configuration fournie par ce projet.

6.1.1. Nomenclature

Voir Nomenclature pour des explications sur la nomenclature concernant les lignes de commande.

6.1.2. Numérotation des versions

Nous nous basons sur le principe de numérotation sémantique des versions proposé par Tom Preston Werner.

6.2. Mécanisme général d’une construction

La construction d’une clef USB bootable requiert d’assurer les étapes suivantes :

Note

Les 3 stades de la construction

  • la construction d’une version distribuable (mise en production)
  • la construction d’une RC qui mènera à une distribuable (test et validation)
  • la construction d’une intermédiaire qui mènera à une RC (développement)

Quel que soit le stade de la construction, le mécanisme est toujours le même. La variance d’un stade à l’autre correspond à la position dans l’arbre des configurations figées (sur quel tag nous plaçons-nous pour réaliser la construction).

6.3. Mise en œuvre de la construction

Voir la vidéo de démonstration dont les étapes sont détaillées ci-après.

6.3.1. Pré-requis

Les exigences pour la création ou la distribution de l’images système liveUSB sont faibles :
  • Accès super-utilisateur (root) sur le système
  • Une version à jour de git
  • Une version mise à jour de live-build (voir Installation de live-build pour les utilisateurs sans Debian GNU/Linux)
  • Une version à jour de debootstrap
  • Un shell bash
  • Un noyau Linux 2.6.x ou supérieur
  • Une version à jour de whiptail ou dialog
  • Une version à jour de GNU make
  • Une version à jour de syslinux fournissant l’EFI (syslinux-efi pour Debian)
  • Une version à jour de sfdisk, version 2.26 minimum

6.3.1.1. Super-utilsateur ?

La commande suivante permet de connaître le nom de l’utilisateur que nous sommes :

# whoami
root

si l’utilisateur n’est pas root, alors il faut s’assurer que nous sommes un utilisateur faisant partie du groupe sudo :

$ groups
lambda cdrom floppy sudo audio video plugdev ...

Si dans la sortie de la commande groups vous n’appercevez pas le mot clef sudo, c’est que vous ne faites pas partie du groupe sudo. Dans ce cas, vérifiez avec l’administrateur de votre système afin d’obtenir un compte vous permettant de réaliser en tant que super-utilisateur les commandes suivantes : lb et apt-get.

6.3.1.2. Installer les logiciels nécessaires

# apt-get update && apt-get install git live-build debootstrap make

ou avec sudo

$ sudo apt-get update && sudo apt-get install git live-build debootstrap make

6.3.2. Récupération de la configuration initiale et des outils accessoires

$ cd ~
$ git clone https://framagit.org/groolot/liveUSB.git
$ cd liveUSB
$ ls
auto burn config documentation Makefile README.md

6.3.3. Choix de la configuration spécifique

6.3.3.1. Lister les configurations disponibles

$ git tag
v0.1
v0.1.1
v0.1.2
v0.1.3

6.3.4. Construction de l’image système dans sa version v0.1.3

# make v0.1.3-build

ou bien avec sudo

$ sudo make v0.1.3-build

À l’issue de la construction, l’image système se trouve disponible dans le répertoire courant portant le nom liveUSB-v0.1.3-amd64.img (ou tout autre numéro de version en fonction du choix de la configuration fait au préalable).