Collabora har præsenteret projektet Holo Core, hvor de sammen med Valve har udarbejdet en version af Arch Linux-distributionen til AArch64-platformen. Holo Core er designet til at anvende SteamOS på Steam Frame-enheden, der kombinerer en personlig computer, et 3D-headset og to 3D-controllere. Udviklingen af Holo Core var nødvendig, da Arch Linux-distributionen, som udgør grundlaget for SteamOS, kun er tilgængelig for x86_64-arkitekturen, mens Steam Frame-enheden er baseret på Snapdragon 8-chippen, som bruger ARM64-arkitekturen. Kildekoden til pakker tilpasset ARM64-arkitekturen samt færdige binære pakker og Docker-containerbilleder er tilgængelige til test.
Et centralt mål for projektet er opbygningen af en infrastruktur til kontinuerlig integration for at organisere automatiserede byggeprocesser, der overvåger tilstanden af de kontinuerligt opdaterede Arch Linux-repositorier og bestemmer de nødvendige afhængigheder. Ud over at skabe patches, der er nødvendige for at få nogle pakker til at fungere på AArch64-systemer, har det under implementeringen af projektet været nødvendigt at løse flere udfordringer.
En del af udfordringerne skyldes, at i det kontinuerligt opdaterede Arch Linux-repository er den nye tilstand for nogle pakker knyttet til den gamle, og for at kunne bygge er det nødvendigt at reproducere hele kæden af tilstande (for eksempel, for at kunne genopbygge rust 1.91 skal rust 1.90 være til stede, som igen kræver rust 1.89 osv.). En lignende situation ses for biblioteker, som byggeværktøjet er afhængigt af (f.eks. icu og gpgme, der bruges i pacman) — i tilfælde af opdatering af versioner af disse biblioteker, er det for en succesfuld genopbygning nødvendigt at have både den gamle og den nye version til stede.
En anden begrænsning har været usikkerheden omkring rækkefølgen af bygningen - i Git-repositoriet for Arch Linux bliver pakker ofte tilføjet ikke-sekventielt, hvilket gør dem uegnede til automatisk genopbygning uden at skulle genberegne hele kæden af afhængigheder. Derudover, når man forsøger at bygge ældre versioner, bliver ændringer i infrastrukturen fra upstream-projekter en hindring - kildekoden kan være blevet flyttet, projektet kan skifte til en anden git-hosting, checksummen for koden i git kan ændre sig på grund af erstatning af korte hashes med lange, og automatisk download kan blive blokeret af anti-bot beskyttelse.
Det CI-værktøj, der er udviklet i forbindelse med Holo Core-projektet, er i stand til at beregne det fulde afhængighedstræ og "replay" byggehistorikken for Arch Linux fra den indledende bootstrap til den valgte tilstand, hvilket dækker alle nødvendige mellemliggende genopbygninger. Den offentliggjorte testversion svarer til versionerne af pakkerne i Arch Linux-repositoriet pr. 18. november 2025 og fungerer som en slags prototype, der demonstrerer den udviklede infra strukturs beredskab til dannelse af endelige produkter.
Når systemet er fejlfrit, planlægges det at synkronisere med versionerne af pakkerne, der anvendes i udviklingen af fremtidige versioner af SteamOS til x86_64-arkitektur. Koden for det udviklede CI-værktøj vil blive offentliggjort under en åben licens og tilbudt til implementering i Arch Linux-projektet, som i øjeblikket ikke har en CI-infrastruktur. I hovedprojektet planlægges det også at overføre resultaterne for at skabe en officiel port af Arch Linux til AArch64-arkitektur.
Kilde: opennet.ru
