Das Unternehmen Qualcomm hat die Linux-Distribution Qualcomm Linux 2.0 vorgestellt, die einen Software-Stack bereitstellt, der für IoT-Plattformen von Qualcomm Dragonwing optimiert ist. Das Projekt implementiert eine einheitliche Distribution, die es ermöglicht, schnell Lösungen für verschiedene Qualcomm SoCs wie QCS5430, QCS6490, IQ-8275, IQ-9075 und IQ-615 zu entwickeln. Als Grundlage nutzt Qualcomm Linux Werkzeuge und Metapakete aus den Projekten Yocto und OpenEmbedded, ergänzt durch Patches, Treiber, Firmware, Pakete und Konfigurationsdateien zur Unterstützung spezifischer Hardwareblöcke, die in Qualcomm-Chips verwendet werden.
Die Distribution entwickelt sich unter Verwendung eines offenen Entwicklungsmodells und überträgt vorbereitete Änderungen in Upstream-Projekte. Proprietäre Komponenten von Qualcomm werden in der Distribution in Form von deutlich gekennzeichneten modularen Overlay-Systemen integriert. Der angebotene Software-Stack unterstützt alle Prozessoren, Subsysteme und Komponenten der Qualcomm-Plattform, einschließlich CPU, GPU und verschiedener Hardwarebeschleuniger für KI, Datenverarbeitung und Multimedia-Operationen (VPU, DPU, NPU, DSP). Neben der Benutzerumgebung basierend auf Yocto enthält das Paket einen Bootloader mit der Möglichkeit der verifizierten Boot, UEFI-Firmware sowie von Qualcomm unterstützte Pakete mit dem Linux-Kernel, die zusätzliche Treiber und Patches umfassen.
Die Plattform wird als vollständig bereit angesehen für die Entwicklung von Betriebssystemen auf Basis von Qualcomm-Hardware. Es werden Funktionen wie Unterstützung für Virtualisierung, verpflichtende Zugriffskontrolle mittels SELinux, Tests aller Komponenten auf Referenzhardware, ein längerer Begleitzyklus für Pakete für alle unterstützten Plattformen sowie die Möglichkeit zur Integration eigener BSP (Board Support Package) und OEM-Schichten bereitgestellt. Zur Aktualisierung kann entweder das Systemimage neu geschrieben oder die automatische Lieferung von Updates im OTA-Modus verwendet werden. 
Die Veröffentlichung von Qualcomm Linux 2.0 ist bemerkenswert durch den Wechsel zur Nutzung der Plattform Yocto 6.0 und den Einsatz des Linux-Kernels 6.18 (früher wurden Yocto 5.0 und Kernel 6.6 verwendet). In die Hauptdistribution sind Funktionen zur Ausführung von Anwendungen im Echtzeitbetrieb integriert (der Kernel ist mit Unterstützung für PREEMPT_RT kompiliert). Anstelle von zwei separat betreuten Varianten der Distribution „Base“ und „Custom“ wird ein einheitlicher Stack mit einem gemeinsamen Kernel und Betriebssystemumgebung (rootfs) angeboten.
Die Transparenz der Entwicklungsprozesse wurde erhöht: Die Releases werden jetzt nicht mehr hinter verschlossenen Türen, sondern öffentlich auf GitHub mit einem offenen Continuous-Integration-System und einem vorhersehbaren Zeitplan für die Veröffentlichung von Updates erstellt. Die Organisation der Erstellung modularer Overlays mit Ergänzungen wurde überarbeitet, die nun auf einer einzigen offenen Codebasis erstellt werden, und nicht mehr mit einer Trennung zwischen offenen und proprietären Builds. Neben den zuvor unterstützten SoCs QCS5430, QCS6490, IQ9075, IQ8275 und IQ615 wurde die Unterstützung der IQ-X-Plattform für Industriecomputer hinzugefügt.
Meta-Pakete mit grundlegender Funktionalität werden jetzt in öffentlich zugänglichen Repositories entwickelt und sind offen für Änderungen von Dritten, zum Erstellen von Forks oder zur Nutzung, ohne auf Releases warten zu müssen. Zu den solchen Meta-Paketen gehören: meta-qcom (Layer zur Unterstützung von Hardware), meta-qcom-distro (Framework für Distributionen, Skripte zur Erstellung von System-Images und Konfigurationen), meta-qcom-3rdparty (Komponenten zur Unterstützung von Drittplattformen) und meta-qcom-releases (reproduzierbare Builds von Releases), meta-selinux (mandantengestützte Zugriffskontrolle über SELinux), meta-updater (OTA-Updates auf Basis von OSTree), meta-security (zusätzliche Mechanismen zur Verbesserung der Sicherheit und Auditierung), meta-virtualization (Docker, Kubernetes, KVM).
Neben den Meta-Paketen werden Overlays angeboten, die separat gelieferte versionierte Sätze mit Kernel-Modulen und Bibliotheken zur Unterstützung erweiterten Funktionalitäten enthalten. Die Installation eines Overlays führt zur Installation der entsprechenden optimierten Kernel-Module und Bibliotheken über das Standard-Basissystem, ohne dieses zu ändern. Zu den verfügbaren Overlays gehören:
- Arbeiten mit Audio (AudioReach und Hardwarebeschleunigung der Audioverarbeitung);
- Kamerasteuerung (camX ISP);
- Grafikverarbeitung (Beschleunigung von OpenGL ES, OpenCL und Vulkan auf GPU Adreno);
- Videoverarbeitung (Verwendung von VPU Iris zur Beschleunigung der Video-Codierung und -Dekodierung);
- Unterstützung von Sensoren (Integration des Qualcomm Sensor Hub);
- Lösungen für Computer Vision (Beschleunigung von FastCV auf DSP/Adreno).
Quelle: opennet.ru
