Index: chapter06/systemd.xml
===================================================================
--- chapter06/systemd.xml	(revision 92905ed578ef3d0cfd5615e094aef138414fc231)
+++ chapter06/systemd.xml	(revision cba2d4e6aa081fdf62e527d28eba137eb885f0cc)
@@ -6,17 +6,17 @@
 ]>
 
-<sect1 id="ch-system-udev" role="wrap">
-  <?dbhtml filename="udev.html"?>
+<sect1 id="ch-system-systemd" role="wrap">
+  <?dbhtml filename="systemd.html"?>
 
   <sect1info condition="script">
-    <productname>udev</productname>
+    <productname>systemd</productname>
     <productnumber>&systemd-version;</productnumber>
     <address>&systemd-url;</address>
   </sect1info>
 
-  <title>Udev-&systemd-version; (Extracted from systemd-&systemd-version;)</title>
-
-  <indexterm zone="ch-system-udev">
-    <primary sortas="a-Udev">Udev</primary>
+  <title>Systemd-&systemd-version;</title>
+
+  <indexterm zone="ch-system-systemd">
+    <primary sortas="a-Systemd">Systemd</primary>
   </indexterm>
 
@@ -24,8 +24,6 @@
     <title/>
 
-    <para>The Udev package contains programs for dynamic creation of device
-    nodes.  The development of udev has been merged with systemd, but
-    most of systemd is incompatible with LFS.  Here we build and install just
-    the needed udev files.</para>
+    <para>The Systemd package contains programs for controlling the startup,
+    running, and shutdown of the system.</para>
 
     <segmentedlist>
@@ -41,61 +39,153 @@
 
   <sect2 role="installation">
-    <title>Installation of Udev</title>
-
-    <note><para>This package is a little different from other packages.  The
-    initial package that is extracted is
-    <filename>systemd-&systemd-version;.tar.xz</filename> even though the
-    application we are installing is udev. After changing to the
-    systemd directory, follow the instructions below.</para></note>
-
-    <para>The udev-lfs tarball contains LFS-specific files used to build
-    Udev. Unpack it into the systemd source directory:</para>
-
-<screen><userinput remap="pre">tar -xvf ../&udev-lfs;.tar.bz2</userinput></screen>
-
-    <para>Create two symbolic links to header files and set an
-    environment variable to properly use <xref linkend="ch-tools-util-linux"/>.</para>
-
-<screen><userinput remap="pre">ln -svf /tools/include/blkid /usr/include
-ln -svf /tools/include/uuid  /usr/include
-export LD_LIBRARY_PATH=/tools/lib</userinput></screen>
-
-    <para>Build the package:</para>
-
-<screen><userinput remap="make">make -f &udev-lfs;/Makefile.lfs</userinput></screen>
+    <title>Installation of Systemd</title>
+
+    <para>First, create a file to allow Systemd to build when using Util-Linux
+    built in Chapter 5:</para>
+
+<screen><userinput remap="pre">cat &gt; config.cache &lt;&lt; "EOF"
+<literal>KILL=/bin/kill
+HAVE_BLKID=1
+BLKID_LIBS="-lblkid"
+BLKID_CFLAGS="-I/tools/include/blkid"</literal>
+EOF</userinput></screen>
+
+    <para>Aditionally, fix a build error when using Util-Linux built in
+    Chapter 5:</para>
+
+<screen><userinput remap="pre">sed -i "s:blkid/::" $(grep -rl "blkid/blkid.h")</userinput></screen>
+
+    <para>Apply a patch so that compat <command>pkg-config</command> files get
+    installed without installing compat libs which are useless on LFS:</para>
+
+<screen><userinput remap="pre">patch -Np1 -i ../&systemd-compat-patch;</userinput></screen>
+
+    <para>Prepare Systemd for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=/usr                                           \
+            --sysconfdir=/etc                                       \
+            --localstatedir=/var                                    \
+            --config-cache                                          \
+            --with-rootprefix=                                      \
+            --with-rootlibdir=/lib                                  \
+            --enable-split-usr                                      \
+            --disable-gudev                                         \
+            --without-python                                        \
+            --docdir=/usr/share/doc/systemd-&systemd-version;                     \
+            --with-dbuspolicydir=/etc/dbus-1/system.d               \
+            --with-dbusinterfacedir=/usr/share/dbus-1/interfaces    \
+            --with-dbussessionservicedir=/usr/share/dbus-1/services \
+            --with-dbussystemservicedir=/usr/share/dbus-1/system-services</userinput></screen>
+
+    <variablelist>
+      <title>The meaning of the configure options:</title>
+
+      <varlistentry>
+        <term><parameter>--config-cache</parameter></term>
+        <listitem>
+          <para>This switch tells the build system to use
+          the <filename>config.cache</filename> file which
+          was created earlier.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--with-root*</parameter></term>
+        <listitem>
+          <para>These switches ensure that core programs and
+          shared libraries are installed in the subdirectories
+          of the root partition.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--enable-split-usr</parameter></term>
+        <listitem>
+          <para>This switch ensures that Systemd will work on
+          systems where /bin, /lib and /sbin directories are not
+          symlinks to their /usr counterparts.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--disable-gudev --without-python</parameter></term>
+        <listitem>
+          <para>These switches disable optional features because
+          LFS does not provide their dependencies.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--with-dbus*</parameter></term>
+        <listitem>
+          <para>These switches ensure that D-Bus configuratil files
+          get installed in the correct locations.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+    <para>Compile the package:</para>
+
+<screen><userinput remap="make">make LIBRARY_PATH=/tools/lib</userinput></screen>
+
+    <para>First prevent few broken test cases from running:</para>
+
+<screen><userinput remap="test">sed -e "s:test/udev-test.pl::g"            \
+    -e "s:test-bus-cleanup\$(EXEEXT) ::g"  \
+    -e "s:test-bus-gvariant\$(EXEEXT) ::g" \
+    -i Makefile</userinput></screen>
+
+    <para>To test the results, issue:</para>
+
+<screen><userinput remap="test">make -k check</userinput></screen>
+
+    <para>Note that some tests might fail because the test are being run in a
+    chroot environment. For full test coverage, the test suite should be run
+    from a system booted using Systemd.</para>
 
     <para>Install the package:</para>
 
