013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering<?xml version='1.0'?> <!--*-nxml-*-->
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
12b42c76672a66c2d4ea7212c14f8f1b5a62b78dTom Gundersen "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering<!--
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering This file is part of systemd.
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering Copyright 2012 Lennart Poettering
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering systemd is free software; you can redistribute it and/or modify it
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering under the terms of the GNU Lesser General Public License as published by
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering the Free Software Foundation; either version 2.1 of the License, or
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering (at your option) any later version.
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering systemd is distributed in the hope that it will be useful, but
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering Lesser General Public License for more details.
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering You should have received a copy of the GNU Lesser General Public License
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering-->
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering<refentry id="bootup">
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <refentryinfo>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <title>bootup</title>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <productname>systemd</productname>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <authorgroup>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <author>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <contrib>Developer</contrib>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <firstname>Lennart</firstname>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <surname>Poettering</surname>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <email>lennart@poettering.net</email>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek </author>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek </authorgroup>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek </refentryinfo>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <refmeta>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <refentrytitle>bootup</refentrytitle>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <manvolnum>7</manvolnum>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek </refmeta>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <refnamediv>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <refname>bootup</refname>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <refpurpose>System bootup process</refpurpose>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek </refnamediv>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <refsect1>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <title>Description</title>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para>A number of different components are involved in the system
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek boot. Immediately after power-up, the system BIOS will do minimal
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek hardware initialization, and hand control over to a boot loader
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek stored on a persistent storage device. This boot loader will then
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek invoke an OS kernel from disk (or the network). In the Linux case,
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek this kernel (optionally) extracts and executes an initial RAM disk
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek image (initrd), such as generated by
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry project='die-net'><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek which looks for the root file system (possibly using
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek for this). After the root file system is found and mounted, the
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek initrd hands over control to the host's system manager (such as
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek stored on the OS image, which is then responsible for probing all
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek remaining hardware, mounting all necessary file systems and
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek spawning all configured services.</para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para>On shutdown, the system manager stops all services, unmounts
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek all file systems (detaching the storage technologies backing
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek them), and then (optionally) jumps back into the initrd code which
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek unmounts/detaches the root file system and the storage it resides
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek on. As a last step, the system is powered down.</para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para>Additional information about the system boot process may be
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek found in
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry project='man-pages'><refentrytitle>boot</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek </refsect1>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <refsect1>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <title>System Manager Bootup</title>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para>At boot, the system manager on the OS image is responsible
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek for initializing the required file systems, services and drivers
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek that are necessary for operation of the system. On
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek systems, this process is split up in various discrete steps which
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek are exposed as target units. (See
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek for detailed information about target units.) The boot-up process
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek is highly parallelized so that the order in which specific target
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek units are reached is not deterministic, but still adheres to a
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek limited amount of ordering structure.</para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para>When systemd starts up the system, it will activate all
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek units that are dependencies of <filename>default.target</filename>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek (as well as recursively all dependencies of these dependencies).
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Usually, <filename>default.target</filename> is simply an alias of
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>graphical.target</filename> or
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>multi-user.target</filename>, depending on whether the
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek system is configured for a graphical UI or only for a text
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek console. To enforce minimal ordering between the units pulled in,
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek a number of well-known target units are available, as listed on
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para>The following chart is a structural overview of these
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek well-known units and their position in the boot-up logic. The
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek arrows describe which units are pulled in and ordered before which
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek other units. Units near the top are started before units nearer to
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek the bottom of the chart.</para>
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering<programlisting>local-fs-pre.target
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering(various mounts and (various swap (various cryptsetup
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek fsck services...) devices...) devices...) (various low-level (various low-level
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | | | services: udevd, API VFS mounts:
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v v v tmpfiles, random mqueue, configfs,
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering local-fs.target swap.target cryptsetup.target seed, sysctl, ...) debugfs, ...)
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | | | | |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek \__________________|_________________ | ___________________|____________________/
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek \|/
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek sysinit.target
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek ____________________________________/|\________________________________________
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek / | | | \
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | | | | |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v v | v v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek (various (various | (various rescue.service
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek timers...) paths...) | sockets...) |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | | | | v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v v | v <emphasis>rescue.target</emphasis>
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek timers.target paths.target | sockets.target
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | | | |
b44787bd437f4051660272b37bd6f75392f17931Chris Morin v \_________________ | ___________________/
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek \|/
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek basic.target
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek ____________________________________/| emergency.service
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek / | | |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | | | v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v v v <emphasis>emergency.target</emphasis>
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek display- (various system (various system
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek manager.service services services)
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | required for |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | graphical UIs) v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | | <emphasis>multi-user.target</emphasis>
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | | |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek \_________________ | _________________/
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek \|/
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek <emphasis>graphical.target</emphasis></programlisting>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para>Target units that are commonly used as boot targets are
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <emphasis>emphasized</emphasis>. These units are good choices as
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek goal targets, for example by passing them to the
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <varname>systemd.unit=</varname> kernel command line option (see
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek or by symlinking <filename>default.target</filename> to them.
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek </para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para><filename>timers.target</filename> is pulled-in by
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>basic.target</filename> asynchronously. This allows
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek timers units to depend on services which become only available
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek later in boot.</para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek </refsect1>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <refsect1>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <title>Bootup in the Initial RAM Disk (initrd)</title>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para>The initial RAM disk implementation (initrd) can be set up
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek using systemd as well. In this case, boot up inside the initrd
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek follows the following structure.</para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para>The default target in the initrd is
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>initrd.target</filename>. The bootup process begins
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek identical to the system manager bootup (see above) until it
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek reaches <filename>basic.target</filename>. From there, systemd
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek approaches the special target <filename>initrd.target</filename>.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek If the root device can be mounted at
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>/sysroot</filename>, the
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>sysroot.mount</filename> unit becomes active and
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>initrd-root-fs.target</filename> is reached. The service
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>initrd-parse-etc.service</filename> scans
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>/sysroot/etc/fstab</filename> for a possible
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>/usr</filename> mount point and additional entries
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek marked with the <emphasis>x-initrd.mount</emphasis> option. All
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek entries found are mounted below <filename>/sysroot</filename>, and
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>initrd-fs.target</filename> is reached. The service
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>initrd-cleanup.service</filename> isolates to the
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>initrd-switch-root.target</filename>, where cleanup
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek services can run. As the very last step, the
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>initrd-switch-root.service</filename> is activated,
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek which will cause the system to switch its root to
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <filename>/sysroot</filename>.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek </para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek<programlisting> : (beginning identical to above)
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek :
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek basic.target
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | emergency.service
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek ______________________/| |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek / | v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | sysroot.mount <emphasis>emergency.target</emphasis>
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | initrd-root-fs.target
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v initrd-parse-etc.service
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek (custom initrd |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek services...) v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | (sysroot-usr.mount and
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | various mounts marked
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | with fstab option
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | x-initrd.mount...)
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | initrd-fs.target
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek \______________________ |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek \|
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek initrd.target
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek initrd-cleanup.service
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek isolates to
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek initrd-switch-root.target
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek ______________________/|
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek / v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | initrd-udevadm-cleanup-db.service
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek (custom initrd |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek services...) |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek \______________________ |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek \|
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek initrd-switch-root.target
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek initrd-switch-root.service
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek Transition to Host OS</programlisting>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek </refsect1>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <refsect1>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <title>System Manager Shutdown</title>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para>System shutdown with systemd also consists of various target
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek units with some minimal ordering structure applied:</para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek<programlisting> (conflicts with (conflicts with
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek all system all file system
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek services) mounts, swaps,
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | cryptsetup
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | devices, ...)
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek shutdown.target umount.target
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek \_______ ______/
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek \ /
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek (various low-level
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek services)
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek final.target
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek _____________________________________/ \_________________________________
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek / | | \
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | | | |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v v v v
0e0320e04500d1e68630b3973714f14cfb7b3450Lennart Poetteringsystemd-reboot.service systemd-poweroff.service systemd-halt.service systemd-kexec.service
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek | | | |
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek v v v v
72b7d998059869942da8d540b7fe2c341225f91eZbigniew Jędrzejewski-Szmek <emphasis>reboot.target</emphasis> <emphasis>poweroff.target</emphasis> <emphasis>halt.target</emphasis> <emphasis>kexec.target</emphasis></programlisting>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para>Commonly used system shutdown targets are
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <emphasis>emphasized</emphasis>.</para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek </refsect1>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <refsect1>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <title>See Also</title>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry project='man-pages'><refentrytitle>boot</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <citerefentry project='die-net'><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek </para>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek </refsect1>
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering
013d8a39a6178179080bcfee9122b29cf9d29259Lennart Poettering</refentry>