6.2. 准备虚拟内核文件系统

内核产生的各种文件系统是用来和内核自己通信的。 这些文件系统是虚拟的, 它们不占用磁盘空间, 这些文件系统的内容存在于内存中。

首先让我们为虚拟内核文件系统建立挂载目录:

mkdir -v $LFS/{dev,proc,sys}

6.2.1.创建初始设备节点

内核在引导系统时要求存在某些设备节点,特别是 consolenull 设备。 为了在 udevd 启动之前以及 Linux 以 init=/bin/bash 启动时,这些设备节点可以使用,就必须在硬盘上创建它们。 通过运行下面的命令来创建这些设备:

mknod -m 600 $LFS/dev/console c 5 1
mknod -m 666 $LFS/dev/null c 1 3

6.2.2. 挂载并填充 /dev 目录

推荐的向 /dev 目录填充设备的方法是在 /dev 上挂载一个虚拟文件系统(比如 tmpfs), 然后在设备被检测到或被访问到的时候 (通常是在 Udev 引导的过程中) 动态创建设备节点。 因为现在新的系统还没有Udev,并且尚未被引导, 所以就有必要通过手工挂载和填充 /dev 目录。 这可以通过绑定挂载宿主系统的 /dev 目录。 绑定挂载是一种特殊的挂载方式, 允许你创建一个目录或者是挂载点的镜像到其他的地方。 可以使用下面的命令:

mount -v --bind /dev $LFS/dev

6.2.3.挂载虚拟内核文件系统

现在挂载剩余的虚拟内核文件系统:

mount -vt devpts devpts $LFS/dev/pts
mount -vt tmpfs shm $LFS/dev/shm
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys