Die Firma Collabora hat die Linux-Distribution Apertis 2024.3 vorgestellt, die ursprĂŒnglich fĂŒr die Ausstattung von FahrzeuggerĂ€ten entwickelt wurde, aber spĂ€ter neu ausgerichtet wurde, um ein breiteres Spektrum elektronischer GerĂ€te, eingebetteter Technik und Industrieanlagen zu bedienen. Zu den GerĂ€ten, in denen Apertis verwendet wird, zĂ€hlen die Spielekonsole Atari VCS und der Scanner Bosch D-tect 200 zur Objekterkennung in WĂ€nden.
Die Grundsystemabbilder werden fĂŒr die Architekturen x86_64, arm64 und armhf bereitgestellt. Die Distribution ist modular, was es GerĂ€teherstellern ermöglicht, die erforderliche Systemumgebung selbst zu gestalten. Sowohl traditionelle deb-Paket-basierte Builds als auch monolithische, atomare, aktualisierbare Abbilder auf Basis von OSTree werden unterstĂŒtzt.
Als Grundlage fĂŒr den Aufbau der Distribution wird das Paketrepository Debian GNU/Linux 12 verwendet, wobei die Zusammensetzung unter BerĂŒcksichtigung der Risiken erfolgt, die fĂŒr GerĂ€tehersteller bei der Nutzung bestimmter freier Lizenzen wie GPLv3 auftreten können, die die Tivoisierung, d. h. die Bindung von Software an Hardware, durch EinschrĂ€nkung der Zulassung zur Nutzung nur von digital signierten Firmware durch den Hersteller untersagen.
Bei der Entwicklung und Gestaltung der Distribution hĂ€lt das Projekt Apertis sich an die Richtlinien von Debian und umfasst nur Anwendungen, die unter offenen Lizenzen veröffentlicht werden oder zumindest eine freie Verbreitung zulassen. Unternehmen, die ihre Produkte auf Basis von Apertis entwickeln, können sich der Lizenzreinheit ihrer abgeleiteten Arbeiten sicher sein â fĂŒr jedes Build wird ein SBOM-Bericht (Software Bill of Materials) erstellt, der Informationen ĂŒber die Lizenzen aller verwendeten Code-Dateien sowie Daten zu den Versionen der Software enthĂ€lt, was die ĂberprĂŒfung verletzlicher Versionen erleichtert.
Ein wesentliches Merkmal von Apertis ist die Möglichkeit, ein Bundle zu erstellen, das keinen Code umfasst, der unter den Lizenzen der GPLv3-Familie steht. Anstelle von veralteten Versionen der GNU-Utilities, die vor dem Wechsel zur GPLv3-Lizenz erstellt wurden, verwendet Apertis modernere Alternativen unter permissiven Lizenzen. Zum Beispiel werden anstelle von GNU coreutils und findutils in Apertis Alternativen vom Projekt uutils angeboten, die in Rust geschrieben sind und unter der MIT-Lizenz vertrieben werden. Anstelle von GnuPG wird Sequoia-PGP unter den Lizenzen GPL-2+ und LGPL-2+ bereitgestellt. FĂŒr diejenigen, die sich nicht fĂŒr rechtliche Fragen im Zusammenhang mit der GPLv3 interessieren, bleibt die Verwendung traditioneller Utility-Sets weiterhin möglich.
Alle Komponenten von Apertis werden regelmĂ€Ăig umfangreichen automatisierten und manuellen Tests auf Referenzhardware-Plattformen wie Raspberry Pi 4 und den Automotive SoCs R-car unterzogen, und die Ergebnisse dieser Tests werden öffentlich zugĂ€nglich gemacht. Die automatisierten Tests der Systembundles auf der Referenzhardware werden mit dem LAVA (Linaro Automated Validation Architecture)-System organisiert.
Das im Distribution-Paket angebotene Kernel basiert auf dem aktuellen LTS-Zweig des Linux-Kernels. Zum Beispiel verwendet die Apertis-Version 2024.3 den Kernel 6.6 statt des Kernels 6.1 aus den Debian 12-Paketen. Die UnterstĂŒtzung fĂŒr jede Apertis-Version betrĂ€gt 1 Jahr und 9 Monate, alle drei Monate wird eine korrigierte Version mit Fehlerbehebungen erstellt.
Die Distribution umfasst mehr als 5000 Pakete. Alle Pakete, Images, Utilities und Konfigurationen werden in einem öffentlichen Git-Repository entwickelt. FĂŒr die Zusammenarbeit wird GitLab verwendet, und fĂŒr Tests mit kontinuierlicher Integration kommt GitLab CI zum Einsatz. Der Build von BinĂ€rpaketen aus dem Quellcode erfolgt mit dem OBS (Open Build Service)-Toolset. Die erstellten Pakete werden ĂŒber APT-Repositories verteilt, die mit dem Toolset aptly verwaltet werden.

Zu den neuen Funktionen von Apertis 2024, neben dem Wechsel auf die Debian 12-Paketbasis und dem neuen Linux-Kernel, gehören:
- UnterstĂŒtzung fĂŒr die Verwaltung von Containern im OCI-Format mit dem Toolset Podman.
- Die Möglichkeit, ONNX Runtime zur Beschleunigung von Aufgaben im maschinellen Lernen zu verwenden.
- UnterstĂŒtzung fĂŒr die vom Projekt OP-TEE entwickelten Pakete optee-os (OP-TEE Trusted OS), optee-client (OP-TEE Client API) und optee-test (OP-TEE Test Suite) zur Schaffung sicherer Umgebungen (TEE, Trusted Execution Environment), die von dem Hauptsystem isoliert sind.
- Erste UnterstĂŒtzung fĂŒr das TI SK-AM62-Board und die Erstellung separater Systembilder dafĂŒr.
- StandardmĂ€Ăig ist bei der Paketerstellung die Ausgabe zusĂ€tzlicher Compiler-Warnungen aktiviert.
- Das Build-System wurde verbessert. Ein Tool zur Generierung von Berichten ĂŒber Unterschiede in den angegebenen Systembildern wurde hinzugefĂŒgt. SBOM-Berichte wurden verbessert fĂŒr die Analyse von Lizenzen und die Bewertung von AbhĂ€ngigkeiten.
- Die Testwerkzeuge wurden erweitert. Die UnterstĂŒtzung fĂŒr das Testen von Paketen nach jeder Merge-Anfrage wurde hinzugefĂŒgt. Die Berichte zur QualitĂ€tskontrolle wurden verbessert.
Quelle: opennet.ru
