La société Igalia a présenté Moonforge, une distribution pour systèmes embarqués

La société Igalia, connue pour sa participation au développement de projets libres tels que GNOME, GTK, WebKitGTK, Epiphany, Maemo, GStreamer, Wine, Mesa et freedesktop.org, a présenté le projet Moonforge, qui simplifie la création et le maintien de distributions Linux personnalisées pour divers appareils et systèmes embarqués. Le contenu de la distribution est constitué à partir d'outils de construction et de métadonnées de projets OpenEmbedded et Yocto. Les développements spécifiques au projet sont diffusés sous licence MIT.

Moonforge offre aux développeurs et intégrateurs systèmes une structure, un ensemble de fichiers de configuration et une collection de composants pour créer des images système pouvant être mises à jour de manière atomique, basées sur des technologies déjà éprouvées et largement utilisées dans l'industrie, telles que yocto, bitbake et kas. Un processus simplifié de mise à jour des images générées est pris en charge, garantissant un long cycle de maintenance. L'objectif principal du projet est de fournir aux développeurs de systèmes embarqués des outils pratiques, leur permettant de se concentrer sur le développement des fonctionnalités spécifiques de leur produit sans perdre de temps sur des tâches liées à la création et à la maintenance de la distribution.

L'image système est composée d'un ensemble de modules Yocto prêts à l'emploi. Chaque module est responsable d'une fonctionnalité particulière ou du support d'une plateforme matérielle cible spécifique. Par exemple, des modules sont proposés pour la prise en charge de Docker, QEMU ou Podman, la gestion des mises à jour via RAUC, et la création d'une interface graphique basée sur le compositeur. de serveurs Weston, lancer une interface de navigateur basée sur Webkit pour des kiosques Internet et une compilation pour les cartes Raspberry Pi 4 et 5.

Trois canaux de diffusion des releases sont supportés : stable (branche LTS stable), next (branche dans laquelle se développe la prochaine release LTS) et main (branche expérimentale en développement). Chaque branche est associée à sa propre version de l'ensemble des composants Yocto. La branche stable est mise à jour une fois par mois et correspond aux releases LTS de Yocto.

Les mises à jour sont livrées par OTA (Over-The-Air) en utilisant l'outil Mender et sont installées de manière atomique par remplacement complet de tout le système. Deux partitions racines identiques sont créées sur le stockage — active et passive. La nouvelle mise à jour est installée dans la partition passive, sans affecter le fonctionnement de l'active. Après le redémarrage, les partitions échangent leurs rôles — la partition avec la nouvelle mise à jour devient active, tandis que l'ancienne partition active est mise en mode passif et attend la prochaine mise à jour. Si quelque chose ne va pas après la mise à jour, un retour à l'ancienne version du système est effectué.

Pour créer des images systèmes, l'outil BitBake est utilisé, tandis que la configuration et les constructions reproductibles sont assurées par kas. Les constructions, mises à jour, rapports sur les vulnérabilités et métadonnées SBOM (Software Bill of Materials) sont automatiquement rassemblés et publiés à l'aide de systèmes d'intégration continue et de déploiement continu (CI/CD). L'infrastructure de construction basée sur Moonforge peut être déployée à la fois sur des environnements locaux serveurs, ainsi que sur des environnements cloud publics ou privés.

Pour la transparence et la prévisibilité des processus de création de produits dérivés, une séparation stricte entre les composants en amont et en aval est appliquée dans la distribution, permettant aux développeurs d'ajouter, si nécessaire, des fonctionnalités supplémentaires sur la base. La configuration est définie dans une représentation déclarative, utilisant le format YAML, et couvre des domaines tels que la connexion de dépôts externes, l'activation de modules Yocto, la gestion des dépendances entre les composants de la distribution, l'application de patches supplémentaires et la modification des paramètres système appliqués par défaut.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster