1.2. Comment construire un système CLFS

Le système CLFS sera construit en utilisant une distribution Linux déjà installée (telle que Debian, Fedora, Mandrake, Red Hat, SuSE ou Ubuntu). Ce système Linux existant (l'hôte) sera utilisé comme point de départ pour fournir certains programmes nécessaires, ceci incluant un compilateur, un éditeur de liens et un shell, pour construire le nouveau système. Sélectionnez l'option “développement” (development) lors de l'installation de la distribution pour disposer de ces outils.

Alternativement à l'installation d'une distribution séparée complète sur votre machine, vous pouvez utiliser le LiveCD Linux From Scratch ou le LiveCD d'une distribution commerciale. Le CD fonctionne en tant que système hôte, fournissant tous les outils dont vous avez besoin pour suivre les instructions de ce livre avec succès. Il contient les sources des paquets et les correctifs pour le bivre LFS et une copie du livre LFS, mais pas les paquets ou le livre pour CLFS. Vous pouvez toujours utiliser le CD pour la construction de CLFS, mais vous aurez besoin de télécharger les paquets, les correctifs et le livre séparément. Vous pouvez aussi regarder http://hints.cross-lfs.org/lfscd-remastering-howto.txt pour des informations sur la construction de votre propre CD, pour remplacer les paquets de LFS et le livre par ceux pour CLFS. Une fois que vous avez le CD, aucune connexion réseau ou téléchargements supplémentaires est nécessaire. Pour plus d'informations sur le LiveCD LFS ou pour en télécharger une copie, visitez http://www.linuxfromscratch.org/livecd/.

Le Preparing a New Partition de ce livre décrit comment créer une nouvelle partition native Linux et un système de fichiers, c'est-à-dire un emplacement où le nouveau système CLFS sera compilé et installé. Le Packages and Patches explique quels paquets et correctifs ont besoin d'être téléchargés pour construire un système CLFS et comment les stocker sur le nouveau système de fichiers. Final Preparations traite de l'initialisation d'un environnement de travail approprié. Merci de lire le Final Preparations attentivement car il explique plusieurs points importants qu'un développeur doit savoir avant de commencer à travailler sur le Constructing Cross-Compile Tools et au-delà.

Constructing Cross-Compile Tools explique l'installation des outils de compilation croisée qui seront construits sur l'hôte mais qui pourront compiler des programmes qui se lancent sur la machine cible. Ces outils de compilation croisée seront utilisés pour créer un système temporaire et minimal, qui sera la base de la construction du système CLFS final. Certains de ces paquets sont nécessaires pour résoudre des dépendances circulaires—par exemple, pour compiler un compilateur, vous avez besoin d'un compilateur.

La procédure de construction des outils de compilation croisée implique tout d'abord de construire et d'installer tous les outils nécessaires pour créer un système de construction pour la machine cible. Avec ces outils de compilation croisée, nous éliminons toute dépendance de l'ensemble d'outils par rapport à notre distribution hôte.

Après avoir construit nos “outils croisés”, nous commençons à construire un système opérationnel très minimal dans /tools. Ce système minimal sera construit en utilisant l'ensemble d'outils croisés dans /cross-tools.

Dans le Installing Basic System Software, on construit le système CLFS complet. Selon le système pour lequel vous faites une compilation croisée, soit vous démarrerez le système temporaire minimal sur la machine cible, soit vous vous chrootez dedans.

Le programme chroot (change root, changer de racine) est utilisé pour rentrer dans un environnement virtuel et démarrer un nouveau shell dont le répertoire racine sera initialisé à la partition CLFS. Cela ressemble beaucoup à un démarrage et à une demande au noyau de monter la partition CLFS en tant que partition racine. Le principal avantage est que “chrooter” permet à celui qui construit de continuer à utiliser l'hôte pendant que CLFS se construit. Tout en attendant que la compilation d'un paquet se termine, un utilisateur peut ouvrir sur une autre console virtuelle (VC) ou un bureau X et continuer à utiliser l'ordinateur normallement.

Certains systèmes ne peuvent être compilés en se chrootant et doivent donc être démarrés. Généralement, si vous construisez pour une architecture différente du système hôte, vous devez redémarrer car le noyau ne supportera probablement pas la machine cible. Un redémarrage oblige à installer quelques paquets supplémentaires nécessaires pour un démarrage, à installer des scripts de démarrage et à construire un noyau minimal. Nous décrivons aussi des méthodes de démarrage alternatives dans le Section 7.18, “Que faire ensuite”

Pour finir l'installation, on initialise les scripts de démarrage CLFS dans le Setting Up System Bootscripts, le noyau ainsi que le chargeur de démarrage dans le Making the CLFS System Bootable. Le The End contient des informations pour aller au-delà de l'expérience CLFS, plus loin que le livre. Après avoir effectué cette étape du livre, l'ordinateur sera prêt à redémarrer dans le nouveau système CLFS.

C'est en gros la procédure. Des informations détaillées sur chaque étape sont données dans les chapitres suivants, ainsi que les descriptions des paquets. Les points qui paraissent complexes seront clarifiés et et tout prendra du sens au fur et à mesure que le lecteur se lance dans l'aventure CLFS.