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 -pv $LFS/{dev,proc,sys,run}
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 le noyau
ne remplisse /dev
, 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
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é tout à
l'heure, donc vous ne devez créer un répertoire que dans ce cas
précis.
if [ -h $LFS/dev/shm ]; then mkdir -pv $LFS/$(readlink $LFS/dev/shm) fi