-<screen><userinput remap="install">make -f &udev-lfs;/Makefile.lfs install</userinput></screen>
-
-    <caution><para>There are several places within the
-    <application>systemd</application> source code that have explicit directory
-    paths embedded.  For instance, the binary version of the hardware
-    database's path and file name used at run time,
-    <filename>/etc/udev/hwdb.bin</filename>, cannot be changed without explicit
-    changes to the source code.</para></caution>
-
-    <para>Now initialize the hardware database:</para>
-
-<screen><userinput remap="install">build/udevadm hwdb --update</userinput></screen>
-
-    <para>Finally set up the persistent network udev rules.  This task will be
-    explained in detail in <xref linkend='stable-net-names'/>.  Note that the
-    <filename class='directory'>/sys</filename> and <filename
-    class='directory'>/proc</filename> filesystems must be mounted in the
-    chroot environment as explained at the beginning of this chapter for the
-    following script to work.</para>
-
-<screen><userinput remap="install">bash &udev-lfs;/init-net-rules.sh</userinput></screen>
-
-    <para>Do some cleanup:</para>
-
-<screen><userinput remap="install">rm -fv /usr/include/{uuid,blkid}
-unset LD_LIBRARY_PATH</userinput></screen>
+<screen><userinput remap="install">make LD_LIBRARY_PATH=/tools/lib install</userinput></screen>
+
+    <para>Move NSS myhostname library to <filename
+    class="directory">/lib</filename>:</para>
+
+<screen><userinput remap="install">mv -v /usr/lib/libnss_myhostname.so.2 /lib</userinput></screen>
+
+    <para>Remove an unnecessary directory:</para>
+
+<screen><userinput remap="install">rm -rfv /usr/lib/rpm</userinput></screen>
+
+    <para>Create the Sysvinit compatibility symlinks, and move some man pages
+    and a library that conflict with <xref linkend="ch-system-sysvinit"/> so
+    both systems can be installed side-by-side:</para>
+
+<screen><userinput remap="install">for tool in runlevel reboot shutdown poweroff halt telinit; do
+  ln -sfv ../bin/systemctl /sbin/${tool}-systemd
+  mv -v /usr/share/man/man8/${tool}.8 /usr/share/man/man8/${tool}-systemd.8
+done
+
+ln -sfv ../lib/systemd/systemd /sbin/init-systemd
+mv -v /etc/init.d /etc/init.d-systemd</userinput></screen>
+
+    <para>Remove a reference to a non-existent group:</para>
+
+<screen><userinput remap="install">sed -i "s:0775 root lock:0755 root root:g" /usr/lib/tmpfiles.d/legacy.conf</userinput></screen>
+
+    <para>Create the <filename>/etc/machine-id</filename> file needed by
+    Journald:</para>
+
+<screen><userinput remap="install">systemd-machine-id-setup</userinput></screen>
+
+    <para>Finally install some LFS specific udev rules:</para>
+
+<screen><userinput remap="install">tar -xf ../&udev-lfs-version;.tar.bz2
+make -f &udev-lfs-version;/Makefile.lfs install</userinput></screen>
 
   </sect2>
 
