<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/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>
    <refpurpose>Configuration for device event managing daemon</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para><filename>/etc/udev/udev.conf</filename></para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para>
      <citerefentry><refentrytitle>systemd-udevd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
      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 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>
        </listitem>
      </varlistentry>

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

        <listitem>
          <para>An integer. The maximum number of events executed in parallel.</para>

          <para>This is the same as the <option>--children-max=</option> option.</para>
        </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>
        </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>
        </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>
        </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>
        </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>
      <citerefentry><refentrytitle>systemd-udevd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum></citerefentry>
    </para>
  </refsect1>
</refentry>
