System Manager Bootup

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

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