-  <sect2 id="contents-udev" role="content">
-    <title>Contents of Udev</title>
+  <sect2 id="contents-systemd" role="content">
+    <title>Contents of Systemd</title>
 
     <segmentedlist>
@@ -105,10 +195,20 @@
 
       <seglistitem>
-        <seg>accelerometer, ata_id, cdrom_id, collect, mtd_probe,
-         scsi_id, v4l_id, udevadm, and udevd</seg>
-
-        <seg>libudev.so</seg>
-
-        <seg>/etc/udev, /lib/udev, /lib/firmware, /usr/share/doc/udev</seg>
+        <seg>bootctl, busctl, halt, hostnamectl, init, journalctl, kernel-install,
+        localectl, loginctl, machinectl, poweroff, reboot, runlevel, shutdown,
+        systemctl, systemd-analyze, systemd-ask-password, systemd-cat, systemd-cgls,
+        systemd-cgtop, systemd-coredumpctl, systemd-delta, systemd-detect-virt,
+        systemd-inhibit, systemd-machine-id-setup, systemd-notify, systemd-nspawn,
+        systemd-run, systemd-stdio-bridge, systemd-tmpfiles, systemd-tty-ask-password-agent,
+        telinit, timedatectl, and udevadm</seg>
+
+        <seg>libnss_myhostname.so.2, libsystemd.so, libudev.so</seg>
+        <seg>/etc/binfmt.d, /etc/init.d, /etc/kernel, /etc/modules-load.d,
+        /etc/sysctl.d, /etc/systemd, /etc/tmpfiles.d, /etc/udev,
+        /etc/xdg/systemd, /lib/systemd, /lib/udev, /usr/include/systemd,
+        /usr/lib/binfmt.d, /usr/lib/kernel, /usr/lib/modules-load.d,
+        /usr/lib/sysctl.d, /usr/lib/systemd, /usr/lib/tmpfiles.d,
+        /usr/share/doc/systemd-&systemd-version;, /usr/share/systemd,
+        /var/lib/systemd, /var/log/journal</seg>
       </seglistitem>
     </segmentedlist>
@@ -119,46 +219,361 @@
       <?dbhtml list-presentation="table"?>
 
