summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--man/Makefile.am5
-rw-r--r--man/udev.xml115
-rw-r--r--man/udevadm.xml14
-rw-r--r--man/udevd.xml187
4 files changed, 261 insertions, 60 deletions
diff --git a/man/Makefile.am b/man/Makefile.am
index 0ecf97d35a..a82d537dbf 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -2,6 +2,7 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
XMLPAGES = \
udev.xml \
+ udevd.xml \
udevadm.xml
noinst_DATA = \
@@ -12,6 +13,7 @@ EXTRA_DIST = \
MANPAGES = \
udev.7 \
+ udevd.8 \
udevadm.8
man_MANS = \
@@ -34,5 +36,8 @@ XSLTPROC_PROCESS_MAN = \
udev.7: udev.xml
$(XSLTPROC_PROCESS_MAN)
+udevd.8: udevd.xml
+ $(XSLTPROC_PROCESS_MAN)
+
udevadm.8: udevadm.xml
$(XSLTPROC_PROCESS_MAN)
diff --git a/man/udev.xml b/man/udev.xml
index 3d2d416ead..0633227dea 100644
--- a/man/udev.xml
+++ b/man/udev.xml
@@ -5,8 +5,8 @@
<refentry id="udev">
<refentryinfo>
- <title>systemd</title>
- <productname>eudev</productname>
+ <title>udev</title>
+ <productname>udev</productname>
<authorgroup>
<author>
<contrib>Developer</contrib>
@@ -54,30 +54,9 @@
sources is provided by the library libudev.</para>
</refsect1>
- <refsect1><title>Configuration</title>
- <para>udev configuration files are placed in <filename>/etc/udev</filename>
- and <filename>/usr/lib/udev</filename>. All empty lines or lines beginning with
- '#' are ignored.</para>
-
- <refsect2><title>Configuration file</title>
- <para>udev expects its main configuration file at <filename>/etc/udev/udev.conf</filename>.
- It consists of a set of variables allowing the user to override default udev values.
- The following variables can be set:</para>
- <variablelist>
- <varlistentry>
- <term><option>udev_log</option></term>
- <listitem>
- <para>The logging priority. Valid values are the numerical syslog priorities
- or their textual representations: <option>err</option>, <option>info</option>
- and <option>debug</option>.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
-
- <refsect2><title>Rules files</title>
+ <refsect1><title>Rules files</title>
<para>The udev rules are read from the files located in the
- system rules directory <filename>/usr/lib/udev/rules.d</filename>,
+ system rules directory <filename>/lib/udev/rules.d</filename>,
the volatile runtime directory <filename>/run/udev/rules.d</filename>
and the local administration directory <filename>/etc/udev/rules.d</filename>.
All rules files are collectively sorted and processed in lexical order,
@@ -94,9 +73,10 @@
extensions are ignored.</para>
<para>Every line in the rules file contains at least one key-value pair.
+ Except for empty lines or lines beginning with '#', which are ignored.
There are two kinds of keys: match and assignment.
- If all match keys are matching against its value, the rule gets applied and the
- assignment keys get the specified value assigned.</para>
+ If all match keys match against their values, the rule gets applied and the
+ assignment keys get the specified values assigned.</para>
<para>A matching rule may rename a network interface, add symlinks
pointing to the device node, or run a specified program as part of
@@ -107,21 +87,21 @@
operators are:</para>
<variablelist>
<varlistentry>
- <term><option>==</option></term>
+ <term><literal>==</literal></term>
<listitem>
<para>Compare for equality.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>!=</option></term>
+ <term><literal>!=</literal></term>
<listitem>
<para>Compare for inequality.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>=</option></term>
+ <term><literal>=</literal></term>
<listitem>
<para>Assign a value to a key. Keys that represent a list are reset
and only this single value is assigned.</para>
@@ -129,14 +109,14 @@
</varlistentry>
<varlistentry>
- <term><option>+=</option></term>
+ <term><literal>+=</literal></term>
<listitem>
<para>Add the value to a key that holds a list of entries.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>:=</option></term>
+ <term><literal>:=</literal></term>
<listitem>
<para>Assign a value to a key finally; disallow any later changes.</para>
</listitem>
@@ -148,7 +128,7 @@
not only the device that has generated the event. If multiple keys that match
a parent device are specified in a single rule, all these keys must match at
one and the same parent device.</para>
- <variablelist>
+ <variablelist class='udev-directives'>
<varlistentry>
<term><option>ACTION</option></term>
<listitem>
@@ -297,19 +277,19 @@
pattern characters are supported:</para>
<variablelist>
<varlistentry>
- <term><option>*</option></term>
+ <term><literal>*</literal></term>
<listitem>
<para>Matches zero or more characters.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>?</option></term>
+ <term><literal>?</literal></term>
<listitem>
<para>Matches any single character.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>[]</option></term>
+ <term><literal>[]</literal></term>
<listitem>
<para>Matches any single character specified within the brackets. For
example, the pattern string 'tty[SR]' would match either 'ttyS' or 'ttyR'.
@@ -322,7 +302,7 @@
</variablelist>
<para>The following keys can get values assigned:</para>
- <variablelist>
+ <variablelist class='udev-directives'>
<varlistentry>
<term><option>NAME</option></term>
<listitem>
@@ -354,7 +334,7 @@
</varlistentry>
<varlistentry>
- <term><option>OWNER, GROUP, MODE</option></term>
+ <term><option>OWNER</option>, <option>GROUP</option>, <option>MODE</option></term>
<listitem>
<para>The permissions for the device node. Every specified value overrides
the compiled-in default value.</para>
@@ -392,14 +372,31 @@
</varlistentry>
<varlistentry>
- <term><option>RUN</option></term>
+ <term><option>RUN{<replaceable>type</replaceable>}</option></term>
<listitem>
- <para>Add a program to the list of programs to be executed for a specific
- device.</para>
- <para>If no absolute path is given, the program is expected to live in
- /usr/lib/udev, otherwise the absolute path must be specified. The program
- name and following arguments are separated by spaces. Single quotes can
- be used to specify arguments with spaces.</para>
+ <para>Add a program to the list of programs to be executed after processing all the
+ rules for a specific event, depending on <literal>type</literal>:</para>
+ <variablelist>
+ <varlistentry>
+ <term><literal>program</literal></term>
+ <listitem>
+ <para>Execute an external program specified as the assigned
+ value. If no absolute path is given, the program is expected to live in
+ /lib/udev, otherwise the absolute path must be specified.</para>
+ <para>This is the default if no <replaceable>type</replaceable> is
+ specified.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>builtin</literal></term>
+ <listitem>
+ <para>As <option>program</option>, but use one of the built-in programs rather
+ than an external one.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>The program name and following arguments are separated by spaces.
+ Single quotes can be used to specify arguments with spaces.</para>
<para>This can only be used for very short-running foreground tasks. Running an
event process for a long period of time may block all further events for
this or a dependent device.</para>
@@ -427,10 +424,10 @@
<term><option>IMPORT{<replaceable>type</replaceable>}</option></term>
<listitem>
<para>Import a set of variables as device properties,
- depending on <replaceable>type</replaceable>:</para>
+ depending on <literal>type</literal>:</para>
<variablelist>
<varlistentry>
- <term><option>program</option></term>
+ <term><literal>program</literal></term>
<listitem>
<para>Execute an external program specified as the assigned value and
import its output, which must be in environment key
@@ -439,14 +436,21 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><option>file</option></term>
+ <term><literal>builtin</literal></term>
+ <listitem>
+ <para>As <option>program</option>, but use one of the built-in programs rather
+ than an external one.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>file</literal></term>
<listitem>
<para>Import a text file specified as the assigned value, the content
of which must be in environment key format.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>db</option></term>
+ <term><literal>db</literal></term>
<listitem>
<para>Import a single property specified as the assigned value from the
current device database. This works only if the database is already populated
@@ -454,14 +458,14 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><option>cmdline</option></term>
+ <term><literal>cmdline</literal></term>
<listitem>
<para>Import a single property from the kernel command line. For simple flags
the value of the property is set to '1'.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>parent</option></term>
+ <term><literal>parent</literal></term>
<listitem>
<para>Import the stored keys from the parent device by reading
the database entry of the parent device. The value assigned to
@@ -489,7 +493,7 @@
<term><option>OPTIONS</option></term>
<listitem>
<para>Rule and device options:</para>
- <variablelist>
+ <variablelist class='udev-directives'>
<varlistentry>
<term><option>link_priority=<replaceable>value</replaceable></option></term>
<listitem>
@@ -546,7 +550,7 @@
is executed, allowing for the use of device properties set by earlier matching
rules. For all other fields, substitutions are performed while the individual rule is
being processed. The available substitutions are:</para>
- <variablelist>
+ <variablelist class='udev-directives'>
<varlistentry>
<term><option>$kernel</option>, <option>%k</option></term>
<listitem>
@@ -677,20 +681,19 @@
</varlistentry>
<varlistentry>
- <term><option>%%</option></term>
+ <term><literal>%%</literal></term>
<listitem>
<para>The '%' character itself.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>$$</option></term>
+ <term><literal>$$</literal></term>
<listitem>
<para>The '$' character itself.</para>
</listitem>
</varlistentry>
</variablelist>
- </refsect2>
</refsect1>
<refsect1>
diff --git a/man/udevadm.xml b/man/udevadm.xml
index 5f0351f0d0..51370cc4e7 100644
--- a/man/udevadm.xml
+++ b/man/udevadm.xml
@@ -424,14 +424,14 @@
</refsect2>
<refsect2><title>udevadm hwdb <optional>options</optional></title>
- <para>Maintain the hardware database index in /etc/udev/hwdb.bin.</para>
+ <para>Maintain the hardware database index in <filename>/etc/udev/hwdb.bin</filename>.</para>
<variablelist>
<varlistentry>
<term><option>--update</option></term>
<listitem>
- <para>Compile the hardware dabase information located in /usr/lib/udev/hwdb.d/,
- /etc/udev/hwdb.d/ and store it in /etc/udev/hwdb.bin. This should be done with
- any update to the source files, it will not be called automatically. The running
+ <para>Compile the hardware database information located in /usr/lib/udev/hwdb.d/,
+ /etc/udev/hwdb.d/ and store it in <filename>/etc/udev/hwdb.bin</filename>. This should be done after
+ any update to the source files; it will not be called automatically. The running
udev daemon will detect a new database on its own and does not need to be
notified about it.</para>
</listitem>
@@ -443,6 +443,12 @@
retrieved properties.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--root=<replaceable>string</replaceable></option></term>
+ <listitem>
+ <para>Alternative root path in the filesystem for reading and writing files.</para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect2>
diff --git a/man/udevd.xml b/man/udevd.xml
new file mode 100644
index 0000000000..c72484c556
--- /dev/null
+++ b/man/udevd.xml
@@ -0,0 +1,187 @@
+<?xml version='1.0'?>
+<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<refentry id="udevd">
+ <refentryinfo>
+ <title>udevd</title>
+ <productname>udev</productname>
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Kay</firstname>
+ <surname>Sievers</surname>
+ <email>kay@vrfy.org</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>udevd</refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo class="version"></refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname>udevd</refname>
+ <refpurpose>Device event managing daemon</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <para><filename>udevd</filename></para>
+
+ <cmdsynopsis>
+ <command>/sbin/udevd</command>
+ <arg><option>--daemon</option></arg>
+ <arg><option>--debug</option></arg>
+ <arg><option>--children-max=</option></arg>
+ <arg><option>--exec-delay=</option></arg>
+ <arg><option>--resolve-names=early|late|never</option></arg>
+ <arg><option>--version</option></arg>
+ <arg><option>--help</option></arg>
+ </cmdsynopsis>
+
+ </refsynopsisdiv>
+
+ <refsect1><title>Description</title>
+ <para><command>udevd</command> listens to kernel uevents.
+ For every event, udevd executes matching instructions
+ specified in udev rules. See <citerefentry>
+ <refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum>
+ </citerefentry>.</para>
+ <para>The behavior of the running daemon can be changed with
+ <command>udevadm control</command>.</para>
+ </refsect1>
+
+ <refsect1><title>Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--daemon</option></term>
+ <listitem>
+ <para>Detach and run in the background.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--debug</option></term>
+ <listitem>
+ <para>Print debug messages to stderr.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--children-max=</option></term>
+ <listitem>
+ <para>Limit the number of events executed in parallel.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--exec-delay=</option></term>
+ <listitem>
+
+ <para>Delay the execution of RUN instruction by the given
+ number of seconds. This option might be useful when
+ debugging system crashes during coldplug caused by loading
+ non-working kernel modules.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--resolve-names=</option></term>
+ <listitem>
+ <para>Specify when udevd should resolve names of users and groups.
+ When set to <option>early</option> (the default) names will be
+ resolved when the rules are parsed. When set to
+ <option>late</option> names will be resolved for every event.
+ When set to <option>never</option> names will never be resolved
+ and all devices will be owned by root.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--version</option></term>
+ <listitem>
+ <para>Print version number.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--help</option></term>
+ <listitem>
+ <para>Print help text.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1><title>Environment</title>
+ <variablelist class='environment-variables'>
+ <varlistentry>
+ <term><varname>$UDEV_LOG=</varname></term>
+ <listitem>
+ <para>Set the logging priority.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1><title>Kernel command line</title>
+ <variablelist class='kernel-commandline-options'>
+ <para>Parameters starting with "rd." will be read when
+ <command>udevd</command> is used in an initrd.</para>
+ <varlistentry>
+ <term><varname>udev.log-priority=</varname></term>
+ <term><varname>rd.udev.log-priority=</varname></term>
+ <listitem>
+ <para>Set the logging priority.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>udev.children-max=</varname></term>
+ <term><varname>rd.udev.children-max=</varname></term>
+ <listitem>
+ <para>Limit the number of events executed in parallel.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>udev.exec-delay=</varname></term>
+ <term><varname>rd.udev.exec-delay=</varname></term>
+ <listitem>
+ <para>Delay the execution of RUN instruction by the given
+ number of seconds. This option might be useful when
+ debugging system crashes during coldplug caused by loading
+ non-working kernel modules.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>net.ifnames=</varname></term>
+ <listitem>
+ <para>Network interfaces are renamed to give them predictable names
+ when possible. It is enabled by default, specifying 0 disables it.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1><title>Configuration file</title>
+ <para>udev expects its main configuration file at <filename>/etc/udev/udev.conf</filename>.
+ It consists of a set of variables allowing the user to override default udev values. All
+ empty lines or lines beginning with '#' are ignored. The following variables can be
+ set:</para>
+ <variablelist>
+ <varlistentry>
+ <term><varname>udev_log</varname></term>
+ <listitem>
+ <para>The logging priority. Valid values are the numerical syslog priorities
+ or their textual representations: <option>err</option>, <option>info</option>
+ and <option>debug</option>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+ <para><citerefentry>
+ <refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum>
+ </citerefentry>, <citerefentry>
+ <refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry></para>
+ </refsect1>
+</refentry>