Maintenant que tous les paquets requis pour construire le reste des
outils nécessaires sont sur le système, il est temps d'entrer dans
l'environnement chroot pour finir l'installation des outils
temporaires. Nous utiliserons aussi cet environnement pour
l'installation du système final. En tant que root
, lancez la commande suivante pour entrer
dans cet environnement qui, pour le moment, contient seulement les
outils temporaires :
chroot "$LFS" /usr/bin/env -i \ HOME=/root \ TERM="$TERM" \ PS1='(lfs chroot) \u:\w\$ ' \ PATH=/usr/bin:/usr/sbin \ MAKEFLAGS="-j$(nproc)
" \ TESTSUITEFLAGS="-j$(nproc)
" \ /bin/bash --login
Si vous ne voulez pas utiliser tous les cœurs logiques disponibles,
remplacez $(nproc)
par le
nombre de cœurs logiques que vous voulez utiliser pour construire les
paquets de ce chapitre et des chapitres suivants. Les suites de test
de certains paquets (notamment AUtoconf, Libtool et Tar) dans
Chapitre 8
ne sont pas affectées par MAKEFLAGS
, elles
utilisent une variable d'environnement TESTSUITEFLAGS
à la place. Nous l'indiquons également
ici pour exécuter ces tests avec plusieurs cœurs.
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 rétablis. La construction TERM=$TERM
définit la variable
TERM
à l'intérieur du chroot avec la même
valeur qu'à l'extérieur du chroot. Cette variable est nécessaire pour
que des programmes comme vim et less fonctionnent correctement. Si
vous avez besoin d'autres variables, telles que CFLAGS
ou CXXFLAGS
, c'est
le bon endroit pour les indiquer.
À partir de maintenant, il n'est plus nécessaire d'utiliser la
variable LFS
parce que tout le travail
sera restreint au système de fichiers LFS. La commande chroot exécute l'interpréteur de
commande Bash avec le répertoire racine (/
) correspondant à $LFS
.
Remarquez que /tools/bin
n'est pas dans
le PATH
. Ceci signifie que la chaîne
d'outils croisée ne sera plus utilisée.
Remarquez également que l'invite bash affichera I have no name!
. Ceci est normal car le
fichier /etc/passwd
n'a pas encore été
créé.
Il est important que toutes les commandes au sein du reste de ce chapitre et des chapitres suivants soient exécutées à l'intérieur de l'environnement chroot. Si vous devez quitter cet environnement pour une quelconque raison (un redémarrage par exemple), assurez-vous que les systèmes de fichiers virtuels du noyau sont montés comme expliqué dans Section 7.3.1, « Monter et alimenter /dev » et Section 7.3.2, « Monter les systèmes de fichiers virtuels du noyau » et entrez de nouveau dans le chroot avant de continuer l'installation.