Das Projekt postmarketOS hat Duranium vorgestellt, eine atomar aktualisierbare Version für Smartphones.

Die Entwickler des Projekts postmarketOS, das eine Linux-Distribution für mobile Geräte entwickelt, haben die Einführung einer atomar aktualisierbaren Version der Distribution angekündigt. Die neue Edition trägt den Namen Duranium und zeichnet sich dadurch aus, dass das System als eine Einheit geliefert wird, ohne in separate Pakete aufgeteilt zu werden. Es wird betont, dass die neue Variante der Idee entspricht, dass das Gerät einfach funktionieren sollte, ohne dass der Benutzer Kenntnisse über das Terminal oder die Besonderheiten des Systems haben muss.

Die Systemumgebung im Verzeichnis /usr wird im Nur-Lesen-Modus unter Verwendung des EROFS-Dateisystems eingehängt und bei jedem Bootvorgang durch digitale Signaturen verifiziert. Der /usr-Bereich hat eine Größe von 5 GB. Zur Überprüfung der Datenintegrität im /usr-Bereich wird dm-verity verwendet, und bei Feststellung von Modifikationen wird der Bootvorgang blockiert. Der Prüfziffer wird in das einheitliche UKI-Image (Unified Kernel Image) integriert, das den Loader für den Kernel-Boot aus UEFI (UEFI-Bootstub), das Linux-Kernel-Image und die in den Speicher zu ladende Systemumgebung initrd umfasst, die für die Anfangsinitialisierung in der Phase vor dem Einhängen des Root-Dateisystems verwendet wird. Das UKI-Image wird in einer einzelnen ausführbaren Datei im PE-Format dargestellt und vom UEFI-Bootloader aufgerufen.

Alle Verzeichnisse außer /usr sind Teil des root-Partitions, die schreibbar und zwischen Neustarts und Updates gespeichert ist. Der Inhalt der root-Partition wird zwingend mit LUKS2 verschlüsselt, was höhere Hardwareanforderungen zur Folge hat. Das verschlüsselte Root-Dateisystem wird während des ersten Bootvorgangs oder nach einem Zurücksetzen auf die Werkseinstellungen erstellt. Standardmäßig wird ein leerer Schlüssel erstellt, der eine automatische Entsperrung der verschlüsselten Partition ermöglicht. Im Einrichtungsassistenten und im Konfigurator wird dem Benutzer die Möglichkeit angeboten, ein Passwort zur Entschlüsselung festzulegen.

Die Standardeinstellungen werden im Systemimage im Verzeichnis /usr/share/factory/etc gespeichert. Während des ersten Bootvorgangs werden im Verzeichnis /etc symbolische Links zu allen Dateien im Verzeichnis /usr/share/factory/etc erstellt, mit Ausnahme der Dateien passwd, group, shadow, fstab, machine-id und hostname. Bei Bedarf werden während des Betriebs die symbolischen Links durch Kopien der Dateien ersetzt.

Updates are installed by replacing the entire system image. Two identical root partitions are created on the drive — an active and a passive one. The new update is installed in the passive partition, without affecting the operation of the active one. After verifying the correctness of the installed update and successfully rebooting, the partitions are swapped — the partition with the update becomes active, while the previous active partition is switched to passive mode and awaits the installation of the next update. If there are boot issues after the update, an automatic rollback to the previous version of the system is performed.

This approach significantly simplifies debugging and diagnosing issues, as developers can accurately reproduce the state in which the failure occurred without needing to replicate the user's system configuration at the individual package level and consider the possible combinations of package versions. The downside is the higher hardware requirements, which may prevent Duranium from being used on all devices supported in postmarketOS.

Das System-Image von Duranium wird aus einer einheitlichen Paketbasis von postmarketOS gebildet, die auf Alpine Linux, der Standard-C-Bibliothek Musl und einer Reihe von BusyBox-Utilities basiert. Die Releases von postmarketOS und Duranium sind inhaltlich nahezu identisch, unterscheiden sich jedoch durch verschiedene Methoden zur Bereitstellung des Systems. Für die Erstellung, Installation und Aktualisierung der System-Images kommen die Komponenten systemd-sysupdate, systemd-repart und systemd-verity-setup zum Einsatz.

Zusätzliche Anwendungen werden im Flatpak-Format oder mit dem Paketmanager Coldbrew installiert. Coldbrew ermöglicht die Installation von Paketen aus den Repositories von Alpine Linux im Heimatverzeichnis des Benutzers. Bei der Ausführung werden solche Pakete mithilfe des Tools bubblewrap isoliert.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster