Entrée dans l'environnement chroot

C'est le moment d'entrer dans l'environnement chroot afin d'installer le reste des programmes nécessaires. Avant de lancer la commande chroot, vous devez être root car seul cet utilisateur peut utiliser cette commande.

Comme précédemment, assurez-vous que la variable d'environnement LFS est configurée correctement en lançant echo $LFS et en vérifiant que le chemin affiché pointe bien vers le point de montage de la partition LFS, c'est-à-dire /mnt/lfs si vous avez suivi notre exemple.

Devenez root et lancez la commande suivante pour entrer dans l'environnement chroot :

chroot $LFS /tools/bin/env -i \
    HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
    LDFLAGS="-s" \
    /tools/bin/bash --login

L'option -i donné à la commande env efface toutes les variables de l'environnement chroot. Après cela, seules les variables HOME, TERM, PS1 et PATH sont initialisées de nouveau. La commande TERM=$TERM initialise la variable TERM à l'intérieur de chroot avec la même valeur que celle qu'elle avait à l'extérieur ; cette variable est utilisée par des programmes comme vim et less pour fonctionner correctement. Si vous avez besoin d'autres variables, telles que CFLAGS ou CXXFLAGS, vous pouvez aussi les initialiser ici.

Dès maintenant, nous n'avons plus besoin d'utiliser la variable LFS -- car ce que le shell pense être / est la valeur de $LFS, qui a été passée à la commande chroot.

Notez que /tools/bin est le dernier dans PATH. Ceci signifie qu'un outil temporaire ne sera pas utilisé tant que sa version finale ne sera pas installée. Enfin, au moins lorsque le shell ne se rappelle pas de l'emplacement des binaires exécutés, et c'est pour cette raison que le hachage est désactivé un peu plus tard.

Assurez-vous que les commandes dans le reste de ce chapitre et dans les suivants sont exécutées dans l'environnement chroot. Si vous quittez l'environnement chroot (en redémarrant l'ordinateur par exemple), Pensez à retourner de nouveau dans l'environnement chroot et à monter une nouvelle fois les systèmes de fichiers proc et devpts (comme indiqué plus tard) avant de continuer dans le livre.

Notez que l'invite de bash contiendra "I have no name!" (je n'ai pas de nom!) ce qui est normal puisque /etc/passwd n'a pas encore été créé.