1 | <sect1 id="ch06-proc">
|
---|
2 | <title>Mounting the proc and devpts file systems</title>
|
---|
3 | <?dbhtml filename="proc.html" dir="chapter06"?>
|
---|
4 |
|
---|
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
|
---|
8 | times and in as many places as you like, thus it's not a problem that these
|
---|
9 | file systems are already mounted on your host system -- especially so because
|
---|
10 | they are virtual file systems.</para>
|
---|
11 |
|
---|
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>
|
---|
15 |
|
---|
16 | <para>The proc file system is mounted on
|
---|
17 | <filename class="directory">/proc</filename> by running the following
|
---|
18 | command:</para>
|
---|
19 |
|
---|
20 | <screen><userinput>mount proc /proc -t proc</userinput></screen>
|
---|
21 |
|
---|
22 | <para>You might get warning messages from the mount command, such as
|
---|
23 | these:</para>
|
---|
24 |
|
---|
25 | <blockquote><screen>warning: can't open /etc/fstab: No such file or directory
|
---|
26 | not enough memory</screen></blockquote>
|
---|
27 |
|
---|
28 | <para>Ignore these, they're just due to the fact that the system
|
---|
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 |
|
---|
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 |
|
---|
38 | <screen><userinput>mount devpts /dev/pts -t devpts</userinput></screen>
|
---|
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>
|
---|
43 |
|
---|
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
|
---|
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
|
---|
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>
|
---|
59 |
|
---|
60 | </sect1>
|
---|
61 |
|
---|