Das Unternehmen Igalia hat Moonforge eingeführt, eine Distribution für eingebettete Systeme.

Igalia, bekannt für die Mitwirkung an der Entwicklung freier Projekte wie GNOME, GTK, WebKitGTK, Epiphany, Maemo, GStreamer, Wine, Mesa und freedesktop.org, hat das Projekt Moonforge vorgestellt. Dieses erleichtert die Erstellung und Pflege individueller Linux-Distributionen für verschiedene Geräte und eingebettete Systeme. Der Inhalt der Distribution wird auf der Grundlage von Build-Tools und Metadatenpaketen aus den Projekten OpenEmbedded und Yocto erstellt. Projektspezifische Entwicklungen werden unter der MIT-Lizenz veröffentlicht.

Moonforge bietet Entwicklern und Systemintegratoren ein Framework, eine Sammlung von Konfigurationsdateien und eine Sammlung von Komponenten zur Erstellung atomar aktualisierbarer Systembilder. Diese basieren auf bewährten, in der Branche verbreiteten Technologien wie Yocto, BitBake und KAS. Für die erstellten Bilder wird ein vereinfachter Aktualisierungsprozess unterstützt, und es wird ein langfristiger Support-Zyklus gewährleistet. Das Hauptziel des Projekts ist es, Entwicklern eingebetteter Systeme ein praktisches Werkzeug an die Hand zu geben, damit sie sich auf die Entwicklung produkt-spezifischer Funktionen konzentrieren können, ohne Zeit mit der Erstellung und Pflege eines Distributionspakets zu verlieren.

Das Systembild wird aus einer Reihe vorgefertigter Yocto-Module zusammengesetzt. Jedes Modul ist für eine bestimmte Funktionalität oder die Unterstützung einer bestimmten Zielhardware-Plattform verantwortlich. Beispielsweise gibt es Module zur Unterstützung von Docker, QEMU oder Podman, zur Verwaltung von Updates über RAUC und zur Erstellung von grafischen Benutzeroberflächen auf Basis von Komposit. сервера Weston, ein auf Webkit basierendes Browser-Interface für Internet-Kioske und Builds für die Platinen Raspberry Pi 4 und 5.

Es werden drei Release-Kanäle unterstützt: stable (stabile LTS-Zweige), next (Zweig, in dem die nächste LTS-Version entwickelt wird) und main (experimenteller Zweig, in dem die Entwicklung stattfindet). Jeder Zweig ist an seine eigene Version des Yocto-Komponenten-Stapels gebunden. Der stabile Zweig wird einmal im Monat aktualisiert und entspricht den LTS-Versionen von Yocto.

Updates werden Over-The-Air (OTA) mit Hilfe des Mender-Tools bereitgestellt und atomar durch den vollständigen Austausch des gesamten Systems installiert. Auf dem Speicher werden zwei identische Root-Partitionen erstellt – aktiv und passiv. Ein neues Update wird in der passiven Partition installiert, ohne die Funktion der aktiven zu beeinträchtigen. Nach dem Neustart werden die Partitionen getauscht – die Partition mit dem neuen Update wird aktiv, während die vorher aktive Partition in den passiven Modus versetzt wird und auf die Installation des nächsten Updates wartet. Falls nach dem Update etwas schiefgeht, wird auf die letzte Systemversion zurückgesetzt.

Für die Erstellung von Systemabbildern wird das BitBake-Toolset verwendet, während für die Konfiguration und die Sicherstellung reproduzierbarer Builds kas zum Einsatz kommt. Builds, Updates, Berichte über Sicherheitsanfälligkeiten und Metadaten der SBOM (Software Bill of Materials) werden automatisch mithilfe von Continuous Integration und Continuous Deployment (CI/CD) Systemen gesammelt und veröffentlicht. Die Build-Infrastruktur auf Basis von Moonforge kann sowohl in lokalen Servern, als auch in öffentlichen oder privaten Cloud-Umgebungen bereitgestellt werden.

Um die Transparenz und Vorhersehbarkeit der Prozesse zur Erstellung von abgeleiteten Produkten im Distributionssystem zu gewährleisten, wird eine strikte Trennung zwischen Upstream- und Downstream-Komponenten angewendet, die Entwicklern ermöglicht, bei Bedarf zusätzliche Funktionalitäten auf der Basisversion hinzuzufügen. Die Konfiguration wird in einer deklarativen Darstellung definiert, die das YAML-Format verwendet, und umfasst Bereiche wie die Anbindung externen Repositories, die Aktivierung von Yocto-Modulen, das Management der Abhängigkeiten zwischen den Komponenten der Distribution, die Anwendung zusätzlicher Patches und die Anpassung der standardmäßigen Systemeinstellungen.

Quelle: opennet.ru

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