Linux From Scratch 10.0 : c’est votre projet !

Posté par  . Édité par ZeroHeure, Davy Defaud, Amaury J. et palm123. Modéré par ZeroHeure. Licence CC By‑SA.
40
7
sept.
2020
Distribution

Comme chaque rentrée, c’est la période pour une nouvelle version de Linux From Scratch.

Linux From Scratch, ou LFS pour les intimes, est un livre décrivant pas à pas la construction à la main d’une distribution GNU/Linux, l’occasion idéale pour en apprendre plus sur GNU/Linux et créer la vôtre ! Tout cela 100 % traduit en français.

Logo de LFS

Quoi de neuf dans cette version ?

Cette nouvelle version française (publiée en même temps que l’annonce anglophone !) est une nouvelle version majeure qui fait suite à la réorganisation complète de la méthode de construction de LFS. Le livre utilise désormais une technique de compilation croisée améliorée et un environnement isolé du système hôte plus tôt qu’avant, pour construire les outils nécessaires avant de se lancer dans la création du système final. Cela réduit à la fois les chances de modifier le système hôte par inadvertance et l’influence du système sur le processus de construction présenté dans LFS.

Cette nouvelle version contient aussi une mise à jour majeure de la chaîne d’outils avec les versions glibc 2.32, binutils 2.35 et gcc 10.2.0. Au total, ce sont trente‑sept paquets qui ont été mis à jour. Enfin, le noyau Linux a été mis à jour vers la version 5.8.3. Tout cela en plus de l’énorme travail rédactionnel habituel : pour améliorer les textes, mais aussi pour restructurer le livre autour de la nouvelle méthode de construction.

Cette nouvelle version est accompagnée d’une mise à jour de BLFS (Beyond Linux From Scratch, ou « Au‑delà de LFS ») qui contient environ mille paquets en plus du livre Linux From Scratch de base en version 10.0. Cette publication fait suite à la mise à jour de plus de huit cent quarante paquets depuis la version précédente.

Est‑ce difficile ?

Bien que cela nécessite de bonnes connaissances de base à propos de GNU/Linux, le livre décrit avec précision chaque étape de la construction du système afin de la rendre abordable au plus grand nombre.

Le système

Celui‑ci est construit principalement en trois étapes. D’abord, la mise en place d’une chaîne de construction croisée (aussi appelée toolchain), qui permet de devenir indépendant du système hôte quelque soit la distribution choisie. Une fois la chaîne de construction disponible avec quelques outils supplémentaires, la deuxième étape consiste à entrer dans un environnement chroot pour terminer la construction des outils temporaires. La troisième étape est la construction du système final amorçable. Celui‑ci ressemblera à n’importe quelle distribution classique, à l’exception du gestionnaire de paquets que Linux From Scratch ne fournit pas par défaut. Libre à vous d’en ajouter un grâce à l’une des multiples astuces disponibles (et traduites !), ou bien de créer le vôtre !

Les habitués de Linux from Scratch auront remarqué la différence majeure dans cette version. Dans les versions précédentes, la construction de la chaîne d’outils temporaire s’effectuait d’une seule traite, sans utiliser de chroot. Bien que l’utilisation astucieuse d’une compilation croisée soit présente depuis de très nombreuses versions, celle‑ci restait très fragile et est désormais réduite au minimum.

L’utilisation d’un chroot au plus tôt permet aussi de mettre en évidence les outils qui ont besoin d’eux‑mêmes pour être construits (et leurs dépendances), et qui doivent donc être construits en dehors du chroot. Par exemple, il est intéressant de noter que make utilise un Makefile, que Bash utilise un script configure, etc.

Et après ?

Linux From Scratch fournit la base d’une distribution GNU/Linux avec des paquets comme systemd ou SysVInit, ainsi que les principaux outils en ligne de commande, dont l’éditeur de texte Vim (des instructions sont disponibles afin de le remplacer par votre éditeur de texte favori).

Afin d’avoir un système GNU/Linux répondant à vos besoins, vous voudrez sans doute poursuivre l’aventure en installant une multitude d’autres paquets, tels qu’un environnement de bureau. C’est l’objet d’un second livre, Beyond Linux From Scratch (BLFS) ou « Au‑delà de LFS », lui aussi disponible en version 10.0. BLFS apporte environ un millier de paquets supplémentaires par rapport à LFS. Si vous n’y trouvez pas votre bonheur, vous en savez suffisamment pour vous lancer dans le grand bain et compiler des paquets supplémentaires qui n’y sont pas présentés.

Nous contacter

À vous de jouer, rejoignez l’aventure ! Faites‑nous des retours, sur nos lieux de rencontres habituels : liste de diffusion, IRC (#lfs-fr sur Freenode) et Mastodon. Si vos yeux saignent, vous pouvez nous aider à endiguer de nombreux cas de cécité précoce en proposant des corrections sur notre interface en ligne, ou via l’un des canaux précédents si vous ne souhaitez pas créer de compte.

À bientôt !

Aller plus loin

  • # Pour améliorer mes connaissances

    Posté par  (site web personnel, Mastodon) . Évalué à 5.

    Tiens, je me tenterais bien de faire ça sur un vieux portable histoire d'en apprendre plus sur le fonctionnement des briques élémentaires de notre système.

    Je me demande combien de temps ça va me prendre (ça dépend vachement du CPU et de la vitesse d'accès au disque dur je suppose). Mais je peux ptre me faire ça un petit peut quelques soirs par là.

    Je suis à peu près sûr d'apprendre un tas de trucs ;-)
    C'est une belle initiative d'avoir encore ce genre de choses alors que les distribs sont pléthores.

    • [^] # Re: Pour améliorer mes connaissances

      Posté par  (site web personnel) . Évalué à 3.

      C'est en effet un excellent moyen de comprendre comment tout ça fonctionne, comment ça s'imbrique, pourquoi telles dépendances sont nécessaires, etc..

      LFS existera je pense tant que des personnes voudront avoir ces connaissances, il évolue bien, en restant dans son cadre (et permettant d'aller plus loin avec BLFS)

      Lorsque je participais au projet de distribution Nasgaïa, j'étais monsieur "système" et je m'étais fortement inspiré de LFS pour concevoir notre "créateur de distribution semi-automatisé".

      D'ailleurs à l'époque l'utilisation du cross-compiling était une version à part, et je m'étais adapté non sans mal pour que la toolchain soit aussi indépendante du système hôte que possible. Tout cela est bien loin maintenant, et je regarde les informations concernant ce projet avec un petit sourire nostalgique :)

  • # Auto-promotion

    Posté par  . Évalué à 10. Dernière modification le 07 septembre 2020 à 13:39.

    Entre le moment où j'ai soumis la dépêche à la modération, et le moment où elle a été acceptée, je me suis ouvert une chaîne twitch pour rigoler, histoire d'envoyer en direct la construction d'une LFS. Je ne suis pas sur que ce soit très drôle à regarder, mais n'hésitez pas à passer si le sujet vous intéresse : https://twitch.tv/roptwitch.

    Pour ceux qui sont allergiques au JS, youtube-dl fait l'affaire sur ces liens (attention, ils n e sont disponibles que pour 14 jours après leur diffusion) :

    une fois la série terminée, j'essayerai de condenser le tout en une vidéo ou deux et de balancer ça sur un peertube, histoire d'égaliser mon karma . Ça risque de prendre un peu de temps cependant, parce que je peux vraiment streamer que le week-end.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.