]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - man/bootup.xml
Remove a few references to dracut
[thirdparty/systemd.git] / man / bootup.xml
index 26f762bf816e220c3042fc37c6f22208853e628f..f8c518a9366713388e71e143bd23dc0b83b16223 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0'?> <!--*-nxml-*-->
 <!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+ -->
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
 
 <refentry id="bootup">
 
     boot loader will then invoke an OS kernel from disk (or the network). On systems using EFI or other types
     of firmware, this firmware may also load the kernel directly.</para>
 
-    <para>The kernel (optionally) mounts an in-memory file system, often generated by
-    <citerefentry project='man-pages'><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-    which looks for the root file system. Nowadays this is usually implemented as an initramfs — a compressed
-    archive which is extracted when the kernel boots up into a lightweight in-memory file system based on
-    tmpfs, but in the past normal file systems using an in-memory block device (ramdisk) were used, and the
+    <para>The kernel (optionally) mounts an in-memory file system, which looks for the root file system.
+    Nowadays this is implemented as an "initramfs" — a compressed CPIO archive that the kernel extracts into
+    a tmpfs. In the past normal file systems using an in-memory block device (ramdisk) were used, and the
     name "initrd" is still used to describe both concepts. It's the boot loader or the firmware that loads
     both the kernel and initrd/initramfs images into memory, but the kernel which interprets it as a file
