A Collabora apresentou o Holo Core, um port do Arch Linux para a arquitetura AArch64

A empresa Collabora apresentou o projeto Holo Core, no qual, em conjunto com a empresa Valve, foi preparada uma edição do distribuidor Arch Linux para a plataforma AArch64. O Holo Core foi criado para usar o SteamOS em um dispositivo Steam Frame, que combina um computador pessoal, um headset 3D e dois controladores 3D. O desenvolvimento do Holo Core foi necessário, pois o distribuidor Arch Linux, que serve de base para o SteamOS, está disponível apenas para a arquitetura x86_64, enquanto o dispositivo Steam Frame é construído sobre o chip Snapdragon 8, que utiliza a arquitetura ARM64. Para testes, o código-fonte de pacotes adaptados para a arquitetura ARM64 está disponível, bem como compilações binárias prontas e uma imagem de contêiner no formato Docker.

A principal tarefa do projeto é a construção de uma infraestrutura de integração contínua para a organização de compilações automatizadas, que monitora o estado dos repositórios Arch Linux continuamente atualizados e determina as dependências necessárias. Além da criação de patchs necessários para o funcionamento de alguns pacotes em sistemas Aarch64, durante a implementação do projeto foi preciso resolver vários problemas.

Parte dos problemas é causada pelo fato de que, no repositório continuamente atualizado do Arch Linux, o novo estado de alguns pacotes está atrelado ao antigo, e para a compilação é necessário reproduzir toda a cadeia de estados (por exemplo, para recompilar o rust 1.91, o rust 1.90 deve estar presente, que, por sua vez, requer o rust 1.89, e assim por diante). Uma situação semelhante é observada para bibliotecas das quais dependem as ferramentas de compilação (por exemplo, icu e gpgme, utilizadas no pacman) — no caso de atualização das versões dessas bibliotecas, para uma recompilação bem-sucedida, é necessária a presença tanto da versão antiga quanto da nova.

Outra limitação foi a incerteza na ordem de compilação — no repositório Git do Arch Linux, os pacotes muitas vezes são adicionados de forma não sequencial em uma ordem imprópria para recompilação automatizada sem o recálculo de toda a cadeia de dependências. Além disso, ao tentar compilar versões antigas, as mudanças na infraestrutura dos projetos upstream tornam-se um obstáculo — o código-fonte pode ter sido movido, o projeto pode ter mudado para outro host Git, as somas de verificação do código no Git podem ter mudado devido à troca de hashes curtos por longos, e o upload automatizado pode ser bloqueado por proteções contra bots.

Preparado no âmbito do projeto Holo Core, o toolkit CI é capaz de calcular a árvore completa de dependências e "reproduzir" a história de compilações do Arch Linux desde o bootstrap inicial até o estado desejado, cobrindo todas as recompilações intermediárias necessárias. A versão de teste publicada corresponde às versões dos pacotes no repositório Arch Linux datadas de 18 de novembro de 2025 e é uma espécie de protótipo que demonstra a prontidão da infraestrutura criada para a formação de produtos finais.

Quando o sistema estiver estabilizado, está previsto sincronizá-lo com as versões dos pacotes usados no desenvolvimento das futuras versões do SteamOS para a arquitetura x86_64. O código do toolkit CI em desenvolvimento será publicado sob uma licença aberta e proposto para implementação no projeto Arch Linux, que atualmente carece de infraestrutura CI. O projeto principal também pretende transferir os desenvolvimentos para a criação do porto oficial do Arch Linux para a arquitetura AArch64.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster