aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/mountproc.xml
blob: 7b0bb98e02067c4e208971c180d202bba950e6eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<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. 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>The <emphasis>proc</emphasis> file system is the process information
pseudo-filesystem that the kernel uses to provide status information about the
status of the system.</para>

<para>The proc file system is mounted on
<filename class="directory">/proc</filename> by running the following
command:</para>

<screen><userinput>mount proc /proc -t proc</userinput></screen>

<para>You might get warning messages from the mount command, such as
these:</para>

<blockquote><screen>warning: can't open /etc/fstab: No such file or directory
not enough memory</screen></blockquote>

<para>Ignore these, they're just due to the fact that the system
isn't installed completely yet and some files are missing. The mount itself
will be successful and that's all we care about at this point.</para>

<para>The <emphasis>devpts</emphasis> file system was mentioned earlier and is
now the most common way for pseudo terminals (PTYs) to be implemented.</para>

<para>The devpts file system is mounted on 
<filename class="directory">/dev/pts</filename> by running:</para>

<screen><userinput>mount devpts /dev/pts -t devpts</userinput></screen>

<para>Should this command fail with an error to the effect of:</para>

<blockquote><screen>filesystem devpts not supported by kernel</screen></blockquote>

<para>The most likely cause 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 a command such as
<userinput>cat /proc/filesystems</userinput>. 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, if for any reason you stop working on your LFS, and start again
later, it's important to check that these filesystems are still mounted inside
the chroot environment, otherwise problems are likely to occur.</para>

</sect1>