Compare commits
No commits in common. "10ad50d38c712ef3ae668de656bc9d07621ddc0e" and "9e7c8f64cfda101496f56f5546097221e8ad5d6a" have entirely different histories.
10ad50d38c
...
9e7c8f64cf
134
man/bootup.xml
134
man/bootup.xml
|
@ -92,58 +92,55 @@
|
||||||
|
|
||||||
<!-- note: do not use unicode ellipsis here, because docbook will replace that
|
<!-- note: do not use unicode ellipsis here, because docbook will replace that
|
||||||
with three dots anyway, messing up alignment -->
|
with three dots anyway, messing up alignment -->
|
||||||
<programlisting> cryptsetup-pre.target
|
<programlisting>(various cryptsetup
|
||||||
|
devices...)
|
||||||
|
|
|
|
||||||
(various low-level v
|
v
|
||||||
API VFS mounts: (various cryptsetup devices...)
|
cryptsetup.target
|
||||||
mqueue, configfs, | |
|
|
|
||||||
debugfs, ...) v |
|
v
|
||||||
| cryptsetup.target |
|
local-fs-pre.target
|
||||||
| (various swap | | remote-fs-pre.target
|
|
|
||||||
| devices...) | | | |
|
v
|
||||||
| | | | | v
|
(various mounts and (various swap
|
||||||
| v local-fs-pre.target | | | (network file systems)
|
fsck services...) devices...) (various low-level (various low-level
|
||||||
| swap.target | | v v |
|
| | services: udevd, API VFS mounts:
|
||||||
| | v | remote-cryptsetup.target |
|
v v tmpfiles, random mqueue, configfs,
|
||||||
| | (various low-level (various mounts and | | |
|
local-fs.target swap.target seed, sysctl, ...) debugfs, ...)
|
||||||
| | 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) |
|
v
|
||||||
| required for | |
|
sysinit.target
|
||||||
| graphical UIs) v v
|
|
|
||||||
|
____________________________________/|\________________________________________
|
||||||
|
/ | | | \
|
||||||
|
| | | | |
|
||||||
|
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>
|
| | <emphasis>multi-user.target</emphasis>
|
||||||
emergency.service | | |
|
| | |
|
||||||
| \_____________ | _____________/
|
\_________________ | _________________/
|
||||||
v \|/
|
\|/
|
||||||
<emphasis>emergency.target</emphasis> v
|
v
|
||||||
<emphasis>graphical.target</emphasis></programlisting>
|
<emphasis>graphical.target</emphasis></programlisting>
|
||||||
|
|
||||||
<para>Target units that are commonly used as boot targets are
|
<para>Target units that are commonly used as boot targets are
|
||||||
|
@ -160,45 +157,6 @@ emergency.service | | |
|
||||||
later in boot.</para>
|
later in boot.</para>
|
||||||
</refsect1>
|
</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>
|
<refsect1>
|
||||||
<title>Bootup in the Initial RAM Disk (initrd)</title>
|
<title>Bootup in the Initial RAM Disk (initrd)</title>
|
||||||
<para>The initial RAM disk implementation (initrd) can be set up
|
<para>The initial RAM disk implementation (initrd) can be set up
|
||||||
|
|
|
@ -330,17 +330,14 @@ int manager_rtnl_process_route(sd_netlink *rtnl, sd_netlink_message *message, vo
|
||||||
return log_oom();
|
return log_oom();
|
||||||
|
|
||||||
r = sd_rtnl_message_route_get_family(message, &tmp->family);
|
r = sd_rtnl_message_route_get_family(message, &tmp->family);
|
||||||
if (r < 0) {
|
if (r < 0 || !IN_SET(tmp->family, AF_INET, AF_INET6)) {
|
||||||
log_link_warning(link, "rtnl: received route message without family, ignoring");
|
log_link_warning(link, "rtnl: received route message with invalid 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);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = sd_rtnl_message_route_get_protocol(message, &tmp->protocol);
|
r = sd_rtnl_message_route_get_protocol(message, &tmp->protocol);
|
||||||
if (r < 0) {
|
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;
|
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);
|
r = sd_rtnl_message_neigh_get_family(message, &family);
|
||||||
if (r < 0) {
|
if (r < 0 || !IN_SET(family, AF_INET, AF_INET6)) {
|
||||||
log_link_warning(link, "rtnl: received neighbor message withot family, ignoring.");
|
log_link_warning(link, "rtnl: received neighbor message with invalid 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);
|
|
||||||
return 0;
|
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);
|
r = sd_rtnl_message_addr_get_family(message, &family);
|
||||||
if (r < 0) {
|
if (r < 0 || !IN_SET(family, AF_INET, AF_INET6)) {
|
||||||
log_link_warning(link, "rtnl: received address message without family, ignoring.");
|
log_link_warning(link, "rtnl: received address message with invalid 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);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,3 +11,4 @@
|
||||||
Description=Local File Systems (Pre)
|
Description=Local File Systems (Pre)
|
||||||
Documentation=man:systemd.special(7)
|
Documentation=man:systemd.special(7)
|
||||||
RefuseManualStart=yes
|
RefuseManualStart=yes
|
||||||
|
After=cryptsetup.target
|
||||||
|
|
|
@ -11,3 +11,4 @@
|
||||||
Description=Remote File Systems (Pre)
|
Description=Remote File Systems (Pre)
|
||||||
Documentation=man:systemd.special(7)
|
Documentation=man:systemd.special(7)
|
||||||
RefuseManualStart=yes
|
RefuseManualStart=yes
|
||||||
|
After=remote-cryptsetup.target
|
||||||
|
|
Loading…
Reference in New Issue