| <?xml version='1.0'?> |
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |
| |
| <!-- |
| SPDX-License-Identifier: LGPL-2.1+ |
| --> |
| |
| <refentry id="systemd-udevd.service" |
| xmlns:xi="http://www.w3.org/2001/XInclude"> |
| |
| <refentryinfo> |
| <title>systemd-udevd.service</title> |
| <productname>systemd</productname> |
| </refentryinfo> |
| |
| <refmeta> |
| <refentrytitle>systemd-udevd.service</refentrytitle> |
| <manvolnum>8</manvolnum> |
| </refmeta> |
| |
| <refnamediv> |
| <refname>systemd-udevd.service</refname> |
| <refname>systemd-udevd-control.socket</refname> |
| <refname>systemd-udevd-kernel.socket</refname> |
| <refname>systemd-udevd</refname> |
| <refpurpose>Device event managing daemon</refpurpose> |
| </refnamediv> |
| |
| <refsynopsisdiv> |
| <para><filename>systemd-udevd.service</filename></para> |
| <para><filename>systemd-udevd-control.socket</filename></para> |
| <para><filename>systemd-udevd-kernel.socket</filename></para> |
| |
| <cmdsynopsis> |
| <command>/usr/lib/systemd/systemd-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>--event-timeout=</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>systemd-udevd</command> listens to kernel uevents. |
| For every event, systemd-udevd executes matching instructions |
| specified in udev rules. See <citerefentry> |
| <refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum> |
| </citerefentry>.</para> |
| |
| <para>The behavior of the daemon can be configured using |
| <citerefentry><refentrytitle>udev.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
| its command line options, environment variables, and on the kernel |
| command line, or changed dynamically with <command>udevadm |
| control</command>. |
| </para> |
| </refsect1> |
| |
| <refsect1><title>Options</title> |
| <variablelist> |
| <varlistentry> |
| <term><option>-d</option></term> |
| <term><option>--daemon</option></term> |
| <listitem> |
| <para>Detach and run in the background.</para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>-D</option></term> |
| <term><option>--debug</option></term> |
| <listitem> |
| <para>Print debug messages to standard error.</para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>-c=</option></term> |
| <term><option>--children-max=</option></term> |
| <listitem> |
| <para>Limit the number of events executed in parallel.</para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>-e=</option></term> |
| <term><option>--exec-delay=</option></term> |
| <listitem> |
| <para>Delay the execution of <varname>RUN</varname> |
| instructions 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>-t=</option></term> |
| <term><option>--event-timeout=</option></term> |
| <listitem> |
| <para>Set the number of seconds to wait for events to finish. After |
| this time, the event will be terminated. The default is 180 seconds.</para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>-N=</option></term> |
| <term><option>--resolve-names=</option></term> |
| <listitem> |
| <para>Specify when systemd-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> |
| |
| <xi:include href="standard-options.xml" xpointer="help" /> |
| <xi:include href="standard-options.xml" xpointer="version" /> |
| </variablelist> |
| </refsect1> |
| |
| <refsect1><title>Kernel command line</title> |
| <variablelist class='kernel-commandline-options'> |
| <para>Parameters starting with "rd." will be read when |
| <command>systemd-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 log level.</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 <varname>RUN</varname> instructions 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>udev.event_timeout=</varname></term> |
| <term><varname>rd.udev.event_timeout=</varname></term> |
| <listitem> |
| <para>Wait for events to finish up to the given number |
| of seconds. This option might be useful if events are |
| terminated due to kernel drivers taking too long to initialize.</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> |
| <varlistentry> |
| <term><varname>net.naming-scheme=</varname></term> |
| <listitem> |
| <para>Network interfaces are renamed to give them predictable names when possible (unless |
| <varname>net.ifnames=0</varname> is specified, see above). The names are derived from various |
| device metadata fields. Newer versions of <filename>systemd-udevd.service</filename> take more of |
| these fields into account, improving (and thus possibly changing) the names used for the same |
| devices. With this kernel command line option it is possible to pick a specific version of this |
| algorithm. It expects a naming scheme identifier as argument. Currently the following identifiers |
| are known: <literal>v238</literal>, <literal>v239</literal>, <literal>v240</literal> which each |
| implement the naming scheme that was the default in the indicated systemd version. In addition, |
| <literal>latest</literal> may be used to designate the latest scheme known (to this particular |
| version of <filename>systemd-udevd.service</filename>).</para> |
| |
| <para>Note that selecting a specific scheme is not sufficient to fully stabilize interface naming: |
| the naming is generally derived from driver attributes exposed by the kernel. As the kernel is |
| updated, previously missing attributes <filename>systemd-udevd.service</filename> is checking might |
| appear, which affects older name derivation algorithms, too.</para> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| <!-- when adding entries here, consider also adding them |
| in kernel-command-line.xml --> |
| </refsect1> |
| |
| <refsect1> |
| <title>See Also</title> |
| <para> |
| <citerefentry><refentrytitle>udev.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum></citerefentry> |
| </para> |
| </refsect1> |
| </refentry> |