diff options
Diffstat (limited to 'chapter06/chapter06.xml')
-rw-r--r-- | chapter06/chapter06.xml | 57 |
1 files changed, 56 insertions, 1 deletions
diff --git a/chapter06/chapter06.xml b/chapter06/chapter06.xml index e008d7cd5..070284803 100644 --- a/chapter06/chapter06.xml +++ b/chapter06/chapter06.xml @@ -60,7 +60,62 @@ with a series of short descriptions of these.</para> </sect1> -&c6-mountproc; + +<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. The proc file system is the process +information pseudo file system through which the kernel provides information +about the status of the system. And the devpts file system is nowadays the most +common way pseudo terminals (PTYs) are implemented. 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 become <emphasis>root</emphasis>, as 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>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 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 that 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 problems could occur.</para> + +</sect1> + <sect1 id="ch-system-chroot"> <title>Entering the chroot environment</title> |