mountproc.xml 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <sect1 id="ch-system-proc">
  2. <title>Mounting the proc and devpts file systems</title>
  3. <?dbhtml filename="proc.html" dir="chapter06"?>
  4. <para>In order for certain programs to function properly, the
  5. <emphasis>proc</emphasis> and <emphasis>devpts</emphasis> file systems must be
  6. available within the chroot environment. Since kernel version 2.4 a file system
  7. can be mounted as many times and in as many places as you like, thus it's not a
  8. problem that these file systems are already mounted on your host system,
  9. especially so because they are virtual file systems.</para>
  10. <para>First make the mount points for these filesystems:</para>
  11. <screen><userinput>mkdir -p $LFS/{proc,dev/pts}</userinput></screen>
  12. <para>Now become <emphasis>root</emphasis>, since only
  13. <emphasis>root</emphasis> can mount file systems in unusual places. Then
  14. check again that the LFS environment variable is set correctly by running
  15. <userinput>echo $LFS</userinput> and making sure it shows the path to your LFS
  16. partition's mount point, which is <filename
  17. class="directory">/mnt/lfs</filename> if you followed our example.</para>
  18. <para>The <emphasis>proc</emphasis> file system is the process information
  19. pseudo file system through which the kernel provides information about the
  20. status of the system. Mount it with:</para>
  21. <screen><userinput>mount proc $LFS/proc -t proc</userinput></screen>
  22. <para>The <emphasis>devpts</emphasis> file system is now the most common way
  23. for pseudo terminals (PTYs) to be implemented. Mount it with:</para>
  24. <screen><userinput>mount devpts $LFS/dev/pts -t devpts</userinput></screen>
  25. <para>This last command might fail with an error to the effect of:</para>
  26. <blockquote><screen>filesystem devpts not supported by kernel</screen></blockquote>
  27. <para>The most likely cause for this is that your host system's kernel was
  28. compiled without support for the devpts file system. You can check which file
  29. systems your kernel supports by peeking into its internals with
  30. <command>cat /proc/filesystems</command>. If a file system type named
  31. <emphasis>devfs</emphasis> is listed there, then we'll be able to work around
  32. the problem by mounting the host's devfs file system on top of the new
  33. <filename>/dev</filename> structure which we'll create later on in the section
  34. on <xref linkend="ch-system-MAKEDEV"/>. If devfs was not listed, do not worry
  35. because there is yet a third way to get PTYs working inside the chroot
  36. environment. We'll cover this shortly in the aforementioned
  37. <xref linkend="ch-system-MAKEDEV"/> section.</para>
  38. <para>Remember, if for any reason you stop working on your LFS, and start again
  39. later, it's important to check that these file systems are mounted again before
  40. entering the chroot environment, otherwise some problems could occur.</para>
  41. </sect1>