Various file systems exported by the kernel are used to communicate to and from the kernel itself. These file systems are virtual in that no disk space is used for them. The content of the file systems resides in memory.
Begin by creating directories onto which the file systems will be mounted:
mkdir -pv $LFS/{dev,proc,sys,run}
During a normal boot, the kernel automatically mounts the
devtmpfs
filesystem on the
/dev
directory, and allow the devices
to be created dynamically on that virtual filesystem as they are
detected or accessed. Device creation is generally done during the
boot process by the kernel and Udev. Since this new system does not
yet have Udev and has not yet been booted, it is necessary to mount
and populate /dev
manually. This is
accomplished by bind mounting the host system's /dev
directory. A bind mount is a special type of
mount that allows you to create a mirror of a directory or mount
point to some other location. Use the following command to achieve
this:
mount -v --bind /dev $LFS/dev
Now mount the remaining virtual kernel filesystems:
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
In some host systems, /dev/shm
is a
symbolic link to /run/shm
. The /run
tmpfs was mounted above so in this case only a directory needs to
be created.
if [ -h $LFS/dev/shm ]; then mkdir -pv $LFS/$(readlink $LFS/dev/shm) fi