2004-05-03 22:28:58 +01:00
|
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2007-03-21 18:42:58 +00:00
|
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
2004-05-03 22:28:58 +01:00
|
|
|
<!ENTITY % general-entities SYSTEM "../general.ent">
|
|
|
|
%general-entities;
|
|
|
|
]>
|
2006-02-10 19:05:30 +00:00
|
|
|
|
2004-05-16 01:08:42 +01:00
|
|
|
<sect1 id="ch-system-udev" role="wrap">
|
2006-02-10 19:05:30 +00:00
|
|
|
<?dbhtml filename="udev.html"?>
|
|
|
|
|
2007-09-07 20:16:43 +01:00
|
|
|
<sect1info condition="script">
|
|
|
|
<productname>udev</productname>
|
|
|
|
<productnumber>&udev-version;</productnumber>
|
|
|
|
<address>&udev-url;</address>
|
|
|
|
</sect1info>
|
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
<title>Udev-&udev-version;</title>
|
|
|
|
|
|
|
|
<indexterm zone="ch-system-udev">
|
|
|
|
<primary sortas="a-Udev">Udev</primary>
|
|
|
|
</indexterm>
|
|
|
|
|
|
|
|
<sect2 role="package">
|
|
|
|
<title/>
|
2004-05-03 22:28:58 +01:00
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
<para>The Udev package contains programs for dynamic creation of device
|
|
|
|
nodes.</para>
|
2004-05-03 22:28:58 +01:00
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
<segmentedlist>
|
|
|
|
<segtitle>&buildtime;</segtitle>
|
|
|
|
<segtitle>&diskspace;</segtitle>
|
2004-05-03 22:28:58 +01:00
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
<seglistitem>
|
2006-05-14 21:16:56 +01:00
|
|
|
<seg>&udev-ch6-sbu;</seg>
|
2010-06-27 07:27:04 +01:00
|
|
|
<seg>&udev-ch6-du; plus &udev-testfiles-du; for testfiles</seg>
|
2006-02-10 19:05:30 +00:00
|
|
|
</seglistitem>
|
|
|
|
</segmentedlist>
|
2004-05-03 22:28:58 +01:00
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
</sect2>
|
2004-05-03 22:28:58 +01:00
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
<sect2 role="installation">
|
|
|
|
<title>Installation of Udev</title>
|
|
|
|
|
2006-05-01 16:46:53 +01:00
|
|
|
<para>The udev-config tarball contains LFS-specific files used to configure
|
2006-07-23 12:05:22 +01:00
|
|
|
Udev. Unpack it into the Udev source directory:</para>
|
2006-05-01 16:46:53 +01:00
|
|
|
|
2007-09-18 22:11:00 +01:00
|
|
|
<screen><userinput remap="pre">tar -xvf ../&udev-config;.tar.bz2</userinput></screen>
|
2006-05-01 16:46:53 +01:00
|
|
|
|
2010-06-27 07:27:04 +01:00
|
|
|
<para>The udev-testfiles tarball contains files needed to test udev. The
|
|
|
|
file expands to an apparant size of about 37MB but the actual disk usage
|
|
|
|
is less than 7MB.</para>
|
|
|
|
|
|
|
|
<screen><userinput remap="pre">tar -xvf ../udev-&udev-version;-testfiles.tar.bz2 --strip-components=1</userinput></screen>
|
|
|
|
|
2006-04-13 19:45:33 +01:00
|
|
|
<para>Create some devices and directories that Udev cannot handle due to
|
2008-05-23 02:45:45 +01:00
|
|
|
them being required very early in the boot process, or by Udev itself:</para>
|
2006-04-13 19:45:33 +01:00
|
|
|
|
2007-09-22 11:18:52 +01:00
|
|
|
<screen><userinput remap="install">install -dv /lib/{firmware,udev/devices/{pts,shm}}
|
2010-05-29 11:41:33 +01:00
|
|
|
mknod -m0666 /lib/udev/devices/null c 1 3</userinput></screen>
|
2006-04-13 19:45:33 +01:00
|
|
|
|
2008-10-10 16:13:52 +01:00
|
|
|
<para>Prepare the package for compilation:</para>
|
2005-02-19 22:16:42 +00:00
|
|
|
|
2009-06-29 04:24:56 +01:00
|
|
|
<!-- Note that "libdir=/usr/lib64" would be required for multilib. -->
|
2008-10-15 03:09:26 +01:00
|
|
|
<screen><userinput remap="configure">./configure --prefix=/usr \
|
2009-06-29 04:24:56 +01:00
|
|
|
--sysconfdir=/etc --sbindir=/sbin \
|
|
|
|
--with-rootlibdir=/lib --libexecdir=/lib/udev \
|
2009-11-15 15:10:10 +00:00
|
|
|
--disable-extras --disable-introspection</userinput></screen>
|
2009-06-29 04:24:56 +01:00
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<title>The meaning of the new configure options</title>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><parameter>--with-rootlibdir=/lib</parameter></term>
|
|
|
|
<listitem>
|
|
|
|
<para>This controls where the <filename
|
|
|
|
class="libraryfile">libudev</filename> library is installed. The
|
|
|
|
library needs to be in <filename class="directory">/lib</filename>
|
|
|
|
because it's used by Udev at boot time, before <filename
|
|
|
|
class="directory">/usr</filename> might be available, and the default
|
|
|
|
--rootlibdir is <filename class="directory">/usr/lib</filename>.</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<!-- Note that libexecdir *MUST* stay /lib/udev, even on a 64-bit
|
|
|
|
/ multilib system where udev is compiled for 64-bit. Other
|
|
|
|
packages require this exact path; the udev maintainers have
|
|
|
|
said this is part of the udev API. -->
|
|
|
|
<varlistentry>
|
|
|
|
<term><parameter>--libexecdir=/lib/udev</parameter></term>
|
|
|
|
<listitem>
|
|
|
|
<para>This controls where Udev-internal rules and helper programs
|
|
|
|
are installed.</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><parameter>--disable-extras</parameter></term>
|
|
|
|
<listitem>
|
|
|
|
<para>This option prevents Udev from installing helper programs and
|
|
|
|
other extras which require more external libraries. These libraries
|
|
|
|
are not part of the base LFS system. See the Udev
|
|
|
|
<filename>README</filename> file for more information.</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
2009-11-15 15:10:10 +00:00
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><parameter>--disable-introspection</parameter></term>
|
|
|
|
<listitem>
|
|
|
|
<para>This option prevents Udev's instrospection feature, which
|
|
|
|
requires packages not installed as part of the base LFS system. See
|
|
|
|
the Udev <filename>README</filename> file for more information.</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
2009-06-29 04:24:56 +01:00
|
|
|
</variablelist>
|
2006-02-10 19:05:30 +00:00
|
|
|
|
2008-10-10 16:13:52 +01:00
|
|
|
<para>Compile the package:</para>
|
2007-09-18 22:11:00 +01:00
|
|
|
|
2008-10-10 16:13:52 +01:00
|
|
|
<screen><userinput remap="make">make</userinput></screen>
|
2005-02-19 22:16:42 +00:00
|
|
|
|
2010-06-27 07:27:04 +01:00
|
|
|
<para>Test the package.</para>
|
|
|
|
|
|
|
|
<screen><userinput remap="test">make check</userinput></screen>
|
2006-08-03 20:29:29 +01:00
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
<para>Install the package:</para>
|
2004-05-03 22:28:58 +01:00
|
|
|
|
2008-10-10 16:13:52 +01:00
|
|
|
<screen><userinput remap="install">make install</userinput></screen>
|
2005-11-07 19:50:41 +00:00
|
|
|
|
2010-05-22 00:16:27 +01:00
|
|
|
<para>Remove an empty documentation directory:</para>
|
|
|
|
|
2010-06-15 05:13:25 +01:00
|
|
|
<screen><userinput remap="install">rmdir -v /usr/share/doc/udev</userinput></screen>
|
2010-05-22 00:16:27 +01:00
|
|
|
|
2008-05-23 23:45:32 +01:00
|
|
|
<para>Now install the LFS-specific custom rules files:</para>
|
2005-08-23 20:52:42 +01:00
|
|
|
|
2007-09-18 22:11:00 +01:00
|
|
|
<screen><userinput remap="install">cd &udev-config;
|
2006-10-21 16:27:29 +01:00
|
|
|
make install</userinput></screen>
|
|
|
|
|
|
|
|
<para>Install the documentation that explains the LFS-specific rules
|
|
|
|
files:</para>
|
|
|
|
|
2007-09-18 22:11:00 +01:00
|
|
|
<screen><userinput remap="install">make install-doc</userinput></screen>
|
2006-10-21 16:27:29 +01:00
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 id="contents-udev" role="content">
|
|
|
|
<title>Contents of Udev</title>
|
|
|
|
|
|
|
|
<segmentedlist>
|
|
|
|
<segtitle>Installed programs</segtitle>
|
2007-05-12 21:45:29 +01:00
|
|
|
<segtitle>Installed libraries</segtitle>
|
2010-05-23 18:18:52 +01:00
|
|
|
<segtitle>Installed directories</segtitle>
|
2006-02-10 19:05:30 +00:00
|
|
|
|
|
|
|
<seglistitem>
|
2008-05-23 02:45:45 +01:00
|
|
|
<seg>ata_id, cdrom_id, collect, create_floppy_devices, edd_id,
|
|
|
|
firmware.sh, fstab_import, path_id, scsi_id, udevadm, udevd,
|
2009-06-29 04:24:56 +01:00
|
|
|
usb_id, write_cd_rules, and write_net_rules</seg>
|
2009-08-12 20:16:30 +01:00
|
|
|
<seg>libudev.{a,so}</seg>
|
2010-05-23 18:18:52 +01:00
|
|
|
<seg>/etc/udev, /lib/udev, /lib/firmware</seg>
|
2006-02-10 19:05:30 +00:00
|
|
|
</seglistitem>
|
|
|
|
</segmentedlist>
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
|
|
<?dbfo list-presentation="list"?>
|
|
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
|
2006-04-13 19:45:33 +01:00
|
|
|
<varlistentry id="ata_id">
|
|
|
|
<term><command>ata_id</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>Provides Udev with a unique string and
|
|
|
|
additional information (uuid, label) for an ATA drive</para>
|
|
|
|
<indexterm zone="ch-system-udev ata_id">
|
|
|
|
<primary sortas="b-ata_id">ata_id</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="cdrom_id">
|
|
|
|
<term><command>cdrom_id</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>Provides Udev with the capabilities of a
|
|
|
|
CD-ROM or DVD-ROM drive</para>
|
|
|
|
<indexterm zone="ch-system-udev cdrom_id">
|
|
|
|
<primary sortas="b-cdrom_id">cdrom_id</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2008-05-23 02:45:45 +01:00
|
|
|
<varlistentry id="collect">
|
|
|
|
<term><command>collect</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>Given an ID for the current uevent and a list of
|
|
|
|
IDs (for all target uevents), registers the current ID
|
|
|
|
and indicates whether all target IDs have been registered</para>
|
|
|
|
<indexterm zone="ch-system-udev collect">
|
|
|
|
<primary sortas="b-collect">collect</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2006-04-13 19:45:33 +01:00
|
|
|
<varlistentry id="create_floppy_devices">
|
|
|
|
<term><command>create_floppy_devices</command></term>
|
2006-02-10 19:05:30 +00:00
|
|
|
<listitem>
|
2006-04-13 19:45:33 +01:00
|
|
|
<para>Creates all possible floppy devices based on the CMOS type</para>
|
|
|
|
<indexterm zone="ch-system-udev create_floppy_devices">
|
|
|
|
<primary sortas="b-create_floppy_devices">create_floppy_devices</primary>
|
2006-02-10 19:05:30 +00:00
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2006-04-13 19:45:33 +01:00
|
|
|
<varlistentry id="edd_id">
|
|
|
|
<term><command>edd_id</command></term>
|
2006-02-10 19:05:30 +00:00
|
|
|
<listitem>
|
2006-04-13 19:45:33 +01:00
|
|
|
<para>Provides Udev with the EDD ID for a BIOS disk drive</para>
|
|
|
|
<indexterm zone="ch-system-udev edd_id">
|
|
|
|
<primary sortas="b-edd_id">edd_id</primary>
|
2006-02-10 19:05:30 +00:00
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2007-05-12 21:45:29 +01:00
|
|
|
<varlistentry id="firmware.sh">
|
|
|
|
<term><command>firmware.sh</command></term>
|
2006-02-10 19:05:30 +00:00
|
|
|
<listitem>
|
2006-04-13 19:45:33 +01:00
|
|
|
<para>Uploads firmware to devices</para>
|
2007-05-12 21:45:29 +01:00
|
|
|
<indexterm zone="ch-system-udev firmware.sh">
|
|
|
|
<primary sortas="b-firmware.sh">firmware.sh</primary>
|
2006-04-13 19:45:33 +01:00
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2008-05-23 02:45:45 +01:00
|
|
|
<varlistentry id="fstab_import">
|
|
|
|
<term><command>fstab_import</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>Finds an entry in <filename>/etc/fstab</filename> that
|
|
|
|
matches the current device, and provides its information to
|
|
|
|
Udev</para>
|
|
|
|
<indexterm zone="ch-system-udev fstab_import">
|
|
|
|
<primary sortas="b-fstab_import">fstab_import</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2006-05-01 16:46:53 +01:00
|
|
|
<varlistentry id="path_id">
|
|
|
|
<term><command>path_id</command></term>
|
|
|
|
<listitem>
|
2007-09-16 08:29:31 +01:00
|
|
|
<para>Provides the shortest possible unique hardware path to a
|
2006-05-01 16:46:53 +01:00
|
|
|
device</para>
|
|
|
|
<indexterm zone="ch-system-udev path_id">
|
|
|
|
<primary sortas="b-path_id">path_id</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2006-04-13 19:45:33 +01:00
|
|
|
<varlistentry id="scsi_id">
|
|
|
|
<term><command>scsi_id</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>Provides Udev with a unique SCSI identifier
|
|
|
|
based on the data returned from sending a SCSI INQUIRY command to
|
|
|
|
the specified device</para>
|
|
|
|
<indexterm zone="ch-system-udev scsi_id">
|
|
|
|
<primary sortas="b-scsi_id">scsi_id</primary>
|
2006-02-10 19:05:30 +00:00
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2008-05-23 02:45:45 +01:00
|
|
|
<varlistentry id="udevadm">
|
|
|
|
<term><command>udevadm</command></term>
|
2006-02-10 19:05:30 +00:00
|
|
|
<listitem>
|
2008-05-23 02:45:45 +01:00
|
|
|
<para>Generic udev administration tool: controls the udevd daemon,
|
|
|
|
provides info from the Udev database, monitors uevents, waits for
|
|
|
|
uevents to finish, tests Udev configuration, and triggers uevents
|
|
|
|
for a given device</para>
|
|
|
|
<indexterm zone="ch-system-udev udevadm">
|
|
|
|
<primary sortas="b-udevadm">udevadm</primary>
|
2006-02-10 19:05:30 +00:00
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="udevd">
|
|
|
|
<term><command>udevd</command></term>
|
|
|
|
<listitem>
|
2006-04-13 19:45:33 +01:00
|
|
|
<para>A daemon that listens for uevents on the netlink socket,
|
|
|
|
creates devices and runs the configured external programs in
|
|
|
|
response to these uevents</para>
|
2006-02-10 19:05:30 +00:00
|
|
|
<indexterm zone="ch-system-udev udevd">
|
|
|
|
<primary sortas="b-udevd">udevd</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2006-04-13 19:45:33 +01:00
|
|
|
<varlistentry id="usb_id">
|
|
|
|
<term><command>usb_id</command></term>
|
2006-02-10 19:05:30 +00:00
|
|
|
<listitem>
|
2006-04-13 19:45:33 +01:00
|
|
|
<para>Provides Udev with information about USB
|
|
|
|
devices</para>
|
|
|
|
<indexterm zone="ch-system-udev usb_id">
|
|
|
|
<primary sortas="b-usb_id">usb_id</primary>
|
2006-02-10 19:05:30 +00:00
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2007-05-12 21:45:29 +01:00
|
|
|
<varlistentry id="write_cd_rules">
|
|
|
|
<term><command>write_cd_rules</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>A script which generates Udev rules to provide stable names for
|
|
|
|
optical drives (see also <xref linkend="ch-scripts-symlinks"/>)</para>
|
|
|
|
<indexterm zone="ch-system-udev write_cd_rules">
|
|
|
|
<primary sortas="b-write_cd_rules">write_cd_rules</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="write_net_rules">
|
|
|
|
<term><command>write_net_rules</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>A script which generates rules to provide stable names for
|
|
|
|
network interfaces (see also <xref linkend="ch-scripts-network"/>)
|
|
|
|
</para>
|
|
|
|
<indexterm zone="ch-system-udev write_net_rules">
|
|
|
|
<primary sortas="b-write_net_rules">write_net_rules</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2008-10-10 16:13:52 +01:00
|
|
|
<varlistentry id="libudev">
|
2009-08-12 20:16:30 +01:00
|
|
|
<term><filename class="libraryfile">libudev</filename></term>
|
2008-10-10 16:13:52 +01:00
|
|
|
<listitem>
|
|
|
|
<para>A library interface to udev device information</para>
|
|
|
|
<indexterm zone="ch-system-udev libudev">
|
|
|
|
<primary sortas="c-libudev">libudev</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
<varlistentry id="etc-udev">
|
|
|
|
<term><filename class="directory">/etc/udev</filename></term>
|
|
|
|
<listitem>
|
2007-09-16 08:29:31 +01:00
|
|
|
<para>Contains Udev configuration files,
|
2006-02-10 19:05:30 +00:00
|
|
|
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>
|
2004-05-03 22:28:58 +01:00
|
|
|
|
|
|
|
</sect1>
|