Firma Collabora zaprezentowała projekt Holo Core, który opracowała we współpracy z Valve w celu opracowania wersji dystrybucji Arch. Linux dla platformy AArch64. Holo Core został stworzony do uruchamiania systemu SteamOS na Steam Frame, urządzeniu łączącym komputer osobisty, gogle 3D i dwa kontrolery 3D. Stworzenie Holo Core było konieczne, ponieważ dystrybucja Arch LinuxPlatforma SteamOS jest dostępna tylko dla architektury x86_64, natomiast Steam Frame bazuje na procesorze Snapdragon 8, który wykorzystuje architekturę ARM64. Do testów dostępny jest kod źródłowy pakietów dostosowanych do architektury ARM64, a także prekompilowane pakiety binarne i obraz kontenera Docker.
Głównym celem projektu jest zbudowanie infrastruktury ciągłej integracji służącej do organizowania zautomatyzowanych kompilacji, która monitoruje stan stale aktualizowanych repozytoriów Arch. Linux i zdefiniowanie wymaganych zależności. Oprócz stworzenia poprawek niezbędnych do działania niektórych pakietów w systemach Aarch64, projekt wymagał rozwiązania kilku problemów.
Część problemów wynika z faktu, że repozytorium Archa jest stale aktualizowane Linux Nowy stan niektórych pakietów jest powiązany ze starym, a przebudowa wymaga odtworzenia całego łańcucha stanów (na przykład przebudowa Rusta 1.91 wymaga Rusta 1.90, który z kolei wymaga Rusta 1.89 itd.). Podobna sytuacja ma miejsce w przypadku bibliotek powiązanych z łańcuchem narzędzi kompilacji (na przykład icu i gpgme, używanych w Pacmanie) – jeśli te biblioteki zostaną zaktualizowane, do pomyślnej przebudowy konieczna jest obecność zarówno starej, jak i nowej wersji.
Innym ograniczeniem była niepewność związana z kolejnością kompilacji w repozytorium Arch Git Linux Pakiety są często dodawane w niewłaściwej kolejności, co uniemożliwia automatyczną przebudowę bez ponownego obliczenia całego łańcucha zależności. Co więcej, próby budowania starych wersji są utrudnione przez zmiany w infrastrukturze źródłowej projektu – kod źródłowy może zostać przeniesiony, projekt może zostać przeniesiony do innej usługi hostingowej Git, sumy kontrolne kodu Git mogą ulec zmianie z powodu zastąpienia krótkich skrótów długimi, a automatyczne pobieranie może zostać zablokowane przez zabezpieczenia antybotowe.
Zestaw narzędzi CI opracowany w ramach projektu Holo Core jest w stanie obliczyć pełne drzewo zależności i odtworzyć historię kompilacji Arch. Linux Od początkowego bootstrapu do stanu końcowego, obejmując wszystkie niezbędne przebudowy pośrednie. Opublikowana wersja testowa odpowiada wersjom pakietów w repozytorium Arch. Linux stan na 18 listopada 2025 r. i stanowi swego rodzaju prototyp demonstrujący gotowość stworzonej infrastruktury do formowania produktów finalnych.
Po debugowaniu systemu planowana jest jego synchronizacja z wersjami pakietów używanymi w rozwoju przyszłych wersji SteamOS dla architektury x86_64. Kod opracowanych narzędzi CI zostanie opublikowany na otwartej licencji i udostępniony do wdrożenia w projekcie Arch. Linux, któremu obecnie brakuje infrastruktury CI. Planują również wnieść wkład w główny projekt, aby stworzyć oficjalny port Arch. Linux dla architektury AArch64.
Źródło: opennet.ru
