source: chapter06/udev.xml@ bc9261c

Last change on this file since bc9261c was 31294fd, checked in by Manuel Canales Esparcia <manuel@…>, 18 years ago

PDF fix to match latter text changes.

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

  • Property mode set to 100644
File size: 11.2 KB
RevLine 
[9dfc02f]1<?xml version="1.0" encoding="ISO-8859-1"?>
[ddd5542]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
[9dfc02f]4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
[ddd5542]7
[a001133]8<sect1 id="ch-system-udev" role="wrap">
[ddd5542]9 <?dbhtml filename="udev.html"?>
10
11 <title>Udev-&udev-version;</title>
12
13 <indexterm zone="ch-system-udev">
14 <primary sortas="a-Udev">Udev</primary>
15 </indexterm>
16
17 <sect2 role="package">
18 <title/>
[9dfc02f]19
[ddd5542]20 <para>The Udev package contains programs for dynamic creation of device
21 nodes.</para>
[9dfc02f]22
[ddd5542]23 <segmentedlist>
24 <segtitle>&buildtime;</segtitle>
25 <segtitle>&diskspace;</segtitle>
[9dfc02f]26
[ddd5542]27 <seglistitem>
[e4a5635]28 <seg>&udev-ch6-sbu;</seg>
29 <seg>&udev-ch6-du;</seg>
[ddd5542]30 </seglistitem>
31 </segmentedlist>
[9dfc02f]32
[ddd5542]33 </sect2>
[9dfc02f]34
[ddd5542]35 <sect2 role="installation">
36 <title>Installation of Udev</title>
37
[7d6d34b]38 <para>The udev-config tarball contains LFS-specific files used to configure
[3a8e53b]39 Udev. Unpack it into the Udev source directory:</para>
[7d6d34b]40
41<screen><userinput>tar xf ../&udev-config;.tar.bz2</userinput></screen>
42
[d2c332bc]43 <para>Create some devices and directories that Udev cannot handle due to
44 them being required very early in the boot process:</para>
45
46<screen><userinput>install -dv /lib/{firmware,udev/devices/{pts,shm}}
47mknod -m0666 /lib/udev/devices/null c 1 3
48ln -sv /proc/self/fd /lib/udev/devices/fd
49ln -sv /proc/self/fd/0 /lib/udev/devices/stdin
50ln -sv /proc/self/fd/1 /lib/udev/devices/stdout
51ln -sv /proc/self/fd/2 /lib/udev/devices/stderr
52ln -sv /proc/kcore /lib/udev/devices/core</userinput></screen>
53
[ddd5542]54 <para>Compile the package:</para>
[9dfc02f]55
[d2c332bc]56<screen><userinput>make EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id \
[7d6d34b]57 extras/firmware extras/floppy extras/path_id \
58 extras/scsi_id extras/usb_id extras/volume_id"</userinput></screen>
[81fd230]59
[ddd5542]60 <variablelist>
61 <title>The meaning of the make option:</title>
62
63 <varlistentry>
[d2c332bc]64 <term><parameter>EXTRAS=...</parameter></term>
[ddd5542]65 <listitem>
[d2c332bc]66 <para>This builds several helper binaries that can aid in writing custom
67 Udev rules.</para>
[ddd5542]68 </listitem>
69 </varlistentry>
[09043c0]70
[ddd5542]71 </variablelist>
[09043c0]72
[ddd5542]73 <para>To test the results, issue:
74 <userinput>make test</userinput>.</para>
[81fd230]75
[b7368d5]76 <para>Note that the Udev testsuite will produce numerous messages in
77 the host system's logs. These are harmless and can be ignored.</para>
78
[ddd5542]79 <para>Install the package:</para>
[9dfc02f]80
[d2c332bc]81<screen><userinput>make DESTDIR=/ \
82 EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id \
[7d6d34b]83 extras/firmware extras/floppy extras/path_id \
84 extras/scsi_id extras/usb_id extras/volume_id" install</userinput></screen>
[09043c0]85
[31294fd]86 <beginpage/>
87
[ddd5542]88 <variablelist>
89 <title>The meaning of the make parameter:</title>
[09043c0]90
[ddd5542]91 <varlistentry>
92 <term><parameter>DESTDIR=/</parameter></term>
93 <listitem>
94 <para>This prevents the Udev build process from killing any
95 <command>udevd</command> processes that may be running on the
96 host system.</para>
97 </listitem>
98 </varlistentry>
[9dfc02f]99
[ddd5542]100 </variablelist>
101
[8964be9]102 <para>Udev has to be configured in order to work properly, as it does
103 not install any configuration files by default. Install the
[a263c7a]104 LFS-specific configuration files:</para>
[18da154]105
[3c19a9a]106<screen><userinput>cp -v &udev-config;/[0-9]* /etc/udev/rules.d/</userinput></screen>
[18da154]107
[ddd5542]108 <para>Install the documentation that explains how to create Udev rules:</para>
[7eac3e32]109
[2c558d69]110<screen><userinput>install -m644 -D -v docs/writing_udev_rules/index.html \
111 /usr/share/doc/udev-&udev-version;/index.html</userinput></screen>
[7eac3e32]112
[ddd5542]113 </sect2>
114
115 <sect2 id="contents-udev" role="content">
116 <title>Contents of Udev</title>
117
118 <segmentedlist>
119 <segtitle>Installed programs</segtitle>
120 <segtitle>Installed directory</segtitle>
121
122 <seglistitem>
[d2c332bc]123 <seg>ata_id, cdrom_id, create_floppy_devices, edd_id, firmware_helper,
[7d6d34b]124 path_id, scsi_id, udevcontrol, udevd, udevinfo, udevmonitor, udevsettle,
125 udevtest, udevtrigger, usb_id, vol_id, and write_cd_aliases</seg>
[ddd5542]126 <seg>/etc/udev</seg>
127 </seglistitem>
128 </segmentedlist>
129
130 <variablelist>
131 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
132 <?dbfo list-presentation="list"?>
133 <?dbhtml list-presentation="table"?>
134
[d2c332bc]135 <varlistentry id="ata_id">
136 <term><command>ata_id</command></term>
137 <listitem>
138 <para>Provides Udev with a unique string and
139 additional information (uuid, label) for an ATA drive</para>
140 <indexterm zone="ch-system-udev ata_id">
141 <primary sortas="b-ata_id">ata_id</primary>
142 </indexterm>
143 </listitem>
144 </varlistentry>
145
146 <varlistentry id="cdrom_id">
147 <term><command>cdrom_id</command></term>
148 <listitem>
149 <para>Provides Udev with the capabilities of a
150 CD-ROM or DVD-ROM drive</para>
151 <indexterm zone="ch-system-udev cdrom_id">
152 <primary sortas="b-cdrom_id">cdrom_id</primary>
153 </indexterm>
154 </listitem>
155 </varlistentry>
156
157 <varlistentry id="create_floppy_devices">
158 <term><command>create_floppy_devices</command></term>
[ddd5542]159 <listitem>
[d2c332bc]160 <para>Creates all possible floppy devices based on the CMOS type</para>
161 <indexterm zone="ch-system-udev create_floppy_devices">
162 <primary sortas="b-create_floppy_devices">create_floppy_devices</primary>
[ddd5542]163 </indexterm>
164 </listitem>
165 </varlistentry>
166
[d2c332bc]167 <varlistentry id="edd_id">
168 <term><command>edd_id</command></term>
[ddd5542]169 <listitem>
[d2c332bc]170 <para>Provides Udev with the EDD ID for a BIOS disk drive</para>
171 <indexterm zone="ch-system-udev edd_id">
172 <primary sortas="b-edd_id">edd_id</primary>
[ddd5542]173 </indexterm>
174 </listitem>
175 </varlistentry>
176
[d2c332bc]177 <varlistentry id="firmware_helper">
178 <term><command>firmware_helper</command></term>
[ddd5542]179 <listitem>
[d2c332bc]180 <para>Uploads firmware to devices</para>
181 <indexterm zone="ch-system-udev firmware_helper">
182 <primary sortas="b-firmware_helper">firmware_helper</primary>
183 </indexterm>
184 </listitem>
185 </varlistentry>
186
[7d6d34b]187 <varlistentry id="path_id">
188 <term><command>path_id</command></term>
189 <listitem>
190 <para>Provide the shortest possible unique hardware path to a
191 device</para>
192 <indexterm zone="ch-system-udev path_id">
193 <primary sortas="b-path_id">path_id</primary>
194 </indexterm>
195 </listitem>
196 </varlistentry>
197
[d2c332bc]198 <varlistentry id="scsi_id">
199 <term><command>scsi_id</command></term>
200 <listitem>
201 <para>Provides Udev with a unique SCSI identifier
202 based on the data returned from sending a SCSI INQUIRY command to
203 the specified device</para>
204 <indexterm zone="ch-system-udev scsi_id">
205 <primary sortas="b-scsi_id">scsi_id</primary>
[ddd5542]206 </indexterm>
207 </listitem>
208 </varlistentry>
209
210 <varlistentry id="udevcontrol">
211 <term><command>udevcontrol</command></term>
212 <listitem>
213 <para>Configures a number of options for the running
214 <command>udevd</command> daemon, such as the log level.</para>
215 <indexterm zone="ch-system-udev udevcontrol">
216 <primary sortas="b-udevcontrol">udevcontrol</primary>
217 </indexterm>
218 </listitem>
219 </varlistentry>
220
221 <varlistentry id="udevd">
222 <term><command>udevd</command></term>
223 <listitem>
[d2c332bc]224 <para>A daemon that listens for uevents on the netlink socket,
225 creates devices and runs the configured external programs in
226 response to these uevents</para>
[ddd5542]227 <indexterm zone="ch-system-udev udevd">
228 <primary sortas="b-udevd">udevd</primary>
229 </indexterm>
230 </listitem>
231 </varlistentry>
232
233 <varlistentry id="udevinfo">
234 <term><command>udevinfo</command></term>
235 <listitem>
[d2c332bc]236 <para>Allows users to query the Udev database for
[ddd5542]237 information on any device currently present on the system; it also
238 provides a way to query any device in the <systemitem
239 class="filesystem">sysfs</systemitem> tree to help create udev
240 rules</para>
241 <indexterm zone="ch-system-udev udevinfo">
242 <primary sortas="b-udevinfo">udevinfo</primary>
243 </indexterm>
244 </listitem>
245 </varlistentry>
246
247 <varlistentry id="udevmonitor">
248 <term><command>udevmonitor</command></term>
249 <listitem>
[d2c332bc]250 <para>Prints the event received from the kernel and the environment
251 which Udev sends out after rule processing</para>
[ddd5542]252 <indexterm zone="ch-system-udev udevmonitor">
253 <primary sortas="b-udevmonitor">udevmonitor</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
[7d6d34b]258 <varlistentry id="udevsettle">
259 <term><command>udevsettle</command></term>
260 <listitem>
261 <para>Watches the Udev event queue and exits if all current uevents
262 have been handled</para>
263 <indexterm zone="ch-system-udev udevsettle">
264 <primary sortas="b-udevsettle">udevsettle</primary>
265 </indexterm>
266 </listitem>
267 </varlistentry>
268
[d2c332bc]269 <varlistentry id="udevtest">
270 <term><command>udevtest</command></term>
[ddd5542]271 <listitem>
[d2c332bc]272 <para>Simulates a uevent for the given device, and prints out the
273 name of the node the real <command>udevd</command> would have created,
274 or the name of the renamed network interface</para>
275 <indexterm zone="ch-system-udev udevtest">
276 <primary sortas="b-udevtest">udevtest</primary>
[ddd5542]277 </indexterm>
278 </listitem>
279 </varlistentry>
280
[7d6d34b]281 <varlistentry id="udevtrigger">
282 <term><command>udevtrigger</command></term>
283 <listitem>
284 <para>Triggers kernel device uevents to be replayed</para>
285 <indexterm zone="ch-system-udev udevtrigger">
286 <primary sortas="b-udevtrigger">udevtrigger</primary>
287 </indexterm>
288 </listitem>
289 </varlistentry>
290
[d2c332bc]291 <varlistentry id="usb_id">
292 <term><command>usb_id</command></term>
[ddd5542]293 <listitem>
[d2c332bc]294 <para>Provides Udev with information about USB
295 devices</para>
296 <indexterm zone="ch-system-udev usb_id">
297 <primary sortas="b-usb_id">usb_id</primary>
[ddd5542]298 </indexterm>
299 </listitem>
300 </varlistentry>
301
[d2c332bc]302 <varlistentry id="vol_id">
303 <term><command>vol_id</command></term>
[ddd5542]304 <listitem>
[d2c332bc]305 <para>Provides Udev with the label and uuid of a
306 filesystem</para>
307 <indexterm zone="ch-system-udev vol_id">
308 <primary sortas="b-vol_id">vol_id</primary>
[ddd5542]309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry id="etc-udev">
314 <term><filename class="directory">/etc/udev</filename></term>
315 <listitem>
[d2c332bc]316 <para>Contains Udev configuation files,
[ddd5542]317 device permissions, and rules for device naming</para>
318 <indexterm zone="ch-system-udev etc-udev">
319 <primary sortas="e-/etc/udev">/etc/udev</primary>
320 </indexterm>
321 </listitem>
322 </varlistentry>
323
324 </variablelist>
325
326 </sect2>
[9dfc02f]327
328</sect1>
Note: See TracBrowser for help on using the repository browser.