Les applications qui tournent en espace utilisateur utilisent différents systèmes de fichiers créés par le noyau pour communiquer avec le noyau lui-même. Ces systèmes de fichiers sont virtuels du fait qu'ils n’utilisent aucun espace disque. Le contenu de ces systèmes de fichiers réside en mémoire. Ces systèmes de fichiers doivent être montés dans l’arborescence de $LFS pour que les applications puissent les trouver dans l’environnement chroot.
Commencez par créer les répertoires dans lesquels les systèmes de fichiers seront montés :
mkdir -pv $LFS/{dev,proc,sys,run}
Lors d'un démarrage normal d'un système LFS, le noyau monte
automatiquement le système de fichiers devtmpfs
dans le répertoire /dev
et crée des nœuds de périphériques sur ce
système de fichiers virtuel pendant le processus de démarrage ou
lorsqu’un périphérique est détecté ou qu'on tente d'y pour la
première fois. Le démon udev permet de modifier le propriétaire, de
gérer les permissions des nœuds de périphériques créés par le
noyau, d’en créer de nouveaux ou de créer des liens symboliques
afin de faciliter la tâche de maintenance de distribution ou
d'administration système (voir le Section 9.3.2.2,
« Création de nœuds de périphérique » pour plus de
détails). Si le noyau hôte prend en charge devtmpfs
, il est possible de monter un
devtmpfs
sous $LFS/dev
et ainsi laisser le noyau le remplir.
Cependant, certains systèmes hôtes ne prennent pas en charge
devtmpfs
. Ces distributions hôtes
utilisent plusieurs méthodes pour créer le contenu de /dev
. La seule manière de remplir $LFS/dev
indépendamment de l'hôte consiste à
monter le répertoire /dev
du système
hôte avec l’option bind. Le montage avec --bind est un type spécial
de montage qui vous permet de créer le miroir d'un répertoire ou
d'un point de montage à un autre endroit. Pour ce faire, exécutez
la commande suivante.
mount -v --bind /dev $LFS/dev
Montez maintenant les systèmes de fichiers virtuels du noyau restants :
mount -v --bind /dev/pts $LFS/dev/pts mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys mount -vt tmpfs tmpfs $LFS/run
Dans certains systèmes hôtes, /dev/shm
est un lien symbolique vers /run/shm
. Le tmpfs /run a été monté plus tôt,
donc, dans ce cas précis, vous aurez uniquement à créer un
répertoire.
Sur d’autres systèmes hôtes, /dev/shm
est un point de montage pour un tmpfs. Dans ce cas, le montage de
/dev ci-dessus créera le répertoire /dev/shm dans l'environnement
chroot. En parallèle, il faudra alors créer explicitement un
tmpfs :
if [ -h $LFS/dev/shm ]; then mkdir -pv $LFS/$(readlink $LFS/dev/shm) else mount -t tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm fi