-    system. <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> may
-    be used to manage services in the initrd, similarly to the real system.</para>
+    system.
+    <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> may be used
+    to manage services in the initrd, similarly to the real system.</para>
 
     <para>After the root file system is found and mounted, the initrd hands over control to the host's system
     manager (such as
 
     <!-- note: do not use unicode ellipsis here, because docbook will replace that
          with three dots anyway, messing up alignment -->
-<programlisting>                                     cryptsetup-pre.target
+<programlisting>                             cryptsetup-pre.target veritysetup-pre.target
                                                   |
 (various low-level                                v
- API VFS mounts:                 (various cryptsetup devices...)
+ API VFS mounts:             (various cryptsetup/veritysetup devices...)
  mqueue, configfs,                                |    |
  debugfs, ...)                                    v    |
  |                                  cryptsetup.target  |
  |    v                       local-fs-pre.target |    |     |  (network file systems)
  |  swap.target                       |           |    v     v                 |
  |    |                               v           |  remote-cryptsetup.target  |
- |    |  (various low-level  (various mounts and  |             |              |
- |    |   services: udevd,    fsck services...)   |             |    remote-fs.target
- |    |   tmpfiles, random            |           |             |             /
- |    |   seed, sysctl, ...)          v           |             |            /
- |    |      |                 local-fs.target    |             |           /
- |    |      |                        |           |             |          /
- \____|______|_______________   ______|___________/             |         /
-                             \ /                                |        /
-                              v                                 |       /
-                       sysinit.target                           |      /
-                              |                                 |     /
-       ______________________/|\_____________________           |    /
-      /              |        |      |               \          |   /
-      |              |        |      |               |          |  /
-      v              v        |      v               |          | /
- (various       (various      |  (various            |          |/
+ |    |  (various low-level  (various mounts and  |  remote-veritysetup.target |
+ |    |   services: udevd,    fsck services...)   |             |              |
+ |    |   tmpfiles, random            |           |             |    remote-fs.target
+ |    |   seed, sysctl, ...)          v           |             |              |
+ |    |      |                 local-fs.target    |             | _____________/
+ |    |      |                        |           |             |/
+ \____|______|_______________   ______|___________/             |
+                             \ /                                |
+                              v                                 |
+                       sysinit.target                           |
+                              |                                 |
+       ______________________/|\_____________________           |
+      /              |        |      |               \          |
+      |              |        |      |               |          |
+      v              v        |      v               |          |
+ (various       (various      |  (various            |          |
   timers...)      paths...)   |   sockets...)        |          |
       |              |        |      |               |          |
       v              v        |      v               |          |
@@ -174,50 +173,44 @@ emergency.service    |              |              |
     available to the user.</para>
 
 <programlisting>
-    (various           (various         (various
-     timers...)         paths...)        sockets...)    (sound devices)
-         |                  |                 |               |
-         v                  v                 v               v
-   timers.target      paths.target     sockets.target    sound.target
-         |                  |                 |
-         \______________   _|_________________/         (bluetooth devices)
-                        \ /                                   |
-                         V                                    v
-                   basic.target                          bluetooth.target
-                         |
-              __________/ \_______                      (smartcard devices)
-             /                    \                           |
-             |                    |                           v
-             |                    v                      smartcard.target
-             v            graphical-session-pre.target
- (various user services)          |                       (printers)
-             |                    v                           |
-             |       (services for the graphical session)     v
-             |                    |                       printer.target
-             v                    v
-      <emphasis>default.target</emphasis>      graphical-session.target</programlisting>
-
 </refsect1>
+   (various           (various         (various
+    timers...)         paths...)        sockets...)    (sound devices)
+        |                  |                 |               |
+        v                  v                 v               v
+  timers.target      paths.target     sockets.target    sound.target
+        |                  |                 |
+        \______________   _|_________________/         (bluetooth devices)
+                       \ /                                   |
+                        V                                    v
+                  basic.target                          bluetooth.target
+                        |
+             __________/ \_______                      (smartcard devices)
+            /                    \                           |
+            |                    |                           v
+            |                    v                      smartcard.target
+            v            graphical-session-pre.target
+(various user services)          |                       (printers)
+            |                    v                           |
+            |       (services for the graphical session)     v
+            |                    |                       printer.target
+            v                    v
+     <emphasis>default.target</emphasis>      graphical-session.target</programlisting>
+
+ </refsect1>
 
   <refsect1>
-    <title>Bootup in the Initial RAM Disk (initrd)</title>
-    <para>The initial RAM disk implementation (initrd) can be set up
-    using systemd as well. In this case, boot up inside the initrd
-    follows the following structure.</para>
-
-    <para>systemd detects that it is run within an initrd by checking
-    for the file <filename>/etc/initrd-release</filename>.
-    The default target in the initrd is
-    <filename>initrd.target</filename>. The bootup process begins
-    identical to the system manager bootup (see above) until it
-    reaches <filename>basic.target</filename>. From there, systemd
-    approaches the special target <filename>initrd.target</filename>.
-
-    Before any file systems are mounted, it must be determined whether
-    the system will resume from hibernation or proceed with normal boot.
-    This is accomplished by <filename>systemd-hibernate-resume@.service</filename>
-    which must be finished before <filename>local-fs-pre.target</filename>,
-    so no filesystems can be mounted before the check is complete.
+    <title>Bootup in the initrd</title>
+
+    <para>Systemd can be used in the initrd as well. It detects the initrd environment by checking for the
+    <filename>/etc/initrd-release</filename> file. The default target in the initrd is
+    <filename>initrd.target</filename>. The bootup process is identical to the system manager bootup until
+    the target <filename>basic.target</filename>. After that, systemd executes the special target
+    <filename>initrd.target</filename>.
+
+    Before any file systems are mounted, the manager will determine whether the system shall resume from
+    hibernation or proceed with normal boot. This is accomplished by
+    <filename>systemd-hibernate-resume.service</filename> which must be finished before
+    <filename>local-fs-pre.target</filename>, so no filesystems can be mounted before the check is complete.
 
     When the root device becomes available,
     <filename>initrd-root-device.target</filename> is reached.
@@ -227,7 +220,7 @@ emergency.service    |              |              |
     <filename>initrd-root-fs.target</filename> is reached. The service
     <filename>initrd-parse-etc.service</filename> scans
     <filename>/sysroot/etc/fstab</filename> for a possible
-    <filename>/usr</filename> mount point and additional entries
+    <filename>/usr/</filename> mount point and additional entries
     marked with the <emphasis>x-initrd.mount</emphasis> option. All
     entries found are mounted below <filename>/sysroot</filename>, and
     <filename>initrd-fs.target</filename> is reached. The service
@@ -239,59 +232,59 @@ emergency.service    |              |              |
     <filename>/sysroot</filename>.
     </para>
 
-<programlisting>                                               : (beginning identical to above)
-                                               :
-                                               v
-                                         basic.target
-                                               |                                 emergency.service
-                        ______________________/|                                         |
-                       /                       |                                         v
-                       |            initrd-root-device.target                    <emphasis>emergency.target</emphasis>
-                       |                       |
-                       |                       v
-                       |                  sysroot.mount
-                       |                       |
-                       |                       v
-                       |             initrd-root-fs.target
-                       |                       |
-                       |                       v
-                       v            initrd-parse-etc.service
-                (custom initrd                 |
                services...)                  v
-                       |            (sysroot-usr.mount and
-                       |             various mounts marked
-                       |               with fstab option
-                       |              x-initrd.mount...)
-                       |                       |
-                       |                       v
-                       |                initrd-fs.target
-                       \______________________ |
-                                              \|
-                                               v
-                                          initrd.target
-                                               |
-                                               v
-                                     initrd-cleanup.service
-                                          isolates to
-                                    initrd-switch-root.target
-                                               |
-                                               v
-                        ______________________/|
-                       /                       v
-                       |        initrd-udevadm-cleanup-db.service
-                       v                       |
-                (custom initrd                 |
                services...)                  |
-                       \______________________ |
-                                              \|
-                                               v
-                                   initrd-switch-root.target
-                                               |
-                                               v
-                                   initrd-switch-root.service
-                                               |
-                                               v
-                                     Transition to Host OS</programlisting>
+<programlisting>                               : (beginning identical to above)
+                               :
+                               v
+                         basic.target
+                               |                       emergency.service
+        ______________________/|                               |
+       /                       |                               v
+       |            initrd-root-device.target          <emphasis>emergency.target</emphasis>
+       |                       |
+       |                       v
+       |                  sysroot.mount
+       |                       |
+       |                       v
+       |             initrd-root-fs.target
+       |                       |
+       |                       v
+       v            initrd-parse-etc.service
+(custom initrd                 |
+ services...)                  v
+       |            (sysroot-usr.mount and
+       |             various mounts marked
+       |               with fstab option
+       |              x-initrd.mount...)
+       |                       |
+       |                       v
+       |                initrd-fs.target
+       \______________________ |
+                              \|
+                               v
+                          initrd.target
+                               |
+                               v
+                     initrd-cleanup.service
+                          isolates to
+                    initrd-switch-root.target
+                               |
+                               v
+        ______________________/|
+       /                       v
+       |        initrd-udevadm-cleanup-db.service
+       v                       |
+(custom initrd                 |
+ services...)                  |
+       \______________________ |
+                              \|
+                               v
+                   initrd-switch-root.target
+                               |
+                               v
+                   initrd-switch-root.service
+                               |
+                               v
+                     Transition to Host OS</programlisting>
   </refsect1>
 
   <refsect1>
@@ -300,32 +293,40 @@ emergency.service    |              |              |
     <para>System shutdown with systemd also consists of various target
     units with some minimal ordering structure applied:</para>
 
-<programlisting>                                  (conflicts with  (conflicts with
-                                    all system     all file system
-                                     services)     mounts, swaps,
-                                         |           cryptsetup
-                                         |          devices, ...)
-                                         |                |
-                                         v                v
-                                  shutdown.target    umount.target
-                                         |                |
-                                         \_______   ______/
-                                                 \ /
-                                                  v
-                                         (various low-level
-                                              services)
-                                                  |
-                                                  v
-                                            final.target
-                                                  |
-            _____________________________________/ \_________________________________
-           /                         |                        |                      \
-           |                         |                        |                      |
-           v                         v                        v                      v
-systemd-reboot.service   systemd-poweroff.service   systemd-halt.service   systemd-kexec.service
-           |                         |                        |                      |
-           v                         v                        v                      v
-    <emphasis>reboot.target</emphasis>             <emphasis>poweroff.target</emphasis>            <emphasis>halt.target</emphasis>           <emphasis>kexec.target</emphasis></programlisting>
+<programlisting>                       (conflicts with  (conflicts with
+                          all system     all file system
+                           services)     mounts, swaps,
+                               |           cryptsetup/
+                               |           veritysetup
+                               |          devices, ...)
+                               |                |
+                               v                v
+                        shutdown.target    umount.target
+                               |                |
+                               \_______   ______/
+                                       \ /
+                                        v
+                               (various low-level
+                                    services)
+                                        |
+                                        v
+                                  final.target
+                                        |
+            ___________________________/ \_________________
+           /               |               |               \
+           |               |               |               |
+           v               |               |               |
+systemd-reboot.service     |               |               |
+           |               v               |               |
+           |    systemd-poweroff.service   |               |
+           v               |               v               |
+     <emphasis>reboot.target</emphasis>         |      systemd-halt.service     |
+                           v               |               v
+                   <emphasis>poweroff.target</emphasis>         |    systemd-kexec.service
+                                           v               |
+                                      <emphasis>halt.target</emphasis>          |
+                                                           v
+                                                     <emphasis>kexec.target</emphasis></programlisting>
 
     <para>Commonly used system shutdown targets are <emphasis>emphasized</emphasis>.</para>
 
@@ -343,14 +344,13 @@ systemd-reboot.service   systemd-poweroff.service   systemd-halt.service   syste
 
   <refsect1>
     <title>See Also</title>
-    <para>
-      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry project='man-pages'><refentrytitle>boot</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>systemd-halt.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-      <citerefentry project='man-pages'><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry>
-    </para>
+    <para><simplelist type="inline">
+      <member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
+      <member><citerefentry project='man-pages'><refentrytitle>boot</refentrytitle><manvolnum>7</manvolnum></citerefentry></member>
+      <member><citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry></member>
+      <member><citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry></member>
+      <member><citerefentry><refentrytitle>systemd-halt.service</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
+    </simplelist></para>
   </refsect1>
 
 </refentry>