<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->

<refentry id="udev.conf"
          xmlns:xi="http://www.w3.org/2001/XInclude">

  <refentryinfo>
    <title>udev.conf</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>udev.conf</refentrytitle>
    <manvolnum>5</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>udev.conf</refname>
    <refname>udev.conf.d</refname>
    <refpurpose>Configuration for device event managing daemon</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para>
      <simplelist>
        <member><filename>/etc/udev/udev.conf</filename></member>
        <member><filename>/run/udev/udev.conf</filename></member>
        <member><filename>/usr/local/lib/udev/udev.conf</filename></member>
        <member><filename>/usr/lib/udev/udev.conf</filename></member>
        <member><filename>/etc/udev/udev.conf.d/*.conf</filename></member>
        <member><filename>/run/udev/udev.conf.d/*.conf</filename></member>
        <member><filename>/usr/local/lib/udev/udev.conf.d/*.conf</filename></member>
        <member><filename>/usr/lib/udev/udev.conf.d/*.conf</filename></member>
      </simplelist>
    </para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para>These files contain configuration options for
      <citerefentry><refentrytitle>systemd-udevd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
      The syntax of these files is very simple: a list
      of assignments, one per line.
      All empty lines or lines beginning with <literal>#</literal> are
      ignored.
    </para>
    <para>
      The following options can be set:
    </para>

    <variablelist class='config-directives'>
      <varlistentry>
        <term><varname>udev_log=</varname></term>

        <listitem>
          <para>The log level. Valid values are the numerical
          syslog priorities or their textual representations:
          <option>err</option>, <option>info</option> and
          <option>debug</option>.</para>

          <note>
            <para>This option is also honored by
                <citerefentry><refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
            </para>
          </note>

          <xi:include href="version-info.xml" xpointer="v216"/>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><varname>children_max=</varname></term>

        <listitem>
          <para>An integer. The maximum number of events executed in parallel. When unspecified or 0 is
          specified, the maximum is determined based on the system resources.</para>

          <para>This is the same as the <option>--children-max=</option> option.</para>

          <xi:include href="version-info.xml" xpointer="v240"/>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><varname>exec_delay=</varname></term>

        <listitem>
          <para>An integer. Delay the execution of each <varname>RUN{<replaceable>program</replaceable>}</varname>
          parameter 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>

          <para>This is the same as the <option>--exec-delay=</option> option.</para>

          <xi:include href="version-info.xml" xpointer="v240"/>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><varname>event_timeout=</varname></term>

        <listitem>
          <para>An integer. The number of seconds to wait for events to finish. After
          this time, the event will be terminated. The default is 180 seconds.</para>

          <para>This is the same as the <option>--event-timeout=</option> option.</para>

          <xi:include href="version-info.xml" xpointer="v240"/>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><varname>resolve_names=</varname></term>

        <listitem>
          <para>Specifies 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>

          <para>This is the same as the <option>--resolve-names=</option> option.</para>

          <xi:include href="version-info.xml" xpointer="v240"/>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><varname>timeout_signal=</varname></term>

        <listitem>
          <para>Specifies a signal that <filename>systemd-udevd</filename> will send on worker
          timeouts. Note that both workers and spawned processes will be killed using this
          signal. Defaults to <option>SIGKILL</option>.</para>

        <xi:include href="version-info.xml" xpointer="v246"/>
        </listitem>
      </varlistentry>
    </variablelist>

    <para>
      In addition, <filename>systemd-udevd</filename> can be configured
      by command line options and the kernel command line (see
      <citerefentry><refentrytitle>systemd-udevd</refentrytitle><manvolnum>8</manvolnum></citerefentry>).
    </para>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para><simplelist type="inline">
      <member><citerefentry><refentrytitle>systemd-udevd</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
      <member><citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry></member>
      <member><citerefentry><refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
    </simplelist></para>
  </refsect1>
</refentry>
