source: chapter06/devices.xml@ 08c4453

Last change on this file since 08c4453 was 875141e, checked in by Manuel Canales Esparcia <manuel@…>, 19 years ago

Fixing beginpage tags. Fisrt round.

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

  • Property mode set to 100644
File size: 3.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
3 <!ENTITY % general-entities SYSTEM "../general.ent">
4 %general-entities;
5]>
6<sect1 id="ch-system-devices">
7<title>Populating /dev</title>
8<?dbhtml filename="devices.html"?>
9
10<indexterm zone="ch-system-devices"><primary sortas="e-/dev/">/dev/*</primary></indexterm>
11
12<sect2>
13<title>Creating Initial Device Nodes</title>
14
15<para>When the kernel boots the system, it requires the presence of a few device
16nodes, in particular the <filename class="devicefile">console</filename> and
17<filename class="devicefile">null</filename> devices. Create these by
18running the following commands:</para>
19
20<screen><userinput>mknod -m 600 /dev/console c 5 1
21mknod -m 666 /dev/null c 1 3</userinput></screen>
22</sect2>
23
24<sect2>
25<title>Mounting tmpfs and Populating /dev</title>
26
27<para>The recommended method of populating the <filename
28class="directory">/dev</filename> directory with devices is to mount a virtual
29filesystem (such as <systemitem class="filesystem">tmpfs</systemitem>) on the
30<filename class="directory">/dev</filename> directory, and allow the devices to
31be created dynamically on that virtual filesystem as they are detected or
32accessed. This is generally done during the boot process. Since this new system
33has not been booted, it is necessary to do what the LFS-Bootscripts package would
34otherwise do by mounting <filename class="directory">/dev</filename>:</para>
35
36<screen><userinput>mount -n -t tmpfs none /dev</userinput></screen>
37
38<para>The Udev package is what actually creates the devices in the <filename
39class="directory">/dev</filename> directory. Since it will not be installed
40until later on in the process, manually create the minimal set of device nodes
41needed to complete the building of this system:</para>
42
43<screen><userinput>mknod -m 622 /dev/console c 5 1
44mknod -m 666 /dev/null c 1 3
45mknod -m 666 /dev/zero c 1 5
46mknod -m 666 /dev/ptmx c 5 2
47mknod -m 666 /dev/tty c 5 0
48mknod -m 444 /dev/random c 1 8
49mknod -m 444 /dev/urandom c 1 9
50chown root:tty /dev/{console,ptmx,tty}</userinput></screen>
51
52<para>There are some symlinks and directories required by LFS that are created
53during system startup by the LFS-Bootscripts package. Since this is a chroot
54environment and not a booted environment, those symlinks and directories need to
55be created here:</para>
56
57<screen><userinput>ln -s /proc/self/fd /dev/fd
58ln -s /proc/self/fd/0 /dev/stdin
59ln -s /proc/self/fd/1 /dev/stdout
60ln -s /proc/self/fd/2 /dev/stderr
61ln -s /proc/kcore /dev/core
62mkdir /dev/pts
63mkdir /dev/shm</userinput></screen>
64
65<para>Finally, mount the proper virtual (kernel) file systems on the
66newly-created directories:</para>
67
68<screen><userinput>mount -t devpts -o gid=4,mode=620 none /dev/pts
69mount -t tmpfs none /dev/shm</userinput></screen>
70
71<beginpage/>
72
73<para>The <command>mount</command> commands executed above may result
74in the following warning message:</para>
75
76<screen><computeroutput>can't open /etc/fstab: No such file or directory.</computeroutput></screen>
77
78<para>This file&mdash;<filename>/etc/fstab</filename>&mdash;has not
79been created yet but is also not required for the file systems to be
80properly mounted. As such, the warning can be safely ignored.</para>
81</sect2>
82
83</sect1>
84
Note: See TracBrowser for help on using the repository browser.