Les fichiers .la de libtool ne sont utiles que pour lier des bibliothèques statiques. Ils ne sont pas requis, et potentiellement dangereux, quand on utilise des bibliothèques dynamiques, surtout pour les systèmes de construction qui n'utilisent pas les autotools. Toujours dans le chroot, supprimez ces fichiers maintenant :
find /usr/{lib,libexec} -name \*.la -delete
Supprimez la documentation des outils temporaires, pour éviter qu'elle ne se retrouve sur le système final, et sauvez environ 35 :Mo :
rm -rf /usr/share/{info,man,doc}/*
Toutes les étapes restantes dans cette section sont optionnelles. Cependant, dès que vous commencez à installer des paquets dans Chapitre 8, les outils temporaires seront écrasés. Donc il peut être une bonne idée d'effectuer une sauvegarde des outils temporaires comme décrit plus bas. Les autres étapes ne sont requise que si vous avez vraiment très peu d'espace disque.
Les étapes suivantes sont effectuées depuis l'extérieur de l'environnement chroot. Cela signifie que vous devez quitter l'environnement chroot avant de continuer. La raison pour cela est que :
cela s'assure que les objets ne sont pas utilisés pendant leur manipulation,
cela permet d'accéder aux emplacements du système de fichiersr
en dehors de l'environnement chroot pour stocker/lire l'archive
de sauvegarde qui ne doit pas être placée dans la hiérarchie
$LFS
pour des raisons de
sécurité.
Quittez l'environnement chroot et démontez les systèmes de fichiers virtuels du noyau :
Toutes les instructions suivantes sont effectuées en root
. Faites particulièrement attention aux
commandes que vous utilisez car une erreur peut ici modifier votre
système hôte. Soyez conscient que la variable d'environnement
LFS
est initialisée par défaut pour
l'utilisateur lfs
, mais ce n'est
pas le cas pour root
. Lorsque les commandes doivent être
exécutées par root
, assurez-vous
que vous avez correctement initialisé LFS
. On en a parlé dans Section 2.6,
« Définir la variable $LFS ».
exit umount $LFS/dev{/pts,} umount $LFS/{sys,proc,run}
Si la partition LFS est plutôt petite, il est bon de savoir que des éléments inutiles peuvent être enlevés. Les exécutables et les bibliothèques construites jusqu'ici contiennent un peu plus de 90 Mo de symbole de débogages inutiles.
Débarrassez les binaires de leurs symboles de débogage :
strip --strip-debug $LFS/usr/lib/* strip --strip-unneeded $LFS/usr/{,s}bin/* strip --strip-unneeded $LFS/tools/bin/*
Ces commandes passeront un certain nombre de fichiers en rapportant qu'elles n'ont pas pu reconnaître leur format de fichier. La plupart sont des scripts au lieu de binaires.
Prenez soin de ne PAS
utiliser --strip-unneeded
sur les bibliothèques. Les bibliothèques statiques seraient
détruites et les paquets de la chaîne d'outils devraient être de
nouveau reconstruits.
Maintenant, vous devriez avoir au moins 5 Go d'espace libre sur la partition chroot qui peut être utilisé pour construire et installer Glibc et GCC dans la prochaine phase. Si vous pouvez construire et installer Glibc, vous pouvez construire et installer le reste aussi. Vous pouvez vérifier l'espace libre avec la commande df -h $LFS.
Maintenant que les outils essentiels ont été créés, il est temps de réfléchir à faire une sauvegarde. Lorsque tous les tests passent correctement dasn les paquets construits précédemment, vos outils temporaires sont dans un bon état et peuvent être sauvegardés pour être utilisés plus tard. Si vous avez une erreur fatale dans le chapitres suivants, cela permet de tout supprimer et de recommencer (en étant plus prudent). Malheureusement, tous les outils temporaires seront supprimés. Pour éviter de passer du temps à refaire quelque chose qui a déjà été construit, préparez une sauvegarde.
Assurez-vous d'avoir au moins 600 Mo d'espace libre (les archives
de sources seront incluses dans l'archive de sauvegarde) dans le
répertoire personnel de l'utilisateur root
.
Créez l'archive de sauvegarde en lançant la commande suivante :
cd $LFS && tar -cJpf $HOME/lfs-temp-tools-20210326-systemd.tar.xz .
Remplacez $HOME
par un répertoire de
votre choix si vous ne voulez pas avoir la sauvegarde dans le
répertoire personnel de root
.
Au cas où vous fassiez une erreur et deviez recommencer de zéro,
vous pouvez utiliser cette archive pour restaurer les outils
temporaires et gagner du temps lors de la correction. Comme les
sources se trouvent dans $LFS
, elles
sont incluses dans l'archive de sauvegarde aussi, donc elles n'ont
pas besoin d'être re-téléchargées. Après avoir vérifié que
$LFS
est correctement initialisée,
restaurez la sauvegarde en exécutant les commandes
suivantes: :
cd $LFS &&
rm -rf ./* &&
tar -xpf $HOME/lfs-temp-tools-20210326-systemd.tar.xz
De nouveau, vérifiez que l'environnement en correctement paramétré et continuez à construire le reste du système.
Si vous avez quitté l'environnement chroot pour vous débarrasser des symboles de débogage, créer une sauvegarde ou redémarrer une construction depuis une sauvegarde, rappelez-vous de monter les systèmes de fichiers virtuels du noyau comme décrit dans Section 7.3, « Préparer les systèmes de fichiers virtuels du noyau » et de re-rentrer dans l'environnement chroot (voir Section 7.4, « Entrer dans l'environnement chroot ») avant de continuer.