La empresa Collabora ha presentado la distribución de Linux Apertis 2024.3, inicialmente diseñada para equipar dispositivos automotrices, pero luego reorientada para una gama más amplia de dispositivos electrónicos, equipos integrados y maquinaria industrial. Entre los dispositivos que utilizan Apertis se destacan la consola de juegos Atari VCS y el escáner para detección de objetos en paredes Bosch D-tect 200.
Las imágenes del sistema básico se distribuyen para arquitecturas x86_64, arm64 y armhf. La distribución es modular, lo que permite a los fabricantes de dispositivos configurar el entorno de sistema necesario. Se admite tanto la creación de ensamblajes basados en paquetes deb tradicionales como imágenes monolíticas atómicamente actualizables basadas en OSTree.
La base para la construcción de la distribución se fundamenta en la base de paquetes Debian GNU/Linux 12, pero su contenido se ha formado teniendo en cuenta los riesgos que pueden enfrentar los fabricantes de hardware al utilizar ciertas licencias libres, como la GPLv3, que prohíben la tivoización, es decir, la atadura del software al hardware, por ejemplo, a través de la autorización de solo cargar firmware que esté firmado digitalmente por el fabricante.
En el desarrollo y formación del contenido de la distribución, el proyecto Apertis se adhiere a las normas de Debian, e incluye solo aplicaciones que se distribuyen bajo licencias abiertas o que al menos permiten la redistribución libre. Las empresas que crean sus productos basados en Apertis pueden estar seguras de la limpieza de licencias de los trabajos derivados: para cada ensamblaje se genera un informe SBOM (Software Bill of Materials) que detalla la información sobre las licencias de todos los archivos de código utilizados, así como datos sobre las versiones de los programas, lo que resulta útil para verificar versiones vulnerables.
Una característica importante de Apertis es la posibilidad de crear una compilación que no incluya código bajo las licencias de la familia GPLv3. En lugar de utilizar versiones obsoletas de herramientas GNU, formadas antes de la transición a la licencia GPLv3, Apertis emplea alternativas más modernas bajo licencias permisivas. Por ejemplo, en lugar de los paquetes GNU coreutils y findutils, Apertis ofrece análogos del proyecto uutils, escritos en Rust y distribuidos bajo la licencia MIT, mientras que en lugar de GnuPG se proporciona Sequoia-PGP bajo las licencias GPL-2+ y LGPL-2+. Al mismo tiempo, para aquellos a quienes no les preocupan las cuestiones legales relacionadas con GPLv3, se ha mantenido la opción de usar los conjuntos de herramientas tradicionales.
Todos los componentes de Apertis son sometidos regularmente a pruebas automatizadas y manuales extensivas en plataformas de hardware de referencia, como las placas Raspberry Pi 4 y los SoC automotrices R-car, y los resultados de dichas pruebas se publican abiertamente. Las pruebas automatizadas de las compilaciones del sistema en el equipo de referencia se gestionan a través del sistema LAVA (Linaro Automated Validation Architecture).
El paquete con el núcleo incluido en la distribución se basa en la rama LTS más reciente del núcleo Linux. Por ejemplo, en la versión Apertis 2024.3 se utiliza el núcleo 6.6, en lugar del núcleo 6.1 de los paquetes Debian 12. El tiempo de soporte para cada versión de Apertis es de 1 año y 9 meses, y cada tres meses se genera una versión de corrección para solucionar errores.
La distribución incluye más de 5000 paquetes. Todos los paquetes, imágenes, utilidades y configuraciones se desarrollan en un repositorio git público. Para la colaboración se utiliza GitLab, y para las pruebas mediante integración continua — GitLab CI. Para ensamblar paquetes binarios a partir del código fuente se emplea la herramienta OBS (Open Build Service). Los paquetes compilados se distribuyen a través de los repositorios APT, gestionados con la herramienta aptly.

Entre las nuevas características de Apertis 2024, además de la transición a la base de paquetes Debian 12 y un nuevo núcleo de Linux, se menciona:
- Soporte para la gestión de contenedores en formato OCI mediante la herramienta Podman.
- La capacidad de utilizar ONNX Runtime para acelerar tareas de aprendizaje automático.
- Soporte para paquetes de OP-TEE en desarrollo, como optee-os (OP-TEE Trusted OS), optee-client (API de cliente OP-TEE) y optee-test (suite de pruebas OP-TEE) para crear entornos seguros (TEE, Trusted Execution Environment), aislados del sistema principal.
- Soporte inicial para la placa TI SK-AM62 y formación de imágenes del sistema separadas para ella.
- Por defecto, al compilar paquetes se incluye la salida de advertencias adicionales del compilador.
- Se mejoró el sistema de construcción. Se agregó una herramienta para generar informes de diferencias en las imágenes del sistema especificadas. Se mejoraron los informes SBOM para el análisis de licencias y la evaluación de dependencias de construcción.
- Se ampliaron las herramientas de prueba. Se agregó soporte para probar paquetes después de cada solicitud de fusión. Se mejoraron los informes para controlar la calidad.
Fuente: opennet.ru
