summaryrefslogtreecommitdiff
path: root/man/bootup.xml
diff options
context:
space:
mode:
Diffstat (limited to 'man/bootup.xml')
-rw-r--r--man/bootup.xml167
1 files changed, 129 insertions, 38 deletions
diff --git a/man/bootup.xml b/man/bootup.xml
index 4cc4bafab7..a596e85b70 100644
--- a/man/bootup.xml
+++ b/man/bootup.xml
@@ -50,18 +50,20 @@
<refsect1>
<title>Description</title>
- <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 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
+ <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
+ persistent storage device. This boot loader will then
+ invoke an OS kernel from disk (or the network). In the
+ Linux case this kernel (optionally) extracts and
executes an initial RAM disk image (initrd) such as
<citerefentry><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry>
- which looks for the root file system. After the root
- file system is found and mounted the initrd hands over
- control to the system manager (such as
+ which looks for the root file system (possibly using
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ for this). After the root file system is found and
+ mounted the initrd hands over control to the host's
+ system manager (such as
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
stored on the OS image which is then responsible for
probing all remaining hardware, mounting all necessary
@@ -132,35 +134,35 @@
v
sysinit.target
|
- _________________/|\___________________
- / | \
- | | |
- v | v
- (various | rescue.service
- sockets...) | |
- | | v
- v | <emphasis>rescue.target</emphasis>
- sockets.target |
- | |
- \_________________ |
- \|
+ ____________________________________/|\________________________________________
+ / | | | \
+ | | | | |
+ v v | v v
+ (various (various | (various rescue.service
+ timers...) paths...) | sockets...) |
+ | | | | v
+ v v | v <emphasis>rescue.target</emphasis>
+ timers.target paths.target | sockets.target
+ | | | |
+ \__________________|_________________ | ___________________/
+ \|/
v
basic.target
|
- __________________________________/| 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>
- | | |
- \_______________ | _________________/
+ ____________________________________/| 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>
+ <emphasis>graphical.target</emphasis></programlisting>
<para>Target units that are commonly used as boot
targets are <emphasis>emphasized</emphasis>. These
@@ -174,11 +176,99 @@
</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>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>. If the root device
+ can be mounted at <filename>/sysroot</filename>, the
+ <filename>sysroot.mount</filename> unit becomes active
+ and <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 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 <filename>initrd-cleanup.service</filename>
+ isolates to the
+ <filename>initrd-switch-root.target</filename>, where
+ cleanup services can run. As the very last step, the
+ <filename>initrd-switch-root.service</filename> is
+ activated, which will cause the system to switch its
+ root to <filename>/sysroot</filename>.
+ </para>
+
+<programlisting> : (beginning identical to above)
+ :
+ v
+ basic.target
+ | emergency.service
+ ______________________/| |
+ / | v
+ | sysroot.mount <emphasis>emergency.target</emphasis>
+ | |
+ | 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>
<title>System Manager Shutdown</title>
- <para>System shutdown also consists of various target
- units with some minimal ordering structure
- applied:</para>
+ <para>System shutdown with systemd also consists of
+ various target units with some minimal ordering
+ structure applied:</para>
@@ -219,7 +309,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>