La société Collabora a présenté la distribution Linux Apertis 2024.3, initialement conçue pour équiper des dispositifs automobiles, mais ensuite réorientée vers un éventail plus large de dispositifs électroniques, d'équipements intégrés et de matériel industriel. Parmi les dispositifs utilisant Apertis, on peut citer la console de jeux Atari VCS et le scanner de détection d'objets dans les murs Bosch D-tect 200.
Les images système de base sont distribuées pour les architectures x86_64, arm64 et armhf. La distribution est modulaire, ce qui permet aux fabricants de dispositifs de former eux-mêmes le contenu nécessaire de l'environnement système. Elle prend en charge à la fois la création de constructions basées sur des paquets deb traditionnels et des images monolithiques mises à jour de manière atomique basées sur OSTree.
La base du système d'exploitation pour construire la distribution repose sur la base de paquets Debian GNU/Linux 12, mais le contenu a été formé en tenant compte des risques pouvant survenir pour les fabricants de matériel lors de l'utilisation de certaines licences libres, comme la GPLv3, qui interdisent la tivoisation, c'est-à-dire l'attachement du logiciel au matériel, par exemple, en n'autorisant que le chargement de firmware certifiés par la signature numérique du fabricant.
Lors du développement et de la constitution du contenu de la distribution, le projet Apertis respecte les règles de Debian et ne comprend que des applications fournies sous des licences ouvertes ou, au minimum, permettant une distribution libre. Les entreprises créant leurs produits sur la base d'Apertis peuvent être assurées de la conformité des licences des travaux dérivés — pour chaque version, un rapport SBOM (Software Bill of Materials) est établi, indiquant les informations sur les licences de tous les fichiers de code utilisés, ainsi que les données sur les versions des programmes, ce qui est pratique pour vérifier les versions vulnérables.
Une caractéristique importante d'Apertis est la possibilité de créer une build sans inclure de code sous les licences de la famille GPLv3. Au lieu d'utiliser des versions obsolètes des utilitaires GNU, créées avant le passage à la licence GPLv3, Apertis utilise des alternatives plus modernes sous des licences permissives. Par exemple, au lieu des paquets GNU coreutils et findutils, Apertis propose des équivalents du projet uutils, écrits en Rust et distribués sous la licence MIT, tandis que Sequoia-PGP est proposé à la place de GnuPG sous les licences GPL-2+ et LGPL-2+. Par ailleurs, pour ceux qui ne sont pas préoccupés par les questions juridiques liées à la GPLv3, la possibilité d'utiliser des ensembles d'outils traditionnels est maintenue.
Tous les composants d'Apertis sont régulièrement soumis à des tests automatisés et manuels étendus sur des plateformes matérielles de référence, telles que les cartes Raspberry Pi 4 et les SoC R-car, et les résultats de ces tests sont publiés en accès libre. Les tests automatisés des builds système sur du matériel de référence sont organisés sur la base du système LAVA (Linaro Automated Validation Architecture).
Le paquet du noyau proposé dans la distribution est basé sur la dernière branche LTS du noyau Linux. Par exemple, la version d'Apertis 2024.3 utilise le noyau 6.6, et non le noyau 6.1 des paquets Debian 12. La durée de maintenance de chaque version d'Apertis est de 1 an et 9 mois, avec un release correctif tous les trois mois pour résoudre les bogues.
La distribution comprend plus de 5000 paquets. Tous les paquets, images, utilitaires et configurations sont développés dans un dépôt git public. GitLab est utilisé pour la collaboration, et pour les tests avec intégration continue — GitLab CI. L'outil OBS (Open Build Service) est utilisé pour construire les paquets binaires à partir du code source. Les paquets construits sont distribués via des dépôts APT, gérés à l'aide de l'outil aptly.

Parmi les nouvelles fonctionnalités d'Apertis 2024, en plus du passage à la base de paquets Debian 12 et du nouveau noyau Linux, on mentionne :
- Prise en charge de la gestion des conteneurs au format OCI via l'outil Podman.
- Possibilité d'utiliser ONNX Runtime pour accélérer les tâches d'apprentissage automatique.
- Prise en charge des paquets optee-os (OP-TEE Trusted OS), optee-client (API Client OP-TEE) et optee-test (suite de tests OP-TEE) développés par le projet OP-TEE pour créer des environnements de confiance (TEE, Trusted Execution Environment), isolés du système principal.
- Prise en charge initiale de la carte TI SK-AM62 et création d'images système distinctes pour celle-ci.
- Par défaut, lors de la construction des packages, la sortie des avertissements supplémentaires du compilateur est activée.
- Système de construction amélioré. Ajout d'un utilitaire pour générer un rapport sur les différences dans les images système spécifiées. Les rapports SBOM pour l'analyse des licences et l'évaluation des dépendances de construction ont été améliorés.
- Les outils de test ont été étendus. Ajout de la prise en charge des tests de packages après chaque demande de fusion. Les rapports pour le contrôle de la qualité ont été améliorés.
Source : opennet.ru
