| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | <sect1 id="ch-system-proc"><title>Mounting the proc and devpts file systems</title><?dbhtml filename="proc.html" dir="chapter06"?><para>In order for certain programs to function properly, the<emphasis>proc</emphasis> and <emphasis>devpts</emphasis> file systems must beavailable within the chroot environment. The proc file system is the processinformation pseudo file system through which the kernel provides informationabout the status of the system. And the devpts file system is nowadays the mostcommon way pseudo terminals (PTYs) are implemented. Since kernel version 2.4, afile system can be mounted as many times and in as many places as you like,thus it's not a problem that these file systems are already mounted on yourhost system, especially so because they are virtual file systems.</para><para>First become <emphasis>root</emphasis>, as only <emphasis>root</emphasis>can mount file systems in unusual places. Then check again that the LFSenvironment variable is set correctly by running <userinput>echo$LFS</userinput> and making sure it shows the path to your LFS partition'smount point, which is <filename class="directory">/mnt/lfs</filename> if youfollowed our example.</para><para>Now make the mount points for these filesystems:</para><screen><userinput>mkdir -p $LFS/{proc,dev/pts}</userinput></screen><para>Mount the <emphasis>proc</emphasis> file system with:</para><screen><userinput>mount proc $LFS/proc -t proc</userinput></screen><para>And mount the <emphasis>devpts</emphasis> file system with:</para><screen><userinput>mount devpts $LFS/dev/pts -t devpts</userinput></screen><para>This last command might fail with an error like:</para><blockquote><screen>filesystem devpts not supported by kernel</screen></blockquote><para>The most likely cause for this is that your host system's kernel wascompiled without support for the devpts file system. You can check which filesystems your kernel supports by peeking into its internals with<command>cat /proc/filesystems</command>. If a file system type named<emphasis>devfs</emphasis> is listed there, then we'll be able to work aroundthe problem by mounting the host's devfs file system on top of the new<filename>/dev</filename> structure which we'll create later on in the sectionon <xref linkend="ch-system-MAKEDEV"/>. If devfs was not listed, do not worrybecause there is yet a third way to get PTYs working inside the chrootenvironment. We'll cover this shortly in the aforementioned<xref linkend="ch-system-MAKEDEV"/> section.</para><para>Remember that if for any reason you stop working on your LFS, and startagain later, it's important to check that these file systems are mounted againbefore entering the chroot environment, otherwise problems could occur.</para></sect1>
 |