A Collabora revelou o projeto Holo Core, que desenvolveu em colaboração com a Valve para criar uma versão da distribuição Arch. Linux para a plataforma AArch64. O Holo Core foi criado para executar o SteamOS no Steam Frame, um dispositivo que combina um computador pessoal, um headset 3D e dois controladores 3D. O desenvolvimento do Holo Core foi necessário devido à distribuição Arch. LinuxA plataforma SteamOS está disponível apenas para a arquitetura x86_64, enquanto o Steam Frame é baseado em um chip Snapdragon 8, que utiliza a arquitetura ARM64. O código-fonte de pacotes adaptados para a arquitetura ARM64, bem como pacotes binários pré-compilados e uma imagem de contêiner Docker, estão disponíveis para testes.
O principal objetivo do projeto é construir uma infraestrutura de integração contínua para organizar builds automatizados que monitore o estado de repositórios Arch continuamente atualizados. Linux e definindo as dependências necessárias. Além de criar patches necessários para que alguns pacotes funcionassem em sistemas Aarch64, o projeto exigiu a resolução de diversos problemas.
Alguns dos problemas são causados pelo fato de o repositório do Arch ser atualizado continuamente. Linux O novo estado de alguns pacotes está vinculado ao antigo, e a reconstrução exige a reprodução de toda a cadeia de estados (por exemplo, reconstruir o Rust 1.91 requer o Rust 1.90, que por sua vez requer o Rust 1.89, e assim por diante). Uma situação semelhante é observada para bibliotecas que estão vinculadas à cadeia de ferramentas de compilação (por exemplo, icu e gpgme, usadas no pacman) — se essas bibliotecas forem atualizadas, as versões antiga e nova devem estar presentes para que a reconstrução seja bem-sucedida.
Outra limitação era a incerteza quanto à ordem de compilação no repositório Git do Arch. Linux Os pacotes são frequentemente adicionados fora de sequência, o que torna a reconstrução automatizada inadequada sem o recálculo de toda a cadeia de dependências. Além disso, as tentativas de compilar versões antigas são dificultadas por mudanças na infraestrutura do projeto upstream — o código-fonte pode ser movido, o projeto pode ser migrado para um serviço de hospedagem Git diferente, os checksums do código Git podem mudar devido à substituição de hashes curtos por hashes longos e os downloads automatizados podem ser bloqueados por proteção anti-bot.
O conjunto de ferramentas de CI desenvolvido pelo projeto Holo Core é capaz de calcular a árvore de dependências completa e reproduzir o histórico de compilação do Arch. Linux Desde a inicialização até o estado final, abrangendo todas as reconstruções intermediárias necessárias. A versão de teste publicada corresponde às versões dos pacotes no repositório do Arch. Linux A partir de 18 de novembro de 2025, trata-se de uma espécie de protótipo que demonstra a prontidão da infraestrutura criada para a formação de produtos finais.
Após a depuração do sistema, está previsto sincronizá-lo com as versões dos pacotes utilizadas no desenvolvimento de futuras versões do SteamOS para a arquitetura x86_64. O código das ferramentas de CI desenvolvidas será publicado sob uma licença aberta e disponibilizado para implementação no projeto Arch. Linux, que atualmente carece de infraestrutura de CI. Eles também planejam contribuir com trabalho para o projeto principal, a fim de criar uma versão oficial para Arch. Linux para a arquitetura AArch64.
Fonte: opennet.ru
