Компания Collabora представи Linux дистрибуцията Apertis 2024.3, първоначално създадена за оборудване на автомобилни устройства, но впоследствие преориентирана за по-широк спектър от електронни устройства, вградена техника и промишлено оборудване. Сред устройствата, в които се използва Apertis, се открояват игровата конзола Atari VCS и скенерът за откриване на обекти в стени Bosch D-tect 200.
Основните системни образи се разпространяват за архитектури x86_64, arm64 и armhf. Дистрибуцията е модулна, което позволява на производителите на устройства самостоятелно да съставят необходимата конфигурация на системната среда. Поддържат се както форматиране на сборки на база традиционни deb пакети, така и монолитни атомарно обновяеми образи базирани на OSTree.
В основата на изграждането на дистрибуцията е пакетната база Debian GNU/Linux 12, но конфигурацията е съставена с оглед на рисковете, които могат да възникнат за производителите на оборудване при използването на някои свободни лицензи, като GPLv3, които забраняват тивизация, т.е. привързването на софтуера към оборудването, например чрез разрешаването на зареждането само на фърмуер, удостоверен с цифров подпис от производителя.
При разработката и формированието на конфигурацията на дистрибуцията, проектът Apertis следва правилата на Debian и включва само приложения, предоставяни под отворени лицензи или поне допускащи свободно разпространение. Компаниите, които създават своите продукти на база Apertis, могат да бъдат уверени в лицензионната чистота на производните произведения — за всяка сборка се формулира SBOM отчет (Software Bill of Materials), в който е посочена информация за лицензите на всичките използвани файлове с код, както и данни за версиите на програмите, което е удобно при проверка на уязвими версии.
Важно е, че Apertis позволява да се създаде сборка, която не включва код под лицензите на семейството GPLv3. Вместо остарели версии на инструменти от GNU, създадени преди преминаването на GPLv3, в Apertis се използват по-модерни алтернативи с разрешителни лицензи. Например, вместо пакетите GNU coreutils и findutils в Apertis са предложени аналози от проекта uutils, написани на Rust и разпространявани под лиценз MIT, а вместо GnuPG се предоставя Sequoia-PGP под лицензите GPL-2+ и LGPL-2+. За тези, които не се интересуват от правните въпроси, свързани с GPLv3, остава възможността да се използват традиционни набори от инструменти.
Всички компоненти на Apertis редовно преминават разширено автоматизирано и ръчно тестване на еталонни хардуерни платформи, като платката Raspberry Pi 4 и автомобилните SoC R-car, а резултатите от тези тестове се публикуват в отворен достъп. Автоматизираното тестване на системни сборки на еталонно оборудване се организира с помощта на системата LAVA (Linaro Automated Validation Architecture).
Предложеният в дистрибутива пакет с ядрото е базиран на свежата LTS клонка на ядрото на Linux. Например, в изданието Apertis 2024.3 е използвано ядро 6.6, а не ядро 6.1 от пакетите Debian 12. Времето за поддръжка на всяко издание на Apertis е 1 година и 9 месеца, като на всеки три месеца се създава коригиращ релийз с поправки на грешки.
Дистрибутивът включва над 5000 пакета. Всички пакети, образи, инструменти и конфигурации се развиват в публичен git репозиторий. За сътрудничество се използва GitLab, а за тестване с помощта на непрекъсната интеграция — GitLab CI. За изграждане на бинарни пакети от изходен код се използва инструментарият OBS (Open Build Service). Събраните пакети се разпространяват чрез APT репозитории, управлявани с помощта на инструментария aptly.

От новите възможности в Apertis 2024, освен преминаването на пакетна база Debian 12 и ново ядро на Linux, се споменава:
- Подкрепа за управление на контейнери в формат OCI с помощта на инструментария Podman.
- Възможност за използване на ONNX Runtime за ускоряване на задачи по машинно обучение.
- Подкрепа за разработените от проекта OP-TEE пакети optee-os (OP-TEE Trusted OS), optee-client (OP-TEE Client API) и optee-test (OP-TEE Test suite) за формиране на защитени среди (TEE, Trusted Execution Environment), изолирани от основната система.
- Началната поддръжка на платката TI SK-AM62 и създаването на отделни системни образи за нея.
- По подразбиране, при компилиране на пакети, е включен извеждането на допълнителни предупреждения от компилатора.
- Подобрена е системата за компилиране. Добавен е инструмент за генериране на отчет за разлики в зададените системни образи. Подобрени са SBOM отчетите за анализ на лицензи и оценка на зависимостите при компилиране.
- Разширени са средствата за тестване. Добавена е поддръжка за тестване на пакети след всяко merge-заявление. Подобрени са отчетите за контрол на качеството.
Източник: opennet.ru
