System Manager Bootup
Version vom 9. Januar 2023, 10:42 Uhr von Thomas.will (Diskussion | Beiträge)
Booten des Systemmanagers
- Beim Booten ist der Systemmanager auf dem Betriebssystemabbild für die Initialisierung der erforderlichen Dateisysteme, Dienste und Treiber verantwortlich, die für den Betrieb des Systems erforderlich sind.
- Auf systemd-Systemen ist dieser Prozess in verschiedene diskrete Schritte aufgeteilt, die als Zieleinheiten verfügbar gemacht werden.
- Der Boot-Prozess ist stark parallelisiert, so dass die Reihenfolge, in der bestimmte Ziel-Units erreicht werden, nicht deterministisch ist,
- Er unterliegt einer begrenzten Ordnungsstruktur folgt.
- Wenn systemd das System startet, aktiviert es alle Units, die Abhängigkeiten von default.target sind.
- Normalerweise ist default.target einfach ein Alias von graphic.target oder multi-user.target.
- Je nachdem, ob das System für eine grafische Benutzeroberfläche oder nur für eine Textkonsole konfiguriert ist.
- Um eine minimale Ordnung zwischen den hereingezogenen Units zu erzwingen, ist eine Reihe bekannter Ziel-Units verfügbar, wie sie in systemd.special aufgeführt sind.
- Die folgende Tabelle gibt einen strukturellen Überblick über diese bekannten Einheiten und ihre Position in der Boot-Logik.
- Die Pfeile beschreiben, welche Einheiten eingezogen und vor welchen anderen Einheiten angeordnet werden.
- Einheiten am oberen Rand werden vor Einheiten am unteren Rand des Diagramms gestartet.
cryptsetup-pre.target veritysetup-pre.target
|
(various low-level v
API VFS mounts: (various cryptsetup/veritysetup 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 | remote-veritysetup.target |
| | services: udevd, fsck services...) | | |
| | tmpfiles, random | | | remote-fs.target
| | 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 rescue.target |
| |
________v____________________ |
/ | \ |
| | | |
v v v |
display- (various system (various system |
manager.service services services) |
| required for | |
| graphical UIs) v v
| | multi-user.target
emergency.service | | |
| \_____________ | _____________/
v \|/
emergency.target v
graphical.target