diff options
Diffstat (limited to 'chapter06/devices.xml')
-rw-r--r-- | chapter06/devices.xml | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/chapter06/devices.xml b/chapter06/devices.xml deleted file mode 100644 index 51821fe84..000000000 --- a/chapter06/devices.xml +++ /dev/null @@ -1,93 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" - "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-system-devices"> - <?dbhtml filename="devices.html"?> - - <title>Populating /dev</title> - - <indexterm zone="ch-system-devices"> - <primary sortas="e-/dev/">/dev/*</primary> - </indexterm> - - <sect2> - <title>Creating Initial Device Nodes</title> - - <para>When the kernel boots the system, it requires the presence of a few - device nodes, in particular the <filename class="devicefile">console</filename> - and <filename class="devicefile">null</filename> devices. The device nodes - will be created on the hard disk so that they are available before - <command>udev</command> has been started, and additionally when Linux is - started in single user mode (hence the restrictive permissions on - <filename class="devicefile">console</filename>). Create the devices by - running the following commands:</para> - -<screen><userinput>mknod -m 600 /dev/console c 5 1 -mknod -m 666 /dev/null c 1 3</userinput></screen> - - </sect2> - - <sect2> - <title>Mounting tmpfs and Populating /dev</title> - - <para>The recommended method of populating the <filename - class="directory">/dev</filename> directory with devices is to mount a - virtual filesystem (such as <systemitem class="filesystem">tmpfs</systemitem>) - on the <filename class="directory">/dev</filename> directory, and allow the - devices to be created dynamically on that virtual filesystem as they are - detected or accessed. This is generally done during the boot process. Since - this new system has not been booted, it is necessary to do what the - LFS-Bootscripts package would otherwise do by mounting <filename - class="directory">/dev</filename>:</para> - -<screen><userinput>mount -nvt tmpfs none /dev</userinput></screen> - - <para>The Udev package is what actually creates the devices in the <filename - class="directory">/dev</filename> directory. Since it will not be installed - until later on in the process, manually create the minimal set of device nodes - needed to complete the building of this system:</para> - -<screen><userinput>mknod -m 622 /dev/console c 5 1 -mknod -m 666 /dev/null c 1 3 -mknod -m 666 /dev/zero c 1 5 -mknod -m 666 /dev/ptmx c 5 2 -mknod -m 666 /dev/tty c 5 0 -mknod -m 444 /dev/random c 1 8 -mknod -m 444 /dev/urandom c 1 9 -chown -v root:tty /dev/{console,ptmx,tty}</userinput></screen> - - <para>There are some symlinks and directories required by LFS that are - created during system startup by the LFS-Bootscripts package. Since this - is a chroot environment and not a booted environment, those symlinks and - directories need to be created here:</para> - -<screen><userinput>ln -sv /proc/self/fd /dev/fd -ln -sv /proc/self/fd/0 /dev/stdin -ln -sv /proc/self/fd/1 /dev/stdout -ln -sv /proc/self/fd/2 /dev/stderr -ln -sv /proc/kcore /dev/core -mkdir -v /dev/pts -mkdir -v /dev/shm</userinput></screen> - - <para>Finally, mount the proper virtual (kernel) file systems on the - newly-created directories:</para> - -<screen><userinput>mount -vt devpts -o gid=4,mode=620 none /dev/pts -mount -vt tmpfs none /dev/shm</userinput></screen> - - <para>The <command>mount</command> commands executed above may result - in the following warning message:</para> - -<screen><computeroutput>can't open /etc/fstab: No such file or directory.</computeroutput></screen> - - <para>This file—<filename>/etc/fstab</filename>—has not - been created yet but is also not required for the file systems to be - properly mounted. As such, the warning can be safely ignored.</para> - - </sect2> - -</sect1> |