[1987d72] | 1 | <sect1 id="ch06-proc">
|
---|
[5c0b6e7] | 2 | <title>Mounting the proc and devpts file systems</title>
|
---|
[1987d72] | 3 | <?dbhtml filename="proc.html" dir="chapter06"?>
|
---|
| 4 |
|
---|
[7e602eab] | 5 | <para>In order for certain programs to function properly, the
|
---|
| 6 | <emphasis>proc</emphasis> and <emphasis>devpts</emphasis> file systems must be
|
---|
| 7 | available within the chroot environment. A file system can be mounted as many
|
---|
[360e2c4] | 8 | times and in as many places as you like, thus it's not a problem that these
|
---|
[7e602eab] | 9 | file systems are already mounted on your host system -- especially so because
|
---|
| 10 | they are virtual file systems.</para>
|
---|
[1987d72] | 11 |
|
---|
[7e602eab] | 12 | <para>The <emphasis>proc</emphasis> file system is the process information
|
---|
| 13 | pseudo-filesystem that the kernel uses to provide status information about the
|
---|
| 14 | status of the system.</para>
|
---|
[1987d72] | 15 |
|
---|
[7e602eab] | 16 | <para>The proc file system is mounted on
|
---|
| 17 | <filename class="directory">/proc</filename> by running the following
|
---|
| 18 | command:</para>
|
---|
[5c0b6e7] | 19 |
|
---|
[21ba4e3] | 20 | <screen><userinput>mount proc /proc -t proc</userinput></screen>
|
---|
[5c0b6e7] | 21 |
|
---|
[74d8c96] | 22 | <para>You might get warning messages from the mount command, such as
|
---|
| 23 | these:</para>
|
---|
[b464a72] | 24 |
|
---|
| 25 | <blockquote><screen>warning: can't open /etc/fstab: No such file or directory
|
---|
| 26 | not enough memory</screen></blockquote>
|
---|
| 27 |
|
---|
[2c094d6] | 28 | <para>Ignore these, they're just due to the fact that the system
|
---|
[b464a72] | 29 | isn't installed completely yet and some files are missing. The mount itself
|
---|
| 30 | will be successful and that's all we care about at this point.</para>
|
---|
| 31 |
|
---|
[7e602eab] | 32 | <para>The <emphasis>devpts</emphasis> file system was mentioned earlier and is
|
---|
| 33 | now the most common way for pseudo terminals (PTYs) to be implemented.</para>
|
---|
| 34 |
|
---|
| 35 | <para>The devpts file system is mounted on
|
---|
| 36 | <filename class="directory">/dev/pts</filename> by running:</para>
|
---|
| 37 |
|
---|
[21ba4e3] | 38 | <screen><userinput>mount devpts /dev/pts -t devpts</userinput></screen>
|
---|
[7e602eab] | 39 |
|
---|
| 40 | <para>Should this command fail with an error to the effect of:</para>
|
---|
| 41 |
|
---|
| 42 | <blockquote><screen>filesystem devpts not supported by kernel</screen></blockquote>
|
---|
[74d8c96] | 43 |
|
---|
[7e602eab] | 44 | <para>The most likely cause is that your host system's kernel was compiled
|
---|
| 45 | without support for the devpts file system. You can check which file systems
|
---|
| 46 | your kernel supports by peeking into its internals with a command such as
|
---|
[0b400add] | 47 | <userinput>cat /proc/filesystems</userinput>. If a file system type named
|
---|
| 48 | <emphasis>devfs</emphasis> is listed there, then we'll be able to work around
|
---|
| 49 | the problem by mounting the host's devfs file system on top of the new
|
---|
| 50 | <filename>/dev</filename> structure which we'll create later on in the
|
---|
| 51 | "Creating devices (Makedev)" section. If devfs was not listed, do not worry
|
---|
| 52 | because there is yet a third way to get PTYs working inside the chroot
|
---|
| 53 | environment. We'll cover this shortly in the aforementioned Makedev
|
---|
[7e602eab] | 54 | section.</para>
|
---|
| 55 |
|
---|
| 56 | <para>Remember, if for any reason you stop working on your LFS, and start again
|
---|
| 57 | later, it's important to check that these filesystems are still mounted inside
|
---|
| 58 | the chroot environment, otherwise problems are likely to occur.</para>
|
---|
[1a6a5c3] | 59 |
|
---|
[1987d72] | 60 | </sect1>
|
---|
| 61 |
|
---|