L'azienda Qualcomm ha presentato la distribuzione Linux Qualcomm Linux 2.0, che fornisce uno stack software ottimizzato per le piattaforme IoT Qualcomm Dragonwing. Il progetto implementa una distribuzione unificata che consente di creare rapidamente soluzioni per vari SoC Qualcomm, come QCS5430, QCS6490, IQ-8275, IQ-9075 e IQ-615. Come base, Qualcomm Linux utilizza strumenti e pacchetti meta dei progetti Yocto e OpenEmbedded, arricchiti con patch, driver, firmware, pacchetti e file di configurazione per supportare i blocchi hardware specifici utilizzati nei chip Qualcomm.
La distribuzione si sviluppa utilizzando un modello di sviluppo aperto e trasmette le modifiche apportate ai progetti upstream. I componenti proprietari di Qualcomm sono integrati nella distribuzione come sovrapposizioni modulari chiaramente designate. Lo stack software offerto supporta tutti i processori, sottosistemi e componenti della piattaforma Qualcomm, inclusi CPU, GPU e vari acceleratori hardware per AI, elaborazione dati e operazioni multimediali (VPU, DPU, NPU, DSP). Oltre all'ambiente utente basato su Yocto, è incluso un bootloader con supporto per il boot verificato, firmware UEFI e pacchetti supportati dagli ingegneri Qualcomm con il kernel Linux, che comprendono driver aggiuntivi e patch.
La piattaforma è considerata completamente pronta per la creazione di sistemi operativi basati sull'hardware Qualcomm. Sono fornite funzionalità come supporto per la virtualizzazione, gestione degli accessi mandate tramite SELinux, test di tutti i componenti su hardware di riferimento, lungo ciclo di supporto dei pacchetti per tutte le piattaforme supportate, possibilità di integrazione di BSP (Board Support Package) e livelli OEM personalizzati. Per gli aggiornamenti può essere utilizzata la riscrittura dell'immagine di sistema o la consegna automatica degli aggiornamenti in modalità OTA. 
Il rilascio di Qualcomm Linux 2.0 è notevole per la transizione all'uso della piattaforma Yocto 6.0 e l'impiego del kernel Linux 6.18 (in precedenza erano utilizzati Yocto 5.0 e kernel 6.6). Nel pacchetto principale sono incluse funzionalità per l'esecuzione di applicazioni in tempo reale (il kernel è compilato con supporto PREEMPT_RT). Invece di due varianti di distribuzione assistite separatamente, 'Base' e 'Custom', è stato proposto uno stack unificato con un unico kernel comune e ambiente di sistema (rootfs).
È aumentata la trasparenza dei processi di sviluppo: i rilasci ora vengono effettuati pubblicamente su GitHub utilizzando un sistema aperto di integrazione continua e con un calendario di pubblicazione degli aggiornamenti prevedibile. È stata riorganizzata la creazione di overlay modulari con integrazioni, ora basati su un'unica base di codice aperto, invece che su versioni separate per build aperte e proprietarie. Oltre ai SoC precedentemente supportati QCS5430, QCS6490, IQ9075, IQ8275 e IQ615, è stato aggiunto il supporto per la piattaforma IQ-X per computer industriali.
I meta-pacchetti con funzionalità di base vengono ora sviluppati in repository pubblicamente accessibili e sono aperti a modifiche di partecipanti esterni, creazione di fork o utilizzo prima dei rilasci. Tra i meta-pacchetti ci sono: meta-qcom (strato per supporto hardware), meta-qcom-distro (struttura del distribuzione, script per la creazione di immagini di sistema e configurazione), meta-qcom-3rdparty (componenti per supporto di piattaforme di terze parti) e meta-qcom-releases (build riproducibili di rilasci), meta-selinux (controllo degli accessi mandatorio tramite SELinux), meta-updater (aggiornamenti OTA basati su OSTree), meta-security (meccanismi aggiuntivi per rafforzare la sicurezza di base e audit), meta-virtualization (Docker, Kubernetes, KVM).
Oltre ai meta-pacchetti, sono disponibili overlay, set versionati di moduli kernel e librerie per supportare funzionalità avanzate. L'installazione di un overlay porta all'installazione dei corrispondenti moduli kernel ottimizzati e librerie sopra un ambiente di base standard senza modificarlo. Tra gli overlay disponibili:
- gestione dell'audio (AudioReach e accelerazione hardware dell'elaborazione audio);
- gestione della fotocamera (camX ISP);
- elaborazione grafica (accelerazione OpenGL ES, OpenCL e Vulkan su GPU Adreno);
- elaborazione video (utilizzo di VPU Iris per accelerare la codifica e decodifica video);
- supporto ai sensori (integrazione del Qualcomm Sensor Hub);
- soluzione di problemi di visione artificiale (accelerazione di FastCV su DSP/Adreno).
Fonte: opennet.ru
