mountproc.xml 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <sect1 id="ch06-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. A file system can be mounted as many
  7. times and in as many places as you like, thus it's not a problem that the these
  8. file systems are already mounted on your host system -- especially so because
  9. they are virtual file systems.</para>
  10. <para>The <emphasis>proc</emphasis> file system is the process information
  11. pseudo-filesystem that the kernel uses to provide status information about the
  12. status of the system.</para>
  13. <para>The proc file system is mounted on
  14. <filename class="directory">/proc</filename> by running the following
  15. command:</para>
  16. <screen><userinput>mount proc /proc -t proc</userinput></screen>
  17. <para>You might get warning messages from the mount command, such as
  18. these:</para>
  19. <blockquote><screen>warning: can't open /etc/fstab: No such file or directory
  20. not enough memory</screen></blockquote>
  21. <para>Ignore these, they're just due to the fact that the system
  22. isn't installed completely yet and some files are missing. The mount itself
  23. will be successful and that's all we care about at this point.</para>
  24. <para>The <emphasis>devpts</emphasis> file system was mentioned earlier and is
  25. now the most common way for pseudo terminals (PTYs) to be implemented.</para>
  26. <para>The devpts file system is mounted on
  27. <filename class="directory">/dev/pts</filename> by running:</para>
  28. <screen><userinput>mount devpts /dev/pts -t devpts</userinput></screen>
  29. <para>Should this command fail with an error to the effect of:</para>
  30. <blockquote><screen>filesystem devpts not supported by kernel</screen></blockquote>
  31. <para>The most likely cause is that your host system's kernel was compiled
  32. without support for the devpts file system. You can check which file systems
  33. your kernel supports by peeking into its internals with a command such as
  34. <userinput>cat /proc/filesystems</userinput>. If for some reason, devpts is
  35. listed there but the mount still doesn't work, check instead for a different
  36. file system variety called <emphasis>devfs</emphasis>. If devfs is listed then
  37. we'll be able to work around the problem by mounting the host's devfs file
  38. system on top of the new <filename>/dev</filename> structure which we'll create
  39. later on in the "Creating devices (Makedev)" section. If devfs was not listed,
  40. do not worry because there is yet a third way to get PTYs working inside the
  41. chroot environment. We'll cover this shortly in the aforementioned Makedev
  42. section.</para>
  43. <para>Remember, if for any reason you stop working on your LFS, and start again
  44. later, it's important to check that these filesystems are still mounted inside
  45. the chroot environment, otherwise problems are likely to occur.</para>
  46. </sect1>