6.2. Préparer les systèmes de fichiers virtuels du noyau

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}

6.2.1. Création des noeuds initiaux vers les périphériques

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

6.2.2. Monter et peupler /dev

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

6.2.3. Monter les systèmes de fichiers virtuels du noyau

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