Compare commits
5 Commits
9e7c8f64cf
...
10ad50d38c
Author | SHA1 | Date |
---|---|---|
Lennart Poettering | 10ad50d38c | |
Yu Watanabe | 509b06ffdd | |
Zbigniew Jędrzejewski-Szmek | 277519db51 | |
Zbigniew Jędrzejewski-Szmek | f71502c49f | |
Zbigniew Jędrzejewski-Szmek | 4186441bbd |
142
man/bootup.xml
142
man/bootup.xml
|
@ -92,56 +92,59 @@
|
||||||
|
|
||||||
<!-- 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>(various cryptsetup
|
<programlisting> cryptsetup-pre.target
|
||||||
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 | /
|
||||||
/ | | | \
|
sysinit.target | /
|
||||||
| | | | |
|
| | /
|
||||||
v v | v v
|
______________________/|\_____________________ | /
|
||||||
(various (various | (various rescue.service
|
/ | | | \ | /
|
||||||
timers...) paths...) | sockets...) |
|
| | | | | | /
|
||||||
| | | | v
|
v v | v | | /
|
||||||
v v | v <emphasis>rescue.target</emphasis>
|
(various (various | (various | |/
|
||||||
timers.target paths.target | sockets.target
|
timers...) paths...) | sockets...) | |
|
||||||
| | | |
|
| | | | | |
|
||||||
v \_________________ | ___________________/
|
v v | v | |
|
||||||
\|/
|
timers.target paths.target | sockets.target | |
|
||||||
v
|
| | | | v |
|
||||||
basic.target
|
v \_______ | _____/ rescue.service |
|
||||||
|
|
\|/ | |
|
||||||
____________________________________/| emergency.service
|
v v |
|
||||||
/ | | |
|
basic.target <emphasis>rescue.target</emphasis> |
|
||||||
| | | v
|
| |
|
||||||
v v v <emphasis>emergency.target</emphasis>
|
________v____________________ |
|
||||||
display- (various system (various system
|
/ | \ |
|
||||||
manager.service services services)
|
| | | |
|
||||||
| required for |
|
v v v |
|
||||||
| graphical UIs) v
|
display- (various system (various system |
|
||||||
| | <emphasis>multi-user.target</emphasis>
|
manager.service services services) |
|
||||||
| | |
|
| required for | |
|
||||||
\_________________ | _________________/
|
| graphical UIs) v v
|
||||||
\|/
|
| | <emphasis>multi-user.target</emphasis>
|
||||||
v
|
emergency.service | | |
|
||||||
<emphasis>graphical.target</emphasis></programlisting>
|
| \_____________ | _____________/
|
||||||
|
v \|/
|
||||||
|
<emphasis>emergency.target</emphasis> v
|
||||||
|
<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
|
||||||
<emphasis>emphasized</emphasis>. These units are good choices as
|
<emphasis>emphasized</emphasis>. These units are good choices as
|
||||||
|
@ -157,6 +160,45 @@
|
||||||
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,14 +330,17 @@ 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 || !IN_SET(tmp->family, AF_INET, AF_INET6)) {
|
if (r < 0) {
|
||||||
log_link_warning(link, "rtnl: received route message with invalid family, ignoring");
|
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);
|
||||||
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 with invalid route protocol: %m");
|
log_warning_errno(r, "rtnl: received route message without route protocol: %m");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -625,8 +628,11 @@ 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 || !IN_SET(family, AF_INET, AF_INET6)) {
|
if (r < 0) {
|
||||||
log_link_warning(link, "rtnl: received neighbor message with invalid family, ignoring.");
|
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);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -754,8 +760,11 @@ 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 || !IN_SET(family, AF_INET, AF_INET6)) {
|
if (r < 0) {
|
||||||
log_link_warning(link, "rtnl: received address message with invalid family, ignoring.");
|
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);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,4 +11,3 @@
|
||||||
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,4 +11,3 @@
|
||||||
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