加载 proc 和 devpts 文件系统

为了某些程序的正常运行,必须在虚拟根(chroot)环境中提供procdevpts文件系统。由于一个文件系统可以被无限次的加载(更因为它们是虚拟的文件系统),所以不要担心它们已经在你的主系统里加载过了。

proc 文件系统表示 process information pseudo文件系统,内核用它来提供系统状态信息。

我们把 proc 文件系统加载到/proc目录下,命令如下:

mount proc /proc -t proc

你很可能会看到这样的警告:

warning: can't open /etc/fstab: No such file or directory
not enough memory

不用担心,这只是因为我们的系统还不完整,有些文件还没有创建。mount本身是成功的,我们只关心这个。

devpts 文件系统前面提到过,是目前最常见的 pseudo 终端(PTYs)实现方式。

devpts 文件系统加载在 /dev/pts ,命令如下:

mount devpts /dev/pts -t devpts

这个命令可能因为下面的错误而失败:

filesystem devpts not supported by kernel

最大的可能是你主系统的内核没有编译devpts文件系统支持。你可以用命令cat /proc/filesystems来查看一下。如果 devpts 列在那里,但还是不能mount,看看是不是使用了 devfs文件系统。如果devfs也列在那里,我们就有办法了,可以把主系统的devfs文件系统加载的后面"创建设备(Makedev"那一节里将创建的 /dev 结构之上,如果devfs也没有列出来,别担心,还有第三个方案可以使PTYs在chroot中正常工作,我们后面在Makedev那一节里会说到的。

记住,如果出于种种原因,你中止了LFS系统的安装,后来又要继续安装时,要检查一些这两个文件系统是不是还加载在chroot环境中,如果没有的话,就会出问题,需要再次加载。