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 $HLFS/{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
. Ceux-ci vont ê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 $HLFS/dev/console c 5 1 mknod -m 666 $HLFS/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 $HLFS/dev
Maintenant montez les systèmes de fichiers virtuels du noyau qui en résultent :
mount -vt devpts devpts $HLFS/dev/pts mount -vt tmpfs shm $HLFS/dev/shm mount -vt proc proc $HLFS/proc mount -vt sysfs sysfs $HLFS/sys
Créez un lien symbolique de /dev/urandom
vers /dev/erandom
s'il n'existe pas :
if ! [ -e /dev/erandom ]; then ln -vs urandom $HLFS/dev/erandom ; fi