bootup.xml revision e3d84721dc9bcf9008f72dae03ff0f7842d0bb4b
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster This file is part of systemd.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster Copyright 2012 Lennart Poettering
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster systemd is free software; you can redistribute it and/or modify it
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster under the terms of the GNU Lesser General Public License as published by
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster the Free Software Foundation; either version 2.1 of the License, or
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster (at your option) any later version.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster systemd is distributed in the hope that it will be useful, but
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster WITHOUT ANY WARRANTY; without even the implied warranty of
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster Lesser General Public License for more details.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster You should have received a copy of the GNU Lesser General Public License
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster along with systemd; If not, see <http://www.gnu.org/licenses/>.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <refentryinfo>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <authorgroup>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster </authorgroup>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster </refentryinfo>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <refnamediv>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster </refnamediv>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <para>A number of different components are involved in
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster the system boot. Immediately after power-up, the
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster system BIOS will do minimal hardware initialization,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster and hand control over to a boot loader stored on a
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster persistent storage device. This boot loader will then
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster invoke an OS kernel from disk (or the network). In the
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster Linux case this kernel (optionally) extracts and
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster executes an initial RAM disk image (initrd) such as
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <citerefentry><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster which looks for the root file system (possibly using
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster for this). After the root file system is found and
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster mounted the initrd hands over control to the host's
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster system manager (such as
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster stored on the OS image which is then responsible for
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster probing all remaining hardware, mounting all necessary
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster file systems and spawning all configured
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster services.</para>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <para>On shutdown the system manager stops all
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster services, unmounts all file systems (detaching the
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster storage technologies backing them), and then
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster (optionally) jumps back into the initrd code which
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster unmounts/detaches the root file system and the storage
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster it resides on. As last step the system is powered down.</para>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <para>Additional information about the system boot
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster process may be found in
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <citerefentry><refentrytitle>boot</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <para>At boot, the system manager on the OS image is
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster responsible for initializing the required file
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster systems, services and drivers that are necessary for
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster operation of the system. On
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster systems this process is split up in various discrete
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster steps which are exposed as target units. (See
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster for detailed information about target units.) The
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster boot-up process is highly parallelized so that the
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster order in which specific target units are reached is not
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster deterministic, but still adheres to a limited amount
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster of ordering structure.</para>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster <para>When systemd starts up the system it will
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster activate all units that are dependencies of
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
(various (various | (various rescue.service
____________________________________/| emergency.service
manager.service services services)
| (sysroot-usr.mount and
<emphasis>reboot.target</emphasis> <emphasis>poweroff.target</emphasis> <emphasis>halt.target</emphasis> <emphasis>kexec.target</emphasis></programlisting>
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,