chiark / gitweb /
Make initrd.target the default target in the initrd
[elogind.git] / man / bootup.xml
index e29c1a016796a0309e147fdf7a737e5ad874452e..6bd22ef476c73743e6a441fc9691f45ddf48451c 100644 (file)
@@ -44,7 +44,7 @@
 
         <refnamediv>
                 <refname>bootup</refname>
-                <refpurpose>The System Bootup Process</refpurpose>
+                <refpurpose>System bootup process</refpurpose>
         </refnamediv>
 
         <refsect1>
@@ -53,7 +53,7 @@
                 <para>A number of different components are involved in the
                 system boot. Immediately after power-up, the system
                 BIOS will do minimal hardware initialization, and hand
-                control over to a boot loader stored on a persistant
+                control over to a boot loader stored on a persistent
                 storage device. This boot loader will then invoke an
                 OS kernel from disk (or the network). In the Linux
                 case this kernel now (optionally) extracts and
                 target units are available, as listed on
                 <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
 
-                <para>The follow chart is a structural overview of
+                <para>The following chart is a structural overview of
                 these well-known units and their position in the
                 boot-up logic. The arrows describe which units are
                 pulled in and ordered before which other units. Units
                                                v
                                          basic.target
                                                |
-                             _________________/|                                 emergency.service
-                            /                  |                                         |
-                            |                  |                                         v
-                            v                  v                                 <emphasis>emergency.target</emphasis>
-                     (various system    (various system
-                        services           services)
-                      required for             |
-                     graphical UIs)            v
-                            |           <emphasis>multi-user.target</emphasis>
-                            |                  |
-                            | _________________/
-                            |/
+            __________________________________/|                                 emergency.service
+           /                |                  |                                         |
+           |                |                  |                                         v
+           v                v                  v                                 <emphasis>emergency.target</emphasis>
+       display-      (various system    (various system
+   manager.service       services           services)
+           |           required for            |
+           |          graphical UIs)           v
+           |                |           <emphasis>multi-user.target</emphasis>
+           |                |                  |
+           \_______________ | _________________/
+                           \|/
                             v
                     <emphasis>graphical.target</emphasis></programlisting>
 
                 to them.</para>
         </refsect1>
 
+        <refsect1>
+                <title>Systemd in the Initrd</title>
+                <para>If the initrd creation tool used the services provided
+                by systemd, the default target in the initrd is the
+                initrd-fs.target. The process is the same as above until the basic.target is reached.
+                Systemd now continues to the initrd.target. If the root device could be mounted
+                on /sysroot, the sysroot.mount unit is active and the initrd-root-fs.target is reached.
+                initrd-parse-etc.service scans /sysroot/etc/fstab for the /usr mountpoint and for entries
+                marked with the <emphasis>x-initrd.mount</emphasis> option set. If these mountpoint are
+                mounted in /sysroot, the initrd-fs.target is reached.
+                The initrd-cleanup.service isolates to the initrd-switch-root.target,
+                where cleanup services can run. At the very last end
+                initrd-switch-root.service is activated, which will cause
+                the system to switch root to /sysroot.
+                </para>
+
+<programlisting>
+                                        (same as above)
+                                               :
+                                               :
+                                               v
+                                         basic.target
+                                               |                                 emergency.service
+                        ______________________/|                                         |
+                       /                       |                                         v
+                       |                  sysroot.mount                          <emphasis>emergency.target</emphasis>
+                       |                       |
+                       |                       v
+                       |             initrd-root-fs.target
+                       |                       |
+                       |                       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
+                        ______________________/|
+                       /                       |
+                       |        initrd-udevadm-cleanup-db.service
+                       |                       |
+           (custom initrd services)            |
+                       |                       |
+                       \______________________ |
+                                              \|
+                                               v
+                                   initrd-switch-root.target
+                                               |
+                                               v
+                                   initrd-switch-root.service
+                                               |
+                                               v
+                                          switch-root
+</programlisting>
+        </refsect1>
+
+
         <refsect1>
                 <title>System Manager Shutdown</title>
 
@@ -219,7 +292,8 @@ systemd-reboot.service   systemd-poweroff.service   systemd-halt.service   syste
                         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                         <citerefentry><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.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry>
                 </para>
         </refsect1>