Für systemd wird die Möglichkeit entwickelt, Systemabbilder über HTTP zu laden.

Lennart Poettering schlägt vor, eine Änderung in den systemd-Systemmanager aufzunehmen, die es ermöglicht, das System mithilfe eines Root-Dateisystem-Images, das von einem externen Host über HTTP abgerufen wird, zu starten. Die Änderung erweitert systemd um die Fähigkeit, nicht nur ein Disk-Image über HTTP in der frühen Startphase herunterzuladen, sondern auch das heruntergeladene Image zu entpacken, mit einem Blockgerät im Loopback-Modus zu verknüpfen, das Blockgerät als /sysroot zu mounten und das System von dort zu starten.

Die Unterstützung für das Herunterladen von Disk-Images während des Systemstarts mithilfe von systemd-import-generator ist bereits in version 257 von systemd integriert. Die restlichen Funktionen befinden sich derzeit in der Prototyp-Phase und bedürfen weiterer Arbeit. Der vollständige Bootzyklus wird derzeit noch nicht unterstützt, es wird jedoch geplant, die Funktionalität in Zukunft so zu erweitern, dass sie das Booten über UEFI HTTP Boot mit universellen Kernel-Images (UKI, Unified Kernel Image) ermöglicht, die einen Bootloader für UEFI (UEFI boot stub), das Linux-Kernel-Image und das im Speicher ladbare System-Umfeld initrd in einer Datei vereinen.

Die URL zum Herunterladen des System-Images soll auf Grundlage der für das EFI-Image in den UEFI HTTP Boot-Einstellungen angegebenen URL berechnet werden (zum Beispiel, beim Booten über EFI HTTP Boot „http://example.com/somedir/myimage.efi“ wird der im UKI initrd-Handler vorhandene Code das rootfs-Image als „http://example.com/somedir/myimage.raw.xz“ herunterladen). Zukünftig ist geplant, neben HTTP auch die Technologie NVMe-over-TCP zu unterstützen, die den Zugriff auf NVMe-Speicher über das Netzwerk (NVM Express over Fabrics) unter Verwendung des TCP-Protokolls ermöglicht.

Es wird angenommen, dass das Booten von Images, die von einem externen Host abgerufen werden, die Organisation des Testens moderner unveränderlicher („immutable“) Betriebssysteme auf wahrer Hardware erheblich erleichtern wird. Der Entwickler kann auf seinem Computer ein Image mit dem Tool mkosi erstellen und es über HTTP mit dem Befehl „mkosi -f serve“ bereitstellen. Auf dem Computer, auf dem die Systemfunktion getestet werden soll, genügt es, den EFI-HTTP-Boot zu aktivieren und die URL des herunterladbaren Images mit dem Befehl: kernel-bootcfg —add-uri=http://192.168.47.11:8081/image.efi —title=testloop —boot-order=0 hinzuzufügen.

Anschließend kann der Computer einfach neu gestartet werden, und er lädt das Standard-UKI-Kernel-Image, das dann das vom Entwickler vorbereitete Disk-Image mit dem Root-Dateisystem lädt. Vor der Deaktivierung des HTTP-Starts in EFI wird jeder nachfolgende Neustart des Computers zu einem frischen System-Image führen. Bei dieser Art von Tests werden die lokalen Festplatten nicht berührt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4