Configurer l'environnement

Une fois connecté en tant qu'utilisateur lfs, lancez les commandes suivantes pour mettre en place un bon environnement de travail :

cat > ~/.bash_profile << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LDFLAGS="-s"
PATH=/tools/bin:$PATH
export LFS LC_ALL LDFLAGS PATH
unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
EOF
source ~/.bash_profile

La commande set +h arrête la fonction de hachage de bash. Le hachage est normalement une fonction utile. bash utilise une table hachée pour se rappeler les chemins complets des fichiers exécutables ce qui évite de nombreuses recherches dans 'PATH' à chaque fois qu'un éxécutable doit être exécuté. Néanmoins, nous souhaitons que les nouveaux outils deviennent disponibles tout de suite après leur installation. En désactivant la fonction de hachage, nos commandes "interactives" (make, patch, sed, cp, etc.) utiliseront toujours les dernières versions disponibles lors du processus de construction.

Ce profil configure le umask à 022, donc les fichiers et les répertoires nouvellement créés auront les bonnes permissions. Pour être plus précis, seul le propriétaire du fichier aura la permission d'écriture sur les nouveaux fichiers et répertoires. Les autres utilisateurs du système auront le droit de lire et le droit de traverser les répertoires. Il est conseillé de garder ce paramétrage tout au long de l'installation LFS.

La variable LFS doit bien sûr être configuré au point de montage que vous avez choisi.

La variable LC_ALL contrôle l'emplacement de certains programmes, en faisant que certains messages suivent les conventions du pays spécifié. Si votre système hôte utilise une version de la Glibc plus ancienne que la 2.2.4, avoir LC_ALL positionné sur quelque chose d'autre que "POSIX" ou "C" durant ce chapitre peut poser des problèmes si vous sortez de l'environnement chroot et souhaitez y retourner plus tard. En positionnant LC_ALL à "POSIX" (ou "C", les deux étant équivalents), nous nous assurons que tout fonctionnera comme attendu dans l'environnement chroot.

Nous ajoutons /tools/bin au début du PATH standard de façon à ce que, au fur et à mesure de notre progression dans ce chapitre, les outils que nous avons construits soient utilisés lors du reste du processus de construction.

Les variables d'environnement CC, CXX, CPP, LD_LIBRARY_PATH et LD_PRELOAD peuvent toutes potentiellement poser problème avec notre ensemble d'outils du chapitre 5 Nous devons donc les dés-initialiser pour supprimer tout risque que cela arrive.

Maintenant, après avoir intégré les profiles tout récemment créés, nous avons complètement terminé la configuration et la construction des outils temporaires qui nous aideront dans les chapitres qui suivent.