-      <varlistentry id="ata_id">
-        <term><command>ata_id</command></term>
-        <listitem>
-          <para>Provides Udev with a unique string and
-          additional information (uuid, label) for an ATA drive</para>
-          <indexterm zone="ch-system-udev ata_id">
-            <primary sortas="b-ata_id">ata_id</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="cdrom_id">
-        <term><command>cdrom_id</command></term>
-        <listitem>
-          <para>Provides Udev with the capabilities of a
-          CD-ROM or DVD-ROM drive</para>
-          <indexterm zone="ch-system-udev cdrom_id">
-            <primary sortas="b-cdrom_id">cdrom_id</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="collect">
-        <term><command>collect</command></term>
-        <listitem>
-          <para>Given an ID for the current uevent and a list of
-          IDs (for all target uevents), registers the current ID
-          and indicates whether all target IDs have been registered</para>
-          <indexterm zone="ch-system-udev collect">
-            <primary sortas="b-collect">collect</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="scsi_id">
-        <term><command>scsi_id</command></term>
-        <listitem>
-          <para>Provides Udev with a unique SCSI identifier
-          based on the data returned from sending a SCSI INQUIRY command to
-          the specified device</para>
-          <indexterm zone="ch-system-udev scsi_id">
-            <primary sortas="b-scsi_id">scsi_id</primary>
+      <varlistentry id="bootctl">
+        <term><command>bootctl</command></term>
+        <listitem>
+          <para>used to query the firmware and boot manager settings.</para>
+          <indexterm zone="ch-system-systemd bootctl">
+            <primary sortas="b-bootctl">bootctl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="busctl">
+        <term><command>busctl</command></term>
+        <listitem>
+          <para>used to introspect and monitor the D-Bus bus.</para>
+          <indexterm zone="ch-system-systemd busctl">
+            <primary sortas="b-busctl">busctl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="halt">
+        <term><command>halt</command></term>
+        <listitem>
+          <para>Normally invokes <command>shutdown</command> with the
+          <parameter>-h</parameter> option, except when already in run-level 0,
+          then it tells the kernel to halt the system; it notes in the
+          file <filename>/var/log/wtmp</filename> that the system is being
+          brought down.</para>
+          <indexterm zone="ch-system-systemd halt">
+            <primary sortas="b-halt">halt</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="hostnamectl">
+        <term><command>hostnamectl</command></term>
+        <listitem>
+          <para>used to query and change the system hostname and related
+          settings.</para>
+          <indexterm zone="ch-system-systemd hostnamectl">
+            <primary sortas="b-hostnamectl">hostnamectl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="init">
+        <term><command>init</command></term>
+        <listitem>
+          <para>The first process to be started when the kernel has initialized
+          the hardware which takes over the boot process and starts all the
+          proceses it is instructed to.</para>
+          <indexterm zone="ch-system-systemd init">
+            <primary sortas="b-init">init</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="journalctl">
+        <term><command>journalctl</command></term>
+        <listitem>
+          <para>used to query the contents of the Systemd Journal.</para>
+          <indexterm zone="ch-system-systemd journalctl">
+            <primary sortas="b-journalctl">journalctl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="kernel-install">
+        <term><command>kernel-install</command></term>
+        <listitem>
+          <para>used to add and remove kernel and initramfs images to and
+          from /boot.</para>
+          <indexterm zone="ch-system-systemd kernel-install">
+            <primary sortas="b-kernel-install">kernel-install</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="localectl">
+        <term><command>localectl</command></term>
+        <listitem>
+          <para>used to query and change the system locale and keyboard layout
+          settings.</para>
+          <indexterm zone="ch-system-systemd localectl">
+            <primary sortas="b-localectl">localectl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="loginctl">
+        <term><command>loginctl</command></term>
+        <listitem>
+          <para>used to introspect and control the state of the Systemd Login
+          Manager.</para>
+          <indexterm zone="ch-system-systemd loginctl">
+            <primary sortas="b-loginctl">loginctl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="machinectl">
+        <term><command>machinectl</command></term>
+        <listitem>
+          <para>used to introspect and control the state of the Systemd Virtual
+          Machine and Container Registration Manager</para>
+          <indexterm zone="ch-system-systemd machinectl">
+            <primary sortas="b-machinectl">machinectl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="poweroff">
+        <term><command>poweroff</command></term>
+        <listitem>
+          <para>Tells the kernel to halt the system and switch off the computer
+          (see <command>halt</command>).</para>
+          <indexterm zone="ch-system-systemd poweroff">
+            <primary sortas="b-poweroff">poweroff</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="reboot">
+        <term><command>reboot</command></term>
+        <listitem>
+          <para>Tells the kernel to reboot the system (see
+          <command>halt</command>).</para>
+          <indexterm zone="ch-system-systemd reboot">
+            <primary sortas="b-reboot">reboot</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="runlevel">
+        <term><command>runlevel</command></term>
+        <listitem>
+          <para>Reports the previous and the current run-level, as noted in the
+          last run-level record in <filename>/var/run/utmp</filename>.</para>
+          <indexterm zone="ch-system-systemd runlevel">
+            <primary sortas="b-runlevel">runlevel</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="shutdown">
+        <term><command>shutdown</command></term>
+        <listitem>
+          <para>Brings the system down in a secure way, signaling all processes
+          and notifying all logged-in users.</para>
+          <indexterm zone="ch-system-systemd shutdown">
+            <primary sortas="b-shutdown">shutdown</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemctl">
+        <term><command>systemctl</command></term>
+        <listitem>
+          <para>used to introspect and control the state of the Systemd system and
+          service manager.</para>
+          <indexterm zone="ch-system-systemd systemctl">
+            <primary sortas="b-systemctl">systemctl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-analyze">
+        <term><command>systemd-analyze</command></term>
+        <listitem>
+          <para>used to determine system boot-up performance of the current boot.
+          </para>
+          <indexterm zone="ch-system-systemd systemd-analyze">
+            <primary sortas="b-systemd-analyze">systemd-analyze</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-ask-password">
+        <term><command>systemd-ask-password</command></term>
+        <listitem>
+          <para>used to query a system password or passphrase from the user, using a
+          question message specified on the command line.</para>
+          <indexterm zone="ch-system-systemd systemd-ask-password">
+            <primary sortas="b-systemd-ask-password">systemd-ask-password</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-cat">
+        <term><command>systemd-cat</command></term>
+        <listitem>
+          <para>used to connect STDOUT and STDERR of a process with the Journal.
+          </para>
+          <indexterm zone="ch-system-systemd systemd-cat">
+            <primary sortas="b-systemd-cat">systemd-cat</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-cgls">
+        <term><command>systemd-cgls</command></term>
+        <listitem>
+          <para>recursively shows the contents of the selected Linux control group
+          hierarchy in a tree.</para>
+          <indexterm zone="ch-system-systemd systemd-cgls">
+            <primary sortas="b-systemd-cgls">systemd-cgls</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-cgtop">
+        <term><command>systemd-cgtop</command></term>
+        <listitem>
+          <para>shows the top control groups of the local Linux control group hierarchy,
+          ordered by their CPU, memory and disk I/O load.</para>
+          <indexterm zone="ch-system-systemd systemd-cgtop">
+            <primary sortas="b-systemd-cgtop">systemd-cgtop</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-coredumpctl">
+        <term><command>systemd-coredumpctl</command></term>
+        <listitem>
+          <para>used to retrieve coredumps from the Systemd Journal</para>
+          <indexterm zone="ch-system-systemd systemd-coredumpctl">
+            <primary sortas="b-systemd-coredumpctl">systemd-coredumpctl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-delta">
+        <term><command>systemd-delta</command></term>
+        <listitem>
+          <para>used to identify and compare configuration files in
+          <filename class="directory">/etc</filename> that override default
+          counterparts in <filename class="directory">/usr</filename>.</para>
+          <indexterm zone="ch-system-systemd systemd-delta">
+            <primary sortas="b-systemd-delta">systemd-delta</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-detect-virt">
+        <term><command>systemd-detect-virt</command></term>
+        <listitem>
+          <para>detects execution in a virtualized environment.</para>
+          <indexterm zone="ch-system-systemd systemd-detect-virt">
+            <primary sortas="b-systemd-detect-virt">systemd-detect-virt</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-inhibit">
+        <term><command>systemd-inhibit</command></term>
+        <listitem>
+          <para>used to execute a program with a shutdown, sleep or idle inhibitor lock
+          taken.</para>
+          <indexterm zone="ch-system-systemd systemd-inhibit">
+            <primary sortas="b-systemd-inhibit">systemd-inhibit</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-machine-id-setup">
+        <term><command>systemd-machine-id-setup</command></term>
+        <listitem>
+          <para>used by system installer tools to initialize the machine ID stored in
+          <filename>/etc/machine-id</filename> at install time with a randomly
+          generated ID.</para>
+          <indexterm zone="ch-system-systemd systemd-machine-id-setup">
+            <primary sortas="b-systemd-machine-id-setup">systemd-machine-id-setup</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-notify">
+        <term><command>systemd-notify</command></term>
+        <listitem>
+          <para>used by daemon scripts to notify the init system about status changes.
+          </para>
+          <indexterm zone="ch-system-systemd systemd-notify">
+            <primary sortas="b-systemd-notify">systemd-notify</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-nspawn">
+        <term><command>systemd-nspawn</command></term>
+        <listitem>
+          <para>used to run a command or OS in a light-weight namespace container.</para>
+          <indexterm zone="ch-system-systemd systemd-nspawn">
+            <primary sortas="b-systemd-nspawn">systemd-nspawn</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-run">
+        <term><command>systemd-run</command></term>
+        <listitem>
+          <para>used to create and start a transient .service or a .scope unit and
+          run the specified command in it.</para>
+          <indexterm zone="ch-system-systemd systemd-run">
+            <primary sortas="b-systemd-run">systemd-run</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+<!--      <varlistentry id="systemd-stdio-bridge">
+        <term><command>systemd-stdio-bridge</command></term>
+        <listitem>
+          <para>To be completed</para>
+          <indexterm zone="ch-system-systemd systemd-stdio-bridge">
+            <primary sortas="b-systemd-stdio-bridge">systemd-stdio-bridge</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry> -->
+
+      <varlistentry id="systemd-tmpfiles">
+        <term><command>systemd-tmpfiles</command></term>
+        <listitem>
+          <para>creates, deletes and cleans up volatile and temporary files and directories,
+          based on the configuration file format and location specified in
+          <filename class="directory">tmpfiles.d</filename> directories.</para>
+          <indexterm zone="ch-system-systemd systemd-tmpfiles">
+            <primary sortas="b-systemd-tmpfiles">systemd-tmpfiles</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="systemd-tty-ask-password-agent">
+        <term><command>systemd-tty-ask-password-agent</command></term>
+        <listitem>
+          <para>used to list or process pending Systemd password requests</para>
+          <indexterm zone="ch-system-systemd systemd-tty-ask-password-agent">
+            <primary sortas="b-systemd-tty-ask-password-agent">systemd-tty-ask-password-agent</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="telinit">
+        <term><command>telinit</command></term>
+        <listitem>
+          <para>Tells <command>init</command> which run-level to change to.</para>
+          <indexterm zone="ch-system-systemd telinit">
+            <primary sortas="b-telinit">telinit</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="timedatectl">
+        <term><command>timedatectl</command></term>
+        <listitem>
+          <para>used to query and change the system clock and its settings.
+          </para>
+          <indexterm zone="ch-system-systemd timedatectl">
+            <primary sortas="b-timedatectl">timedatectl</primary>
           </indexterm>
         </listitem>
