Collabora ha presentado el proyecto Holo Core, que desarrolló en colaboración con Valve para crear una versión de la distribución Arch. Linux para la plataforma AArch64. Holo Core fue creado para ejecutar SteamOS en el Steam Frame, un dispositivo que combina una computadora personal, un casco 3D y dos controladores 3D. El desarrollo de Holo Core fue necesario debido a la distribución Arch. LinuxLa plataforma SteamOS solo está disponible para la arquitectura x86_64, mientras que el Steam Frame se basa en un chip Snapdragon 8, que utiliza la arquitectura ARM64. El código fuente de los paquetes adaptados a la arquitectura ARM64, así como los paquetes binarios precompilados y una imagen de contenedor Docker, están disponibles para su prueba.
El objetivo principal del proyecto es construir una infraestructura de integración continua para organizar compilaciones automatizadas que supervise el estado de los repositorios de Arch que se actualizan continuamente. Linux y definiendo las dependencias necesarias. Además de crear los parches necesarios para que algunos paquetes funcionaran en sistemas Aarch64, el proyecto requirió la resolución de varios problemas.
Algunos de los problemas se deben a que el repositorio de Arch se actualiza continuamente. Linux El nuevo estado de algunos paquetes está vinculado al anterior, y la reconstrucción requiere reproducir toda la cadena de estados (por ejemplo, reconstruir rust 1.91 requiere rust 1.90, que a su vez requiere rust 1.89, y así sucesivamente). Se observa una situación similar con las bibliotecas vinculadas a la cadena de herramientas de compilación (por ejemplo, icu y gpgme, utilizadas en pacman): si estas bibliotecas se actualizan, tanto la versión antigua como la nueva deben estar presentes para una reconstrucción exitosa.
Otra limitación fue la incertidumbre con el orden de compilación, en el repositorio Git de Arch. Linux Los paquetes suelen añadirse fuera de secuencia, lo que hace que la reconstrucción automatizada no sea viable sin recalcular toda la cadena de dependencias. Además, los intentos de compilar versiones antiguas se ven obstaculizados por cambios en la infraestructura del proyecto original: el código fuente puede cambiar de ubicación, el proyecto puede trasladarse a un servicio de alojamiento Git diferente, las sumas de comprobación del código Git pueden modificarse debido a que los hashes cortos se reemplazan por hashes largos, y las descargas automatizadas pueden ser bloqueadas por la protección antibot.
El conjunto de herramientas de integración continua desarrollado por el proyecto Holo Core es capaz de calcular el árbol de dependencias completo y reproducir el historial de compilación de Arch. Linux Desde el arranque inicial hasta el estado final, abarcando todas las reconstrucciones intermedias necesarias. La versión de prueba publicada corresponde a las versiones de los paquetes en el repositorio de Arch. Linux A fecha de 18 de noviembre de 2025, se trata de una especie de prototipo que demuestra la preparación de la infraestructura creada para la elaboración de productos finales.
Una vez depurado el sistema, se prevé sincronizarlo con las versiones de paquetes utilizadas en el desarrollo de futuras versiones de SteamOS para la arquitectura x86_64. El código de las herramientas de integración continua desarrolladas se publicará bajo una licencia abierta y se ofrecerá para su implementación en el proyecto Arch. Linux, que actualmente carece de infraestructura de CI. También planean contribuir con trabajo al proyecto principal para crear un puerto oficial de Arch. Linux para la arquitectura AArch64.
Fuente: opennet.ru
