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 un LiveCD. La plupart des distribution offrent un LiveCD, qui fournissent un environnement sur lequel vous pouvez ajouter les outils nécessaires, ce qui vous permet de suivre sans problèmes les instructions de ce livre. Souvenez-vous que si vous redémarrez le liveCD, vous devrez reconfigurer l'environnement hôte avant de continuer votre construction.

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 la chaîne 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 la chaîne 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.