Merge pull request #14378 from keszybz/unit-docs

Unit documentation and build-system tweaks
This commit is contained in:
Lennart Poettering 2019-12-19 19:00:14 +01:00 committed by GitHub
commit 10ad50d38c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 92 additions and 52 deletions

View file

@ -92,56 +92,59 @@
<!-- note: do not use unicode ellipsis here, because docbook will replace that
with three dots anyway, messing up alignment -->
<programlisting>(various cryptsetup
devices...)
|
v
cryptsetup.target
|
v
local-fs-pre.target
|
v
(various mounts and (various swap
fsck services...) devices...) (various low-level (various low-level
| | services: udevd, API VFS mounts:
v v tmpfiles, random mqueue, configfs,
local-fs.target swap.target seed, sysctl, ...) debugfs, ...)
| | | |
\__________________|_________________ _________________|______________________/
\ /
v
sysinit.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 \_________________ | ___________________/
\|/
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>
| | |
\_________________ | _________________/
\|/
v
<emphasis>graphical.target</emphasis></programlisting>
<programlisting> cryptsetup-pre.target
|
(various low-level v
API VFS mounts: (various cryptsetup devices...)
mqueue, configfs, | |
debugfs, ...) v |
| cryptsetup.target |
| (various swap | | remote-fs-pre.target
| devices...) | | | |
| | | | | v
| 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 | |/
timers...) paths...) | sockets...) | |
| | | | | |
v v | v | |
timers.target paths.target | sockets.target | |
| | | | v |
v \_______ | _____/ rescue.service |
\|/ | |
v v |
basic.target <emphasis>rescue.target</emphasis> |
| |
________v____________________ |
/ | \ |
| | | |
v v v |
display- (various system (various system |
manager.service services services) |
| required for | |
| graphical UIs) v v
| | <emphasis>multi-user.target</emphasis>
emergency.service | | |
| \_____________ | _____________/
v \|/
<emphasis>emergency.target</emphasis> v
<emphasis>graphical.target</emphasis></programlisting>
<para>Target units that are commonly used as boot targets are
<emphasis>emphasized</emphasis>. These units are good choices as
@ -157,6 +160,45 @@
later in boot.</para>
</refsect1>
<refsect1>
<title>User manager startup</title>
<para>The system manager starts the <filename>user@<replaceable>uid</replaceable>.service</filename> unit
for each user, which launches a separate unprivileged instance of <command>systemd</command> for each
user — the user manager. Similarly to the system manager, the user manager starts units which are pulled
in by <filename>default.target</filename>. The following chart is a structural overview of the well-known
user units. For non-graphical sessions, <filename>default.target</filename> is used. Whenever the user
logs into a graphical session, the login manager will start the
<filename>graphical-session.target</filename> target that is used to pull in units required for the
grahpical session. A number of targets (shown on the right side) are started when specific hardware is
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 sesion) 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

View file

@ -11,4 +11,3 @@
Description=Local File Systems (Pre)
Documentation=man:systemd.special(7)
RefuseManualStart=yes
After=cryptsetup.target

View file

@ -11,4 +11,3 @@
Description=Remote File Systems (Pre)
Documentation=man:systemd.special(7)
RefuseManualStart=yes
After=remote-cryptsetup.target