Mounting the proc and devpts file systems

In order for certain programs to function properly, the proc and devpts file systems must be available within the chroot environment. As a file system can be mounted as many times and in as many places as you like, it's not a problem that the these file systems are already mounted on your host system -- especially so because they are virtual file systems.

The proc file system is mounted under /proc by running the following command:

mount proc /proc -t proc

The devpts file system is mounted to /dev/pts by running:

mount devpts /dev/pts -t devpts

Should this command fail with an error to the effect of:

filesystem devpts not supported by kernel

It means that your host system does not support devpts. You have two options at this point. You can either not worry about it, in which case some of the tests we will run later will fail, or you can use the following command from a terminal not in chroot to put your host's pts system into your new LFS's filesystem:

mount --bind /dev/pts $LFS/dev/pts

You might get warning messages from the mount command, such as these:

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

Ignore these, they're just due to the fact that the system isn't installed completely yet and some files are missing. The mount itself will be successful and that's all we care about at this point.

The last error (not enough memory) doesn't always show up. It depends on your system configuration (such as the host system's Glibc version that was used to compile the mount program with).

Remember, if for any reason you stop working on your LFS, and start again later, it's important to check that these filesystems are still mounted inside the chroot environment. Otherwise, some programs might end up compiled incorrectly.