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 be
- available within the chroot environment. Since kernel version 2.4 a file 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 your host system,
- especially so because they are virtual file systems.</para>
- <para>First make the mount points for these filesystems:</para>
- <screen><userinput>mkdir -p $LFS/{proc,dev/pts}</userinput></screen>
- <para>Now become <emphasis>root</emphasis>, since only
- <emphasis>root</emphasis> can mount file systems in unusual places. Then
- check again that the LFS environment variable is set correctly by running
- <userinput>echo $LFS</userinput> and making sure it shows the path to your LFS
- partition's mount point, which is <filename
- class="directory">/mnt/lfs</filename> if you followed our example.</para>
- <para>The <emphasis>proc</emphasis> file system is the process information
- pseudo file system through which the kernel provides information about the
- status of the system. Mount it with:</para>
- <screen><userinput>mount proc $LFS/proc -t proc</userinput></screen>
- <para>The <emphasis>devpts</emphasis> file system is now the most common way
- for pseudo terminals (PTYs) to be implemented. Mount it with:</para>
- <screen><userinput>mount devpts $LFS/dev/pts -t devpts</userinput></screen>
- <para>This last command might fail with an error to the effect of:</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 was
- compiled without support for the devpts file system. You can check which file
- systems 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 around
- the 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 section
- on <xref linkend="ch-system-MAKEDEV"/>. 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
- <xref linkend="ch-system-MAKEDEV"/> section.</para>
- <para>Remember, if for any reason you stop working on your LFS, and start again
- later, it's important to check that these file systems are mounted again before
- entering the chroot environment, otherwise some problems could occur.</para>
- </sect1>
|