Компания Qualcomm представи Linux дистрибуция Qualcomm Linux 2.0, предоставяща софтуерен стек, оптимизиран за IoT платформи Qualcomm Dragonwing. Проектът реализира унифицирана дистрибуция, позволяваща бързо създаване на решения за различни SoC Qualcomm, като QCS5430, QCS6490, IQ-8275, IQ-9075 и IQ-615. В основата на Qualcomm Linux са използвани инструменти и мета пакети от проектите Yocto и OpenEmbedded, допълнени с пачове, драйвери, фърмуери, пакети и конфигурационни файлове за поддръжка на специфични хардуерни блокове, използвани в чиповете Qualcomm.
Дистрибуцията се развива с използването на отворена модел на разработка и предава подготвени промени в upstream проектите. Проприетарните компоненти Qualcomm се интегрират в дистрибуцията под формата на ясно отделени модулни оверлеи. Предложеният софтуерен стек поддържа всички процесори, подсистеми и компоненти на платформата Qualcomm, включително CPU, GPU и различни хардуерни ускорители за AI, обработка на данни и мултимедийни операции (VPU, DPU, NPU, DSP). Освен потребителска среда на базата на Yocto, включва зареждач с възможност за проверка на зареждането, UEFI фърмуер и поддържани от инженерите на Qualcomm пакети с Linux ядро, включващи допълнителни драйвери и пачове.
Платформата е отбелязана като напълно готова за изграждане на работни системи на базата на хардуер Qualcomm. Предоставят се такива възможности, като поддръжка на виртуализация, мандатно управление на достъпа с помощта на SELinux, тестване на всички компоненти на референтен хардуер, дълъг цикъл на поддръжка на пакети за всички поддържани платформи, възможност за интеграция на собствени BSP (Board Support Package) и OEM слоеве. За обновяване може да се прилага презапис на системния образ или автоматична доставка на обновления в режим OTA. 
Издаването на Qualcomm Linux 2.0 е забележително с преминаването на използването на платформата Yocto 6.0 и включването на Linux ядро 6.18 (по-рано са били използвани Yocto 5.0 и ядро 6.6). В основния състав са вградени възможности за изпълнение на приложения в реално време (ядрото е събрано с поддръжка на PREEMPT_RT). Вместо две отделно поддържани версии на дистрибуцията „Base“ и „Custom“ е предложен унифициран стек с едно общо ядро и системна среда (rootfs).
Повишена откритост на процесите на разработка: изданията вече се формират не зад затворени врати, а публично в GitHub с използване на отворена система за непрекъсната интеграция и с предвидим график за публикуване на актуализации. Променена е организацията на формирането на модулни.overlay файлове с допълнения, които сега се създават на базата на единна отворена кодова база, а не с разделение на отворени и проприетарни сборки. Освен преди поддържаните SoC QCS5430, QCS6490, IQ9075, IQ8275 и IQ615, е добавена поддръжка на платформата IQ-X за индустриални компютри.
Мета-пакетите с основна функционалност вече се развиват в публично достъпни репозитории и са отворени за приемане на промени от трети участници, създаване на форкове или ползване, без да се чака издаването на нови версии. Сред подобни мета-пакети са: meta-qcom (слой за поддръжка на оборудването), meta-qcom-distro (рамка на дистрибуцията, сценарии за сглобяване на системни образи и настройки), meta-qcom-3rdparty (компоненти за поддръжка на трети платформи) и meta-qcom-releases (възпроизведими сборки на издания), meta-selinux (мандатно управление на достъпа чрез SELinux), meta-updater (OTA-актуализации на базата на OSTree), meta-security (допълнителни механизми за усилване на безопасността и одита), meta-virtualization (Docker, Kubernetes, KVM).
Освен мета-пакетите се предлагат overlay файлове, отделно доставяни версиирани набори с модули на ядро и библиотеки за поддръжка на разширени възможности. Инсталацията на overlay файл води до инсталиране на съответните оптимизирани модули на ядро и библиотеки над типичното базово околна среда, без да я променя. Сред наличните overlay файлове са:
- работа със звук (AudioReach и хардуерно ускорение на обработката на звук);
- управление на камерата (camX ISP);
- работа с графика (ускорение на OpenGL ES, OpenCL и Vulkan на GPU Adreno);
- обработка на видео (използване на VPU Iris за ускорение на кодирането и декодирането на видео);
- поддръжка на сензори (интеграция на Qualcomm Sensor Hub);
- решаване на задачи по компютърно зрение (ускорение на FastCV на DSP/Adreno).
Източник: opennet.ru
