Différents systèmes de fichiers exportés par le noyau sont utilisés pour communiquer avec le noyau lui-même. Ces systèmes de fichiers sont virtuels du fait qu'aucun espace disque n'est utilisé pour eux. Le contenu de ces systèmes de fichiers réside en mémoire.
Commencez en créant les répertoires dans lesquels les systèmes de fichiers seront montés :
mkdir -v $LFS/{dev,proc,sys}
Quand le noyau démarre le système, il a besoin de la présence de
quelques fichiers de périphériques, en particulier les
périphériques console
et null
. Les nœuds de périphérique doivent
être créés sur le disque dur afin d'être disponible avant que
udevd n'ait été
démarré et aussi quand Linux est démarré avec init=/bin/bash
. Créez les
périphériques en exécutant les commandes suivantes :
mknod -m 600 $LFS/dev/console c 5 1 mknod -m 666 $LFS/dev/null c 1 3
La méthode recommandée pour peupler le répertoire /dev
de périphériques est de monter un système de
fichiers virtuel (comme tmpfs
) sur
le répertoire /dev
, et d'autoriser la
création dynamique des périphériques sur le système de fichiers
virtuel une fois qu'ils sont détectés ou que quelque chose tente
d'y accéder. La création de périphériques est généralement faite
par Udev lors du démarrage. Comme ce nouveau système ne contient
pas encore Udev et n'a pas encore été démarré, il est nécessaire de
monter et de peupler /dev
manuellement. Cela se fait en montant en double le répertoire
/dev
du système hôte. Le montage en
double 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.
Utilisez la commande suivante pour réaliser cela :
mount -v --bind /dev $LFS/dev
Maintenant montez les systèmes de fichiers virtuels du noyau qui en résultent :
mount -vt devpts devpts $LFS/dev/pts mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys
Dans certains systèmes hôtes, /dev/shm
est un lien symbolique vers /run/shm
. Dans un environnement chroot, il faut
transformer ce lien symbolique en répertoire normal avant de le
monter en tant que système de fichiers temporaire :
if [ -h /dev/shm ]; then rm -f $LFS/dev/shm mkdir $LFS/dev/shm fi mount -vt tmpfs shm $LFS/dev/shm