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 :
- Installation des Pré-requis sur votre système de construction
- Récupération de la configuration initiale et des outils accessoires
- Choix de la configuration spécifique (RC ou entière)
- Lors de la construction d’un système liveUSB
Note
Les 3 stades de la construction
- la construction d’une intermédiaire qui mènera à une RC (développement)
- la construction d’une RC (release candidate) qui mènera à une distribuable (test et validation)
- la construction d’une version distribuable (mise en production)
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 - Un shell
bash >=4.3
- Un noyau
Linux >=2.6
- Une version mise à jour de
live-build >=4.0.3
(voir Installation de live-build pour les utilisateurs sans Debian GNU/Linux) - Une version à jour de
GNU make >=3.81
- Une version à jour de
cryptsetup >=1.6.6
- Une version à jour de
dd >=8.23
(fourni par le paquetcoreutils
) - Une version à jour de
debootstrap >=1.0.67
- Une version à jour de
git >=2.1.4
- Une version à jour de
losetup >=2.26
(fourni par le paquetutil-linux
) - Une version à jour de
partprobe >=3.2
(fourni par le paquetparted
) - Une version à jour de
pv >=1.5.7
- Une version à jour de
sfdisk >=2.26
- Une version à jour de
syslinux >=6.03
fournissant l’EFI (syslinux-efi >=6.03
pour Debian) - Une version à jour de
whiptail >=0.52.17
oudialog >=1.2
- Accès super-utilisateur (
6.3.1.1. Super-utilisateur ?¶
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 : make
, 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 automate_release burn config credentials dist documentation Makefile README.rst SYSTEM.rst
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
...
v0.1.5-jessie
6.3.4. Exemple de construction de l’image système dans sa version v0.1.3
¶
# git checkout v0.1.3
# make build
ou bien avec sudo
$ git checkout v0.1.3
$ sudo make 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).