Compare commits

..

No commits in common. "10ad50d38c712ef3ae668de656bc9d07621ddc0e" and "9e7c8f64cfda101496f56f5546097221e8ad5d6a" have entirely different histories.

4 changed files with 59 additions and 108 deletions

View File

@ -92,59 +92,56 @@
<!-- note: do not use unicode ellipsis here, because docbook will replace that
with three dots anyway, messing up alignment -->
<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>
<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>
<para>Target units that are commonly used as boot targets are
<emphasis>emphasized</emphasis>. These units are good choices as
@ -160,45 +157,6 @@ emergency.service | | |
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

@ -330,17 +330,14 @@ int manager_rtnl_process_route(sd_netlink *rtnl, sd_netlink_message *message, vo
return log_oom();
r = sd_rtnl_message_route_get_family(message, &tmp->family);
if (r < 0) {
log_link_warning(link, "rtnl: received route message without family, ignoring");
return 0;
} else if (!IN_SET(tmp->family, AF_INET, AF_INET6)) {
log_link_debug(link, "rtnl: received route message with invalid family '%i', ignoring", tmp->family);
if (r < 0 || !IN_SET(tmp->family, AF_INET, AF_INET6)) {
log_link_warning(link, "rtnl: received route message with invalid family, ignoring");
return 0;
}
r = sd_rtnl_message_route_get_protocol(message, &tmp->protocol);
if (r < 0) {
log_warning_errno(r, "rtnl: received route message without route protocol: %m");
log_warning_errno(r, "rtnl: received route message with invalid route protocol: %m");
return 0;
}
@ -628,11 +625,8 @@ int manager_rtnl_process_neighbor(sd_netlink *rtnl, sd_netlink_message *message,
}
r = sd_rtnl_message_neigh_get_family(message, &family);
if (r < 0) {
log_link_warning(link, "rtnl: received neighbor message withot family, ignoring.");
return 0;
} else if (!IN_SET(family, AF_INET, AF_INET6)) {
log_link_debug(link, "rtnl: received neighbor message with invalid family '%i', ignoring.", family);
if (r < 0 || !IN_SET(family, AF_INET, AF_INET6)) {
log_link_warning(link, "rtnl: received neighbor message with invalid family, ignoring.");
return 0;
}
@ -760,11 +754,8 @@ int manager_rtnl_process_address(sd_netlink *rtnl, sd_netlink_message *message,
}
r = sd_rtnl_message_addr_get_family(message, &family);
if (r < 0) {
log_link_warning(link, "rtnl: received address message without family, ignoring.");
return 0;
} else if (!IN_SET(family, AF_INET, AF_INET6)) {
log_link_debug(link, "rtnl: received address message with invalid family '%i', ignoring.", family);
if (r < 0 || !IN_SET(family, AF_INET, AF_INET6)) {
log_link_warning(link, "rtnl: received address message with invalid family, ignoring.");
return 0;
}

View File

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

View File

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