aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/udev.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter06/udev.xml')
-rw-r--r--chapter06/udev.xml105
1 files changed, 99 insertions, 6 deletions
diff --git a/chapter06/udev.xml b/chapter06/udev.xml
index b1a34c51d..e25ed756d 100644
--- a/chapter06/udev.xml
+++ b/chapter06/udev.xml
@@ -10,6 +10,7 @@
<indexterm zone="ch-system-udev"><primary sortas="a-Udev">Udev</primary></indexterm>
<sect2 role="package"><title/>
+<para>The Udev package contains programs for dynamic creation of device nodes.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
@@ -17,36 +18,128 @@
<seglistitem><seg>0.2 SBU</seg><seg>5.2 MB</seg></seglistitem>
</segmentedlist>
+<segmentedlist>
+<segtitle>Udev installation depends on</segtitle>
+<seglistitem><seg>Coreutils and Make</seg></seglistitem>
+</segmentedlist>
+
</sect2>
<sect2 role="installation">
<title>Installation of Udev</title>
-<para>Compile Udev:</para>
+<para>Compile the package:</para>
<screen><userinput>make udevdir=/dev</userinput></screen>
-<para>Install it:</para>
+<variablelist>
+<varlistentry>
+<term><parameter>udevdir=/dev</parameter></term>
+<listitem><para>This tells <command>udev</command> in which directory
+devices nodes are to be created.</para></listitem>
+</varlistentry>
+</variablelist>
+
+<para>This package does not come with a test suite.</para>
+
+<para>Install the package:</para>
<screen><userinput>make udevdir=/dev install</userinput></screen>
-<para>Install our configuration files:</para>
+<para>Udev's configuration is far from ideal by default, so install
+the configuration files here:</para>
<screen><userinput>cp ../udev-config-2.permissions \
/etc/udev/permissions.d/25-lfs.permissions
cp ../udev-config-1.rules /etc/udev/rules.d/25-lfs.rules</userinput></screen>
-<para>Create the full compliment of device nodes:</para>
+<!-- Edit Me -->
+<para>Run the <command>udevstart</command> program to create our full
+compliment of device nodes.</para>
<screen><userinput>/sbin/udevstart</userinput></screen>
</sect2>
-
<sect2 id="contents-udev" role="content"><title>Contents of Udev</title>
-<para>See testing</para>
+<segmentedlist>
+<segtitle>Installed programs</segtitle>
+<segtitle>Installed directory</segtitle>
+<seglistitem><seg>udev, udevd, udevsend, udevstart, udevinfo, and udevtest</seg>
+<seg>/etc/udev</seg></seglistitem>
+</segmentedlist>
+<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
+<?dbfo list-presentation="list"?>
+
+<varlistentry id="udev">
+<term><command>udev</command></term>
+<listitem>
+<para>Creates device nodes in <filename
+class="directory">/dev</filename> or renames network interfaces (not
+in LFS) in response to hotplug events</para>
+<indexterm zone="ch-system-udev udev"><primary sortas="b-udev">udev</primary></indexterm>
+</listitem></varlistentry>
+
+<varlistentry id="udevd">
+<term><command>udevd</command></term>
+<listitem>
+<para>A daemon that reorders hotplug events before submitting them to
+<command>udev</command>,
+thus avoiding various race conditions</para>
+<indexterm zone="ch-system-udev udevd"><primary sortas="b-udevd">udevd</primary></indexterm>
+</listitem></varlistentry>
+
+<varlistentry id="udevsend">
+<term><command>udevsend</command></term>
+<listitem>
+<para>Delivers hotplug events to <command>udevd</command></para>
+<indexterm zone="ch-system-udev udevsend"><primary sortas="b-udevsend">udevsend</primary></indexterm>
+</listitem></varlistentry>
+
+<varlistentry id="udevstart">
+<term><command>udevstart</command></term>
+<listitem>
+<para>Creates device nodes in <filename
+class="directory">/dev</filename> that correspond to drivers compiled directly
+into the kernel; it performs that task by simulating hotplug events presumably
+dropped by the kernel before invocation of this program (e.g., because the root
+filesystem has not been mounted) and submitting such synthetic hotplug events
+to <command>udev</command></para>
+<indexterm zone="ch-system-udev udevstart"><primary sortas="b-udevstart">udevstart</primary></indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="udevinfo">
+<term><command>udevinfo</command></term>
+<listitem>
+<para>Allows users to query the <command>udev</command> database for
+information on any device currently present on the system; it also
+provides a way to query any device in the <systemitem
+class="filesystem">sysfs</systemitem> tree to help create udev
+rules</para>
+<indexterm zone="ch-system-udev udevinfo"><primary sortas="b-udevinfo">udevinfo</primary></indexterm>
+</listitem></varlistentry>
+
+<varlistentry id="udevtest">
+<term><command>udevtest</command></term>
+<listitem>
+<para>Simulates a <command>udev</command> run for the given device,
+and prints out the name of the node the real <command>udev</command> would
+have created or (not in LFS) the name of the renamed network interface</para>
+<indexterm zone="ch-system-udev udevtest"><primary sortas="b-udevtest">udevtest</primary></indexterm>
+</listitem></varlistentry>
+
+<varlistentry id="etc-udev">
+<term><filename class="directory">/etc/udev</filename></term>
+<listitem>
+<para>Contains <command>udev</command> configuation files,
+device permissions, and rules for device naming</para>
+<indexterm zone="ch-system-udev etc-udev"><primary sortas="e-etc-udev">/etc/udev</primary></indexterm>
+</listitem></varlistentry>
+</variablelist>
</sect2>
</sect1>
+