Die Geraeteschicht — Abbild, zwei Wurzeln, Selbstprueflauf, Ruecksprung — verlaesst die Ablage der ersten Appliance und wird ein eigenes Erzeugnis mit eigenem Takt und eigenem Nachweis. Drei Gruende, nach Gewicht: Der Cyber Resilience Act verpflichtet fuer das gesamte Produkt einschliesslich der Betriebssystemschicht — vier gewachsene Basissysteme waeren vier Stuecklisten und vier Schwachstellenprozesse, eine gemeinsame Basis ist ein Dossier. Der Ruecksprung wird nur einmal richtig gebaut, weil er nur geprueft wird wenn ihn jemand braucht. Und eine abgegrenzte Aufgabe laesst sich ausschreiben, was unmittelbar auf das groesste benannte Risiko des Hauses einzahlt. Der Einwand der Vertraeglichkeitsmatrix wird durch den Nutzlast-Vertrag entkraeftet statt weggeredet: Die Nutzlast liegt in der Wurzel und wird mit ihr getauscht. Eine Fassung, ein Rueckweg, keine Matrix. Das OS kennt kein Produkt — Regel 1. Alle Namen sind entkoppelt, die Statusseite ist auf die Standardbibliothek umgestellt, weil jede Abhaengigkeit im Grund-OS eine Verpflichtung ueber die Produktlebensdauer ist. Nichts davon ist gelaufen. Der Inhalt gilt als Bauplan. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
20 lines
734 B
Desktop File
20 lines
734 B
Desktop File
[Unit]
|
|
Description=XinionOS Selbstprueflauf — entscheidet, ob dieser Start als gelungen gilt
|
|
Documentation=file:///usr/share/doc/xinionos/ADR-0002
|
|
After=network-online.target xinionos-status.service
|
|
Wants=network-online.target
|
|
Requires=xinionos-status.service
|
|
|
|
# Das ist die ganze Verdrahtung des Ruecksprungs: Diese Unit muss VOR boot-complete.target
|
|
# laufen und wird von ihm BENOETIGT. Faellt sie durch, wird das Ziel nie erreicht,
|
|
# systemd-bless-boot laeuft nicht, der Startzaehler bleibt stehen — und der dritte
|
|
# Fehlversuch stuft die Fassung ab (ADR-0011).
|
|
Before=boot-complete.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
RemainAfterExit=yes
|
|
ExecStart=/usr/local/sbin/xinionos-selbstpruefung
|
|
|
|
[Install]
|
|
RequiredBy=boot-complete.target
|