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. A file system can be mounted as many times and in as many places as you like, thus 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 the process information pseudo-filesystem that the kernel uses to provide status information about the status of the system.

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

mount proc /proc -t proc

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 devpts file system was mentioned earlier and is now the most common way for pseudo terminals (PTYs) to be implemented.

The devpts file system is mounted on /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

The most likely cause is that your host system's kernel was compiled without support for the devpts file system. You can check which file systems your kernel supports by peeking into its internals with a command such as cat /proc/filesystems. If for some reason, devpts is listed there but the mount still doesn't work, check instead for a different file system variety called devfs. If devfs is listed then we'll be able to work around the problem by mounting the host's devfs file system on top of the new /dev structure which we'll create later on in the "Creating devices (Makedev)" section. If devfs was not listed, do not worry because there is yet a third way to get PTYs working inside the chroot environment. We'll cover this shortly in the aforementioned Makedev section.

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 problems are likely to occur.