@@ -168,9 +583,9 @@
         <term><command>udevadm</command></term>
         <listitem>
-          <para>Generic udev administration tool: controls the udevd daemon,
+          <para>Generic Udev administration tool: controls the udevd daemon,
           provides info from the Udev database, monitors uevents, waits for
           uevents to finish, tests Udev configuration, and triggers uevents
-          for a given device</para>
-          <indexterm zone="ch-system-udev udevadm">
+          for a given device.</para>
+          <indexterm zone="ch-system-systemd udevadm">
             <primary sortas="b-udevadm">udevadm</primary>
           </indexterm>
@@ -178,12 +593,10 @@
       </varlistentry>
 
-      <varlistentry id="udevd">
-        <term><command>udevd</command></term>
-        <listitem>
-          <para>A daemon that listens for uevents on the netlink socket,
-          creates devices and runs the configured external programs in
-          response to these uevents</para>
-          <indexterm zone="ch-system-udev udevd">
-            <primary sortas="b-udevd">udevd</primary>
+      <varlistentry id="libsystemd">
+        <term><filename class="libraryfile">libsystemd</filename></term>
+        <listitem>
+          <para>Systemd utility library.</para>
+          <indexterm zone="ch-system-systemd libsystemd">
+            <primary sortas="c-libsystemd">libsystemd</primary>
           </indexterm>
         </listitem>
@@ -193,6 +606,6 @@
         <term><filename class="libraryfile">libudev</filename></term>
         <listitem>
-          <para>A library interface to udev device information</para>
-          <indexterm zone="ch-system-udev libudev">
+          <para>A library to access Udev device information.</para>
+          <indexterm zone="ch-system-systemd libudev">
             <primary sortas="c-libudev">libudev</primary>
           </indexterm>
@@ -200,15 +613,4 @@
       </varlistentry>
 
-      <varlistentry id="etc-udev">
-        <term><filename class="directory">/etc/udev</filename></term>
-        <listitem>
-          <para>Contains Udev configuration files,
-          device permissions, and rules for device naming</para>
-          <indexterm zone="ch-system-udev etc-udev">
-            <primary sortas="e-/etc/udev">/etc/udev</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
     </variablelist>
 
