8.5. Entrer dans l'environnement Chroot

Il est temps d'entrer dans l'environnement chroot pour commencer la construction et l'installation du système final CLFS. En tant que root, lancez la commande suivante pour entrer dans ce petit monde peuplé seulement, pour le moment, des outils temporaires :

chroot "${CLFS}" /tools/bin/env -i \
    HOME=/root TERM="${TERM}" PS1='\u:\w\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
    /tools/bin/bash --login +h

L'option -i donnée à la commande env effacera toutes les variables de l'environnement chroot. Après cela, seules les variables HOME, TERM, PS1 et PATH sont initialisées. La construction TERM=${TERM} initialisera la variable TERM à l'intérieur du chroot avec la même valeur qu'à l'extérieur ; cette variable est nécessaire pour que des programmes comme vim et less fonctionnent correctement. Si vous avez besoin de la présence d'autres variables, telles que CFLAGS or CXXFLAGS, c'est le bon moment pour les initialiser de nouveau.

À partir de maintenant, il n'est plus nécessaire d'utiliser la variable CLFS parce que tout le travail sera restreint au système de fichiers CLFS, car on a dit au shell Bash que ${CLFS} est maintenant le répertoire racine (/).

Remarquez que /tools/bin arrive dernier dans le PATH. Ceci signifie qu'un outil temporaire ne sera plus utilisé une fois que la version finale sera installée. Ceci survient quand le shell ne se “rappelle” plus des emplacements des binaires exécutés— Pour cette raison, le hachage est désactivé en passant l'option +h à bash.

Il est important que toutes les commandes pour le reste de ce chapitre et les chapitres suivants soient lancées à l'intérieur de l'environnement chroot. Si vous devez quitter cet environnement pour une quelconque raison (un redémarrage par exemple), vous devez vous rappeler de commencer par monter les systèmes de fichiers proc et devpts (traités dans la section précédente) et d'entrer de nouveau dans chroot avant de continuer les installations.

Remarquez que l'invite bash affichera I have no name!. Ceci est normal car le fichier /etc/passwd n'a pas encore été créé.