<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;
]>

<sect1 id="ch-system-udev" role="wrap">
  <?dbhtml filename="udev.html"?>

  <title>Udev-&udev-version;</title>

  <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>

  </sect2>

  <sect2 role="installation">
    <title>Installation of Udev</title>

    <para os="a">Prepare Udev for compilation:</para>

<screen os="b"><userinput>./configure --prefix=/usr \
  --exec-prefix="" --sysconfdir=/etc \
  --libexecdir=/lib/udev --libdir=/usr/lib \
  --disable-extras</userinput></screen>

    <para os="c">Compile the package:</para>

<screen os="d"><userinput>make</userinput></screen>

    <para os="g">Install the package:</para>

<screen os="h"><userinput>make install</userinput></screen>

    <para os="i">Create a directory for storing firmware that can be
    loaded by <command>udev</command>:</para>

<screen os="j"><userinput>install -dv /lib/firmware</userinput></screen>

  </sect2>

  <sect2 id="contents-udev" role="content">
    <title>Contents of Udev</title>

    <segmentedlist>
      <segtitle>Installed programs</segtitle>
      <segtitle>Installed library</segtitle>
      <segtitle>Installed directory</segtitle>

      <seglistitem>
        <seg>udevadm, udevd</seg>
        <seg>libvolume_id, libudev</seg>
        <seg>/etc/udev, /lib/udev</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="udevadm">
        <term><command>udevadm</command></term>
        <listitem>
        <para>udevadm controls the runtime behavior of udev, requests kernel
        events, manages the event queue, and provides simple debugging.</para>
          <indexterm zone="ch-system-udev udevadm">
            <primary sortas="b-udevadm">udevadm</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>

 <!-- Start of Helpers -->
      <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>Print the capabilities of a CDROM or DVDROM drive.</para>
          <indexterm zone="ch-system-udev cdrom_id">
            <primary sortas="b-cdrom_id">cdrom_id</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="collect">
        <term><command>collect</command></term>
        <listitem>
          <para>DESCRIPTION REQUIRED</para>
          <indexterm zone="ch-system-udev collect">
            <primary sortas="b-collect">collect</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="create_floppy_devices">
        <term><command>create_floppy_devices</command></term>
        <listitem>
          <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>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="edd_id">
        <term><command>edd_id</command></term>
        <listitem>
          <para>Identify x86 disk drives from Enhanced Disk Drive calls.</para>
          <indexterm zone="ch-system-udev edd_id">
            <primary sortas="b-edd_id">edd_id</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="firmware.sh">
        <term><command>firmware.sh</command></term>
        <listitem>
          <para>Script to load firmware for a device</para>
          <indexterm zone="ch-system-udev firmware.sh">
            <primary sortas="b-firmware.sh">firmware.sh</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="fstab_import">
        <term><command>fstab_import</command></term>
        <listitem>
          <para>DESCRIPTION REQUIRED</para>
          <indexterm zone="ch-system-udev fstab_import">
            <primary sortas="b-fstab_import">fstab_import</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="path_id">
        <term><command>path_id</command></term>
        <listitem>
          <para>Provide the shortest possible unique hardware path to a
          device</para>
          <indexterm zone="ch-system-udev path_id">
            <primary sortas="b-path_id">path_id</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="scsi_id">
        <term><command>scsi_id</command></term>
        <listitem>
          <para>Retrieve or generate a unique SCSI identifier.</para>
          <indexterm zone="ch-system-udev scsi_id">
            <primary sortas="b-scsi_id">scsi_id</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="usb_id">
        <term><command>usb_id</command></term>
        <listitem>
          <para>Identify a USB block device.</para>
          <indexterm zone="ch-system-udev usb_id">
            <primary sortas="b-usb_id">usb_id</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="vol_id">
        <term><command>vol_id</command></term>
        <listitem>
          <para>Probe filesystem type and read label and uuid.</para>
          <indexterm zone="ch-system-udev vol_id">
            <primary sortas="b-vol_id">vol_id</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="write_cd_rules">
        <term><command>write_cd_rules</command></term>
        <listitem>
          <para>DESCRIPTION REQUIRED</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>DESCRIPTION REQUIRED</para>
          <indexterm zone="ch-system-udev write_net_rules">
            <primary sortas="b-write_net_rules">write_net_rules</primary>
          </indexterm>
        </listitem>
      </varlistentry>
<!-- End of Helpers -->

      <varlistentry id="libvolume_id">
        <term><filename class="libraryfile">libvolume_id</filename></term>
        <listitem>
          <para>This library provides programs such as <command>vol_id</command>
          with a filesystems type, abel, and uuid from a device node or a
          image.</para>
          <indexterm zone="ch-system-udev libvolume_id">
            <primary sortas="b-libvolume_id">libvolume_id</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libudev">
        <term><filename class="libraryfile">libudev</filename></term>
        <listitem>
          <para>DESCRIPTION REQUIRED</para>
          <indexterm zone="ch-system-udev libudev">
            <primary sortas="b-libudev">libudev</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="etc-udev">
        <term><filename class="directory">/etc/udev</filename></term>
        <listitem>
          <para>Contains <command>udev</command> configuration 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>

      <varlistentry id="lib-udev">
        <term><filename class="directory">/lib/udev</filename></term>
        <listitem>
          <para>Contains <command>udev</command> helper programs
          and static devices which get copied to /dev when booted.</para>
          <indexterm zone="ch-system-udev lib-udev">
            <primary sortas="e-/lib/udev">/lib/udev</primary>
          </indexterm>
        </listitem>
      </varlistentry>
    </variablelist>

  </sect2>

</sect1>
