| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | <sect1 id="ch06-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. A file system can be mounted as manytimes and in as many places as you like, thus it's not a problem that the thesefile systems are already mounted on your host system -- especially so becausethey are virtual file systems.</para><para>The <emphasis>proc</emphasis> file system is the process informationpseudo-filesystem that the kernel uses to provide status information about thestatus of the system.</para><para>The proc file system is mounted on<filename class="directory">/proc</filename> by running the followingcommand:</para><para><screen><userinput>mount proc /proc -t proc</userinput></screen></para><para>You might get warning messages from the mount command, such asthese:</para><blockquote><screen>warning: can't open /etc/fstab: No such file or directorynot enough memory</screen></blockquote><para>Ignore these, they're just due to the fact that the systemisn't installed completely yet and some files are missing. The mount itselfwill be successful and that's all we care about at this point.</para><para>The <emphasis>devpts</emphasis> file system was mentioned earlier and isnow the most common way for pseudo terminals (PTYs) to be implemented.</para><para>The devpts file system is mounted on <filename class="directory">/dev/pts</filename> by running:</para><para><screen><userinput>mount devpts /dev/pts -t devpts</userinput></screen></para><para>Should this command fail with an error to the effect of:</para><blockquote><screen>filesystem devpts not supported by kernel</screen></blockquote><para>The most likely cause is that your host system's kernel was compiledwithout support for the devpts file system. You can check which file systemsyour kernel supports by peeking into its internals with a command such as<userinput>cat /proc/filesystems</userinput>. If for some reason, devpts islisted there but the mount still doesn't work, check instead for a differentfile system variety called <emphasis>devfs</emphasis>. If devfs is listed thenwe'll be able to work around the problem by mounting the host's devfs filesystem on top of the new <filename>/dev</filename> structure which we'll createlater 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 thechroot environment. We'll cover this shortly in the aforementioned Makedevsection.</para><para>Remember, if for any reason you stop working on your LFS, and start againlater, it's important to check that these filesystems are still mounted insidethe chroot environment, otherwise problems are likely to occur.</para></sect1>
 |