Changeset d2c332bc for chapter06


Ignore:
Timestamp:
04/13/2006 06:45:33 PM (18 years ago)
Author:
Archaic <archaic@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
a0d96d25
Parents:
dd7ed7b
Message:

Merged the udev_update branch to trunk.

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

Location:
chapter06
Files:
3 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • chapter06/chapter06.xml

    rdd7ed7b rd2c332bc  
    1313
    1414  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
     15  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernfs.xml"/>
    1516  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pkgmgt.xml"/>
    16   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernfs.xml"/>
    1717  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chroot.xml"/>
    18   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changingowner.xml"/>
    1918  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingdirs.xml"/>
    2019  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="createfiles.xml"/>
    21   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pwdgroup.xml"/>
    22   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="devices.xml"/>
    2320  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-libc-headers.xml"/>
    2421  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-pages.xml"/>
     
    5451  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.xml"/>
    5552  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/>
    56   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hotplug.xml"/>
    5753  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inetutils.xml"/>
    5854  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iproute2.xml"/>
  • chapter06/chroot.xml

    rdd7ed7b rd2c332bc  
    4545  to <command>bash</command>.</para>
    4646
    47   <para>It is important that all the commands throughout the remainder of this
    48   chapter and the following chapters are run from within the chroot environment.
    49   If you leave this environment for any reason (rebooting for example), remember
    50   to first mount the <systemitem class="filesystem">proc</systemitem> and
    51   <systemitem class="filesystem">devpts</systemitem> file systems (discussed
    52   in the previous section) and enter chroot again before continuing with the
    53   installations.</para>
    54 
    5547  <para>Note that the <command>bash</command> prompt will say
    5648  <computeroutput>I have no name!</computeroutput> This is normal because the
    5749  <filename>/etc/passwd</filename> file has not been created yet.</para>
    5850
     51  <note>
     52    <para>It is important that all the commands throughout the remainder of this
     53    chapter and the following chapters are run from within the chroot
     54    environment. If you leave this environment for any reason (rebooting for
     55    example), ensure that the virtual kernel filesystems are mounted as
     56    explained in <xref linkend="ch-system-bindmount"/> and <xref
     57    linkend="ch-system-kernfsmount"/> and enter chroot again before continuing
     58    with the installation.</para>
     59  </note>
     60
    5961</sect1>
  • chapter06/createfiles.xml

    rdd7ed7b rd2c332bc  
    99  <?dbhtml filename="createfiles.html"?>
    1010
    11   <title>Creating Essential Symlinks</title>
     11  <title>Creating Essential Files and Symlinks</title>
     12
     13  <indexterm zone="ch-system-createfiles">
     14    <primary sortas="e-/etc/passwd">/etc/passwd</primary>
     15  </indexterm>
     16
     17  <indexterm zone="ch-system-createfiles">
     18    <primary sortas="e-/etc/group">/etc/group</primary>
     19  </indexterm>
     20
     21  <indexterm zone="ch-system-createfiles">
     22    <primary sortas="e-/var/run/utmp">/var/run/utmp</primary>
     23  </indexterm>
     24
     25  <indexterm zone="ch-system-createfiles">
     26    <primary sortas="e-/var/log/btmp">/var/log/btmp</primary>
     27  </indexterm>
     28
     29  <indexterm zone="ch-system-createfiles">
     30    <primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary>
     31  </indexterm>
     32
     33  <indexterm zone="ch-system-createfiles">
     34    <primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary>
     35  </indexterm>
    1236
    1337  <para>Some programs use hard-wired paths to programs which do not exist yet. In
     
    2145ln -sv bash /bin/sh</userinput></screen>
    2246
     47  <para>A proper Linux system maintains a list of the mounted file systems in
     48  the file <filename>/etc/mtab</filename>.  Normally, this file would be
     49  created when we mount a new file system. Since we will not be mounting any
     50  file systems inside our chroot environment, create an empty file for
     51  utilities that expect the presence of <filename>/etc/mtab</filename>:</para>
     52
     53<screen><userinput>touch /etc/mtab</userinput></screen>
     54
     55  <para>In order for user <systemitem class="username">root</systemitem> to be
     56  able to login and for the name <quote>root</quote> to be recognized, there
     57  must be relevant entries in the <filename>/etc/passwd</filename> and
     58  <filename>/etc/group</filename> files.</para>
     59
     60  <para>Create the <filename>/etc/passwd</filename> file by running the following
     61  command:</para>
     62
     63<screen><userinput>cat &gt; /etc/passwd &lt;&lt; "EOF"
     64<literal>root:x:0:0:root:/root:/bin/bash</literal>
     65EOF</userinput></screen>
     66
     67  <para>The actual password for <systemitem class="username">root</systemitem>
     68  (the <quote>x</quote> used here is just a placeholder) will be set later.</para>
     69
     70  <para>Create the <filename>/etc/group</filename> file by running the following
     71  command:</para>
     72
     73<screen><userinput>cat &gt; /etc/group &lt;&lt; "EOF"
     74<literal>root:x:0:
     75bin:x:1:
     76sys:x:2:
     77kmem:x:3:
     78tty:x:4:
     79tape:x:5:
     80daemon:x:6:
     81floppy:x:7:
     82disk:x:8:
     83lp:x:9:
     84dialout:x:10:
     85audio:x:11:
     86video:x:12:
     87utmp:x:13:
     88usb:x:14:
     89cdrom:x:15:</literal>
     90EOF</userinput></screen>
     91
     92  <para>The created groups are not part of any standard&mdash;they are groups
     93  decided on in part by the requirements of the Udev configuration in this
     94  chapter, and in part by common convention employed by a number of existing
     95  Linux distributions. The Linux Standard Base (LSB, available at <ulink
     96  url="http://www.linuxbase.org"/>) recommends only that, besides the group
     97  <systemitem class="groupname">root</systemitem> with a Group ID (GID) of 0,
     98  a group <systemitem class="groupname">bin</systemitem> with a GID of 1 be
     99  present. All other group names and GIDs can be chosen freely by the system
     100  administrator since well-written programs do not depend on GID numbers, but
     101  rather use the group's name.</para>
     102
     103  <para>To remove the <quote>I have no name!</quote> prompt, start a new
     104  shell. Since a full Glibc was installed in <xref
     105  linkend="chapter-temporary-tools"/> and the
     106  <filename>/etc/passwd</filename> and <filename>/etc/group</filename>
     107  files have been created, user name and group name resolution will now
     108  work.</para>
     109
     110<screen role="nodump"><userinput>exec /tools/bin/bash --login +h</userinput></screen>
     111
     112  <para>Note the use of the <parameter>+h</parameter> directive. This tells
     113  <command>bash</command> not to use its internal path hashing. Without this
     114  directive, <command>bash</command> would remember the paths to binaries it has
     115  executed. To ensure the use of the newly compiled binaries as soon as they are
     116  installed, the <parameter>+h</parameter> directive will be used for the duration
     117  of this chapter.</para>
     118
     119  <para>The <command>login</command>, <command>agetty</command>, and
     120  <command>init</command> programs (and others) use a number of log
     121  files to record information such as who was logged into the system and
     122  when. However, these programs will not write to the log files if they
     123  do not already exist. Initialize the log files and give them
     124  proper permissions:</para>
     125
     126<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
     127chgrp -v utmp /var/run/utmp /var/log/lastlog
     128chmod -v 664 /var/run/utmp /var/log/lastlog</userinput></screen>
     129
     130  <para>The <filename>/var/run/utmp</filename> file records the users
     131  that are currently logged in. The <filename>/var/log/wtmp</filename>
     132  file records all logins and logouts. The
     133  <filename>/var/log/lastlog</filename> file records when
     134  each user last logged in. The <filename>/var/log/btmp</filename> file
     135  records the bad login attempts.</para>
     136
    23137</sect1>
  • chapter06/creatingdirs.xml

    rdd7ed7b rd2c332bc  
    1414  standard directory tree by issuing the following commands:</para>
    1515
    16 <screen><userinput>install -dv /{bin,boot,dev,etc/opt,home,lib,mnt}
     16<screen><userinput>install -dv /{bin,boot,etc/opt,home,lib,mnt}
    1717install -dv /{sbin,srv,usr/local,var,opt}
    1818install -dv /root -m 0750
  • chapter06/introduction.xml

    rdd7ed7b rd2c332bc  
    5656  these) that the package installs.</para>
    5757
    58   <note>
    59     <para>At this point, you may wish to keep your finished temporary
    60     tools for use in future LFS builds by creating a tarball of the
    61     <filename class="directory">/tools</filename> directory and
    62     storing it in a safe location.</para>
    63   </note>
    64 
    6558</sect1>
  • chapter06/iproute2.xml

    rdd7ed7b rd2c332bc  
    2626
    2727      <seglistitem>
    28         <seg>0.1 SBU</seg>
    29         <seg>4.3 MB</seg>
     28        <seg>0.2 SBU</seg>
     29        <seg>4.8 MB</seg>
    3030      </seglistitem>
    3131    </segmentedlist>
  • chapter06/kernfs.xml

    rdd7ed7b rd2c332bc  
    99  <?dbhtml filename="kernfs.html"?>
    1010
    11   <title>Mounting Virtual Kernel File Systems</title>
     11  <title>Preparing Virtual Kernel File Systems</title>
    1212
    13   <para>Various file systems exported by the kernel are used to communicate to and
    14   from the kernel itself. These file systems are virtual in that no disk space is
    15   used for them. The content of the file systems resides in memory.</para>
     13  <indexterm zone="ch-system-kernfs">
     14    <primary sortas="e-/dev/">/dev/*</primary>
     15  </indexterm>
    1616
    17   <para>Begin by creating directories onto which the file systems will be
    18   mounted:</para>
     17    <para>Various file systems exported by the kernel are used to communicate to
     18    and from the kernel itself. These file systems are virtual in that no disk
     19    space is used for them. The content of the file systems resides in
     20    memory.</para>
    1921
    20 <screen><userinput>mkdir -pv $LFS/{proc,sys}</userinput></screen>
     22    <para>Begin by creating directories onto which the file systems will be
     23    mounted:</para>
    2124
    22   <para>Now mount the file systems:</para>
     25<screen><userinput>mkdir -pv $LFS/{dev,proc,sys}</userinput></screen>
    2326
    24 <screen><userinput>mount -vt proc proc $LFS/proc
     27  <sect2>
     28    <title>Creating Initial Device Nodes</title>
     29
     30    <para>When the kernel boots the system, it requires the presence of a few
     31    device nodes, in particular the <filename
     32    class="devicefile">console</filename> and <filename
     33    class="devicefile">null</filename> devices. The device nodes will be created
     34    on the hard disk so that they are available before <command>udev</command>
     35    has been started, and additionally when Linux is started in single user mode
     36    (hence the restrictive permissions on <filename
     37    class="devicefile">console</filename>). Create the devices by running the
     38    following commands:</para>
     39
     40<screen><userinput>mknod -m 600 $LFS/dev/console c 5 1
     41mknod -m 666 $LFS/dev/null c 1 3</userinput></screen>
     42
     43  </sect2>
     44
     45  <sect2 id="ch-system-bindmount">
     46    <title>Mounting and Populating /dev</title>
     47
     48      <para>The recommended method of populating the <filename
     49      class="directory">/dev</filename> directory with devices is to mount a
     50      virtual filesystem (such as <systemitem
     51      class="filesystem">tmpfs</systemitem>) on the <filename
     52      class="directory">/dev</filename> directory, and allow the devices to be
     53      created dynamically on that virtual filesystem as they are detected or
     54      accessed. This is generally done during the boot process by Udev. Since
     55      this new system does not yet have Udev and has not yet been booted, it is
     56      necessary to mount and populate <filename
     57      class="directory">/dev</filename> manually. This is accomplished by bind
     58      mounting the host system's <filename class="directory">/dev</filename>
     59      directory. A bind mount is a special type of mount that allows you to
     60      create a mirror of a directory or mount point to some other location. Use
     61      the following command to achieve this:</para>
     62
     63<screen><userinput>mount --bind /dev $LFS/dev</userinput></screen>
     64
     65  </sect2>
     66 
     67  <sect2 id="ch-system-kernfsmount">
     68    <title>Mounting Virtual Kernel File Systems</title>
     69
     70      <para>Now mount the remaining virtual kernel filesystems:</para>
     71
     72<screen><userinput>mount -vt devpts devpts $LFS/dev/pts
     73mount -vt tmpfs shm $LFS/dev/shm
     74mount -vt proc proc $LFS/proc
    2575mount -vt sysfs sysfs $LFS/sys</userinput></screen>
    2676
    27   <para>Remember that if for any reason you stop working on the LFS
    28   system and start again later, it is important to check that these file
    29   systems are mounted again before entering the chroot
    30   environment.</para>
    31 
    32   <para>Additional file systems will soon be mounted from within the
    33   chroot environment. To keep the host up to date, perform a <quote>fake
    34   mount</quote> for each of these now:</para>
    35 
    36 <screen><userinput>mount -vft tmpfs tmpfs $LFS/dev
    37 mount -vft tmpfs tmpfs $LFS/dev/shm
    38 mount -vft devpts -o gid=4,mode=620 devpts $LFS/dev/pts</userinput></screen>
     77  </sect2>
    3978
    4079</sect1>
  • chapter06/pkgmgt.xml

    rdd7ed7b rd2c332bc  
    3939  the <ulink url="&hints-root;">Hints subproject</ulink> and see if one of them
    4040  fits your need.</para>
    41 
    42   <note>
    43     <para>As no particular package management technique is mentioned in LFS,
    44     the commands in the remainder of this book must be performed while logged in
    45     as user <systemitem class="username">root</systemitem> and no longer as user
    46     <systemitem class="username">lfs</systemitem>. Also, double check that
    47     <envar>$LFS</envar> is set.</para>
    48   </note>
    4941
    5042  <sect2>
  • chapter06/udev.xml

    rdd7ed7b rd2c332bc  
    2727      <seglistitem>
    2828        <seg>0.1 SBU</seg>
    29         <seg>3.8 MB</seg>
     29        <seg>4.8 MB</seg>
    3030      </seglistitem>
    3131    </segmentedlist>
     
    4444    <title>Installation of Udev</title>
    4545
     46    <para>Create some devices and directories that Udev cannot handle due to
     47    them being required very early in the boot process:</para>
     48
     49<screen><userinput>install -dv /lib/{firmware,udev/devices/{pts,shm}}
     50mknod -m0666 /lib/udev/devices/null c 1 3
     51ln -sv /proc/self/fd /lib/udev/devices/fd
     52ln -sv /proc/self/fd/0 /lib/udev/devices/stdin
     53ln -sv /proc/self/fd/1 /lib/udev/devices/stdout
     54ln -sv /proc/self/fd/2 /lib/udev/devices/stderr
     55ln -sv /proc/kcore /lib/udev/devices/core</userinput></screen>
     56
    4657    <para>Compile the package:</para>
    4758
    48 <screen><userinput>make EXTRAS=extras/run_directory</userinput></screen>
     59<screen><userinput>make EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id \
     60            extras/firmware extras/floppy extras/scsi_id \
     61            extras/usb_id extras/volume_id"</userinput></screen>
    4962
    5063    <variablelist>
     
    5265
    5366      <varlistentry>
    54         <term><parameter>EXTRAS=extras/run_directory</parameter></term>
    55         <listitem>
    56           <para>This builds the <command>udev_run_devd</command> and
    57           <command>udev_run_hotplugd</command> binaries, which are required
    58           for correct handling of hotpluggable devices.</para>
     67        <term><parameter>EXTRAS=...</parameter></term>
     68        <listitem>
     69          <para>This builds several helper binaries that can aid in writing custom
     70          Udev rules.</para>
    5971        </listitem>
    6072      </varlistentry>
     
    6779    <para>Install the package:</para>
    6880
    69 <screen><userinput>make DESTDIR=/ EXTRAS=extras/run_directory install</userinput></screen>
     81<screen><userinput>make DESTDIR=/ \
     82    EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id \
     83            extras/firmware extras/floppy extras/scsi_id \
     84            extras/usb_id extras/volume_id" install</userinput></screen>
    7085
    7186    <variablelist>
     
    88103<screen><userinput>cp -v ../&udev-config-file; /etc/udev/rules.d/25-lfs.rules</userinput></screen>
    89104
     105    <para>Create some rules that work around broken sysfs attribute creation
     106    timing in linux-2.6.15:</para>
     107
     108<screen><userinput>cat &gt;&gt; /etc/udev/rules.d/10-wait_for_sysfs.rules &lt;&lt; "EOF"
     109ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus"
     110ACTION=="add", SUBSYSTEM=="net", WAIT_FOR_SYSFS="address"
     111EOF</userinput></screen>
     112
    90113    <para>Install the documentation that explains how to create Udev rules:</para>
    91114
    92115<screen><userinput>install -m644 -D -v docs/writing_udev_rules/index.html /usr/share/doc/udev-&udev-version;/index.html</userinput></screen>
    93116
    94     <!-- Not for the LiveCD -->
    95     <!-- Edit Me -->
    96     <para>Run the <command>udevstart</command> program to create our full
    97     complement of device nodes.</para>
    98 
    99 <screen><userinput>/sbin/udevstart</userinput></screen>
     117    <important>
     118
     119      <para>When Udev is started by the LFS-Bootscripts, a replay of all kernel
     120      device events happens. These events tell Udev what devices exist.
     121      Sometimes the Udev bootscript doesn't wait long enough for
     122      <command>udevd</command> to process all of the replayed events and
     123      consequently the devices for those missed events are not created before the
     124      script exits. Since <command>udevd</command> is still running in the
     125      background, the devices will be created a few milliseconds later, but the
     126      next bootscript to run may require a device to exist before it has been
     127      created. To avoid such missed events, and to avoid hardcoding an overly
     128      long wait time, It is recommended that you run the following commands to
     129      aid the LFS development team in debugging these missed events and finding
     130      an acceptable solution more quickly.</para>
     131
     132      <para>First, create a simple C file:</para>
     133
     134<screen><userinput>cat &gt; bug.c &lt;&lt; EOF
     135<literal>/* Simple event recorder */
     136#define _GNU_SOURCE
     137#include &lt;sys/types.h&gt;
     138#include &lt;sys/stat.h&gt;
     139#include &lt;fcntl.h&gt;
     140#include &lt;unistd.h&gt;
     141#include &lt;stdlib.h&gt;
     142#include &lt;argz.h&gt;
     143int main(int argc, char * argv[])
     144{
     145  char * envz;
     146  size_t len;
     147  int bug;
     148  bug = open("/dev/bug", O_WRONLY | O_APPEND);
     149  if (bug == -1)
     150  return 0;
     151  setenv("_SEPARATOR", "--------------------------------------", 1);
     152  argz_create(environ, &amp;envz, &amp;len);
     153  argz_stringify(envz, len, '\n');
     154  envz[len-1]='\n';
     155  write(bug, envz, len);
     156  close(bug);
     157  free(envz);
     158  return 0;
     159}</literal>
     160EOF</userinput></screen>
     161
     162      <para>Now compile it:</para>
     163
     164<screen><userinput>gcc -o /lib/udev/bug bug.c</userinput></screen>
     165
     166      <para>The next step adds a simple logging rule to run this program.</para>
     167
     168<screen><userinput>cat &gt; /etc/udev/rules.d/90-bug.rules &lt;&lt; "EOF"
     169<literal>ACTION=="add", RUN+="bug"</literal>
     170EOF</userinput></screen>
     171
     172      <para>When booting the new LFS system, if any events are missed, a warning
     173      message will appear and a <filename>/dev/bugreport</filename> file will be
     174      created. The warning message will tell you where to send feedback.</para>
     175
     176    </important>
    100177
    101178  </sect2>
     
    109186
    110187      <seglistitem>
    111         <seg>udev, udev_run_devd, udev_run_hotplugd, udevcontrol, udevd,
    112         udevinfo, udevmonitor, udevsend, udevstart, and udevtest</seg>
     188        <seg>ata_id, cdrom_id, create_floppy_devices, edd_id, firmware_helper,
     189        scsi_id, udevcontrol, udevd, udevinfo, udevmonitor, udevtest, usb_id
     190        and vol_id</seg>
    113191        <seg>/etc/udev</seg>
    114192      </seglistitem>
     
    120198      <?dbhtml list-presentation="table"?>
    121199
    122       <varlistentry id="udev">
    123         <term><command>udev</command></term>
    124         <listitem>
    125           <para>Creates device nodes in <filename class="directory">/dev</filename>
    126           or renames network interfaces (not in LFS) in response to hotplug
    127           events</para>
    128           <indexterm zone="ch-system-udev udev">
    129             <primary sortas="b-udev">udev</primary>
    130           </indexterm>
    131         </listitem>
    132       </varlistentry>
    133 
    134       <varlistentry id="udev_run_devd">
    135         <term><command>udev_run_devd</command></term>
    136         <listitem>
    137           <para>Executes programs and scripts in the <filename
    138           class="directory">/etc/dev.d/</filename> directory in response to
    139           hotplug events</para>
    140           <indexterm zone="ch-system-udev udev_run_devd">
    141             <primary sortas="b-udev_run_devd">udev_run_devd</primary>
    142           </indexterm>
    143         </listitem>
    144       </varlistentry>
    145 
    146       <varlistentry id="udev_run_hotplugd">
    147         <term><command>udev_run_hotplugd</command></term>
    148         <listitem>
    149           <para>Executes programs and scripts in the <filename
    150           class="directory">/etc/hotplug.d/</filename> directory in response
    151           to hotplug events</para>
    152           <indexterm zone="ch-system-udev udev_run_hotplugd">
    153             <primary sortas="b-udev_run_hotplugd">udev_run_hotplugd</primary>
     200      <varlistentry id="ata_id">
     201        <term><command>ata_id</command></term>
     202        <listitem>
     203          <para>Provides Udev with a unique string and
     204          additional information (uuid, label) for an ATA drive</para>
     205          <indexterm zone="ch-system-udev ata_id">
     206            <primary sortas="b-ata_id">ata_id</primary>
     207          </indexterm>
     208        </listitem>
     209      </varlistentry>
     210
     211      <varlistentry id="cdrom_id">
     212        <term><command>cdrom_id</command></term>
     213        <listitem>
     214          <para>Provides Udev with the capabilities of a
     215          CD-ROM or DVD-ROM drive</para>
     216          <indexterm zone="ch-system-udev cdrom_id">
     217            <primary sortas="b-cdrom_id">cdrom_id</primary>
     218          </indexterm>
     219        </listitem>
     220      </varlistentry>
     221
     222      <varlistentry id="create_floppy_devices">
     223        <term><command>create_floppy_devices</command></term>
     224        <listitem>
     225          <para>Creates all possible floppy devices based on the CMOS type</para>
     226          <indexterm zone="ch-system-udev create_floppy_devices">
     227            <primary sortas="b-create_floppy_devices">create_floppy_devices</primary>
     228          </indexterm>
     229        </listitem>
     230      </varlistentry>
     231
     232      <varlistentry id="edd_id">
     233        <term><command>edd_id</command></term>
     234        <listitem>
     235          <para>Provides Udev with the EDD ID for a BIOS disk drive</para>
     236          <indexterm zone="ch-system-udev edd_id">
     237            <primary sortas="b-edd_id">edd_id</primary>
     238          </indexterm>
     239        </listitem>
     240      </varlistentry>
     241
     242      <varlistentry id="firmware_helper">
     243        <term><command>firmware_helper</command></term>
     244        <listitem>
     245          <para>Uploads firmware to devices</para>
     246          <indexterm zone="ch-system-udev firmware_helper">
     247            <primary sortas="b-firmware_helper">firmware_helper</primary>
     248          </indexterm>
     249        </listitem>
     250      </varlistentry>
     251
     252      <varlistentry id="scsi_id">
     253        <term><command>scsi_id</command></term>
     254        <listitem>
     255          <para>Provides Udev with a unique SCSI identifier
     256          based on the data returned from sending a SCSI INQUIRY command to
     257          the specified device</para>
     258          <indexterm zone="ch-system-udev scsi_id">
     259            <primary sortas="b-scsi_id">scsi_id</primary>
    154260          </indexterm>
    155261        </listitem>
     
    170276        <term><command>udevd</command></term>
    171277        <listitem>
    172           <para>A daemon that reorders hotplug events before submitting them to
    173           <command>udev</command>, thus avoiding various race conditions</para>
     278          <para>A daemon that listens for uevents on the netlink socket,
     279          creates devices and runs the configured external programs in
     280          response to these uevents</para>
    174281          <indexterm zone="ch-system-udev udevd">
    175282            <primary sortas="b-udevd">udevd</primary>
     
    181288        <term><command>udevinfo</command></term>
    182289        <listitem>
    183           <para>Allows users to query the <command>udev</command> database for
     290          <para>Allows users to query the Udev database for
    184291          information on any device currently present on the system; it also
    185292          provides a way to query any device in the <systemitem
     
    195302        <term><command>udevmonitor</command></term>
    196303        <listitem>
    197           <para>Prints the event received from the kernel and the event which
    198           <command>udev</command> sends out after rule processing</para>
     304          <para>Prints the event received from the kernel and the environment
     305          which Udev sends out after rule processing</para>
    199306          <indexterm zone="ch-system-udev udevmonitor">
    200307            <primary sortas="b-udevmonitor">udevmonitor</primary>
     
    203310      </varlistentry>
    204311
    205       <varlistentry id="udevsend">
    206         <term><command>udevsend</command></term>
    207         <listitem>
    208           <para>Delivers hotplug events to <command>udevd</command></para>
    209           <indexterm zone="ch-system-udev udevsend">
    210             <primary sortas="b-udevsend">udevsend</primary>
    211           </indexterm>
    212         </listitem>
    213       </varlistentry>
    214 
    215       <varlistentry id="udevstart">
    216         <term><command>udevstart</command></term>
    217         <listitem>
    218           <para>Creates device nodes in <filename class="directory">/dev</filename>
    219           that correspond to drivers compiled directly into the kernel; it
    220           performs that task by simulating hotplug events presumably dropped by
    221           the kernel before invocation of this program (e.g., because the root
    222           filesystem has not been mounted) and submitting such synthetic hotplug
    223           events to <command>udev</command></para>
    224           <indexterm zone="ch-system-udev udevstart">
    225             <primary sortas="b-udevstart">udevstart</primary>
    226           </indexterm>
    227         </listitem>
    228       </varlistentry>
    229 
    230312      <varlistentry id="udevtest">
    231313        <term><command>udevtest</command></term>
    232314        <listitem>
    233           <para>Simulates a <command>udev</command> run for the given device,
    234           and prints out the name of the node the real <command>udev</command>
    235           would have created or (not in LFS) the name of the renamed network
    236           interface</para>
     315          <para>Simulates a uevent for the given device, and prints out the
     316          name of the node the real <command>udevd</command> would have created,
     317          or the name of the renamed network interface</para>
    237318          <indexterm zone="ch-system-udev udevtest">
    238319            <primary sortas="b-udevtest">udevtest</primary>
     
    241322      </varlistentry>
    242323
     324      <varlistentry id="usb_id">
     325        <term><command>usb_id</command></term>
     326        <listitem>
     327          <para>Provides Udev with information about USB
     328          devices</para>
     329          <indexterm zone="ch-system-udev usb_id">
     330            <primary sortas="b-usb_id">usb_id</primary>
     331          </indexterm>
     332        </listitem>
     333      </varlistentry>
     334
     335      <varlistentry id="vol_id">
     336        <term><command>vol_id</command></term>
     337        <listitem>
     338          <para>Provides Udev with the label and uuid of a
     339          filesystem</para>
     340          <indexterm zone="ch-system-udev vol_id">
     341            <primary sortas="b-vol_id">vol_id</primary>
     342          </indexterm>
     343        </listitem>
     344      </varlistentry>
     345
    243346      <varlistentry id="etc-udev">
    244347        <term><filename class="directory">/etc/udev</filename></term>
    245348        <listitem>
    246           <para>Contains <command>udev</command> configuation files,
     349          <para>Contains Udev configuation files,
    247350          device permissions, and rules for device naming</para>
    248351          <indexterm zone="ch-system-udev etc-udev">
Note: See TracChangeset for help on using the changeset viewer.