source: chapter06/proc.xml@ 673b0d8

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 673b0d8 was 673b0d8, checked in by Matthew Burgess <matthew@…>, 20 years ago
  • Merged newxml into HEAD

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3435 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 2.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
3<sect1 id="ch-system-proc">
4<title>Mounting the proc and devpts file systems</title>
5<?dbhtml filename="proc.html"?>
6
7<para>In order for certain programs to function properly, the
8<emphasis>proc</emphasis> and <emphasis>devpts</emphasis> file systems must be
9available within the chroot environment. The proc file system is the process
10information pseudo file system through which the kernel provides information
11about the status of the system. And the devpts file system is nowadays the most
12common way pseudo terminals (PTYs) are implemented. Since kernel version 2.4, a
13file system can be mounted as many times and in as many places as you like,
14thus it's not a problem that these file systems are already mounted on your
15host system, especially so because they are virtual file systems.</para>
16
17<para>First become <emphasis>root</emphasis>, as only <emphasis>root</emphasis>
18can mount file systems in unusual places. Then check again that the LFS
19environment variable is set correctly by running <userinput>echo
20$LFS</userinput> and making sure it shows the path to your LFS partition's
21mount point, which is <filename class="directory">/mnt/lfs</filename> if you
22followed our example.</para>
23
24<para>Now make the mount points for these filesystems:</para>
25
26<screen><userinput>mkdir -p $LFS/{proc,dev/pts}</userinput></screen>
27
28<para>Mount the <emphasis>proc</emphasis> file system with:</para>
29
30<screen><userinput>mount proc $LFS/proc -t proc</userinput></screen>
31
32<para>And mount the <emphasis>devpts</emphasis> file system with:</para>
33
34<screen><userinput>mount devpts $LFS/dev/pts -t devpts</userinput></screen>
35
36<para>This last command might fail with an error like:</para>
37
38<blockquote><screen>filesystem devpts not supported by kernel</screen></blockquote>
39
40<para>The most likely cause for this is that your host system's kernel was
41compiled without support for the devpts file system (you can check which file
42systems your kernel supports with <command>cat /proc/filesystems</command>,
43for example). A few PTYs are needed to be able to run the suites for Binutils
44and GCC later on. If your kernel does not support devpts, do not worry, there
45is another way to get them working inside the chroot environment. We'll cover
46this shortly in the <xref linkend="ch-system-MAKEDEV"/> section.</para>
47
48<para>Remember that if for any reason you stop working on your LFS, and start
49again later, it's important to check that these file systems are mounted again
50before entering the chroot environment, otherwise problems could occur.</para>
51
52</sect1>
Note: See TracBrowser for help on using the repository browser.