PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

miamondo : À l’assaut de Linux From Scratch (partie 3)

dimanche 14 février 2021 à 02:23

Avant de commencer ce troisième chapitre, je ne saurais trop vous conseiller le livre en version anglaise plutôt que sa traduction française. Cette dernière est bien faite mais on y trouve quelques approximations qui compliquent le processus. En outre, pour une question de mise en page pas toujours soignée, je vous suggère également de travailler avec la version HTML du manuel, qui est, à mon avis, bien plus aérée et par conséquent bien plus agréable à lire que la version PDF.

Nous allons maintenant entrer dans le vif du sujet. Ça va compiler ta mère!, comme disent les loubards des faubourgs. L’exercice n’est pas simple mais il est intéressant. Les plus perspicaces d’entre vous auront remarqué que j’ai choisi un titre un peu plus guerrier que les précédents. C’est pour me donner du courage. Alors, debout les morts, baïonnette au canon, Montjoie!!

Je vous annonce également que j’ai rédigé un script qui automatise tout le processus décrit dans l’article précédent. Ce script, le voici:

https://pastebin.com/HAywKQPq

J’ai fait la même chose pour cette troisième partie mais je vous donnerai le lien à la fin. Que ce soit en anglais ou en français, certains paragraphes sont incompréhensibles pour le commun des mortels, par exemple celui intitulé À propos de la compilation croisée (partie III du livre, page 54). Pardonnez-moi d’être dur mais c’est une catastrophe pédagogique.

Alors que faire? Eh bien, il faut ignorer ces explications, lancer les codes sans s’énerver, et petit à petit, la lumière va s’allumer. En gros, nous allons construire des outils de compilation croisée qui vont nous permettre de produire du code et de construire notre système d’exploitation en s’isolant du système hôte. La compilation traduit un code généré par des humains (donc avec un haut niveau d’abstraction), en un code binaire que la machine peut comprendre.

Même s’il y a des variantes, Le principe général est toujours le même et il s’applique à chaque archive *.tar que nous avons téléchargée. Tout d’abord, il est impératif d’ouvrir un shell sous le nouveau profil utilisateur défini dans l’article précédent. Il ne faut pas rester en root.

[root@volgor miamondo]# su - benoit
benoit:/home/benoit$

Ensuite, voici le principe général applicable à chaque archive :

ActionsCommandes
Déplacement dans le répertoire $LFS/sourcescd $LFS/sources
Extraction de l’archive :
exemple binutils-2.35.tar.xz
tar -xf binutils-2.35.tar.xz
Déplacement dans le répertoire de codes source tout juste décompressécd binutils-2.35
Exécution des instructions données par le livre pour construire chaque paquet Voir tableau suivant
Déplacement dans le répertoire $LFS/sourcescd .. ou bien cd ../.. Ça dépend
Suppression du répertoire de codes source. Par contre, il faut conserver l’archive *tar!sudo rm -r binutils-2.35

Chaque paquet est différent mais il est traité avec le même processus. Exemple avec diffutils-3.7 dans le tableau ci-dessous.

ActionsCommandes
Paramètres de compilation propre à chaque paquet./configure --prefix=/usr
--host=$LFS_TGT
Compilation du paquetmake
Installation du paquetmake DESTDIR=$LFS install

Il est possible également qu’un paquet soit extrait et supprimé trois fois! C’est le cas avec gcc par exemple. Enfin, après l’installation de glibc, il y a un contrôle pour vérifier que tout se passe bien. Si le résultat est négatif, ce n’est pas la peine de continuer plus loin. Il faut trouver la panne.

Concernant l’installation des paquets, le livre est vraiment bien fait. Les développeuses (ou les développeurs) qui l’ont rédigé, ont pris soin d’expliquer en détail chaque paramètres de configuration. Sur ce point, je n’ai rien à redire. Le processus d’installation n’est pas une partie de plaisir mais je trouve quand-même que c’est très instructif.

J’ai automatisé toute cette partie dans un script qui m’a donné bien du fil à retordre. Le voici : https://pastebin.com/trDYBhyE

Ainsi, en lançant deux scripts et en me tournant les pouces, j’arrive aux portes du chroot. Ce sera le sujet du prochain article.

https://pastebin.com/HAywKQPqPartitionnement, téléchargement des archives,
Création d’un nouvel utilisateur
https://pastebin.com/trDYBhyECompilation et installation des paquets

Bon dimanche

Gravatar de miamondo
Original post of miamondo.Votez pour ce billet sur Planet Libre.

Articles similaires