Das Unternehmen Collabora hat Holo Core, einen Port von Arch Linux für die Architektur AArch64, vorgestellt.

Die Firma Collabora hat das Projekt Holo Core vorgestellt, im Rahmen dessen zusammen mit der Firma Valve eine Version des Arch Linux-Distributionspakets für die AArch64-Plattform erstellt wurde. Holo Core wurde entwickelt, um SteamOS auf dem Gerät Steam Frame zu verwenden, das einen Personal Computer, ein 3D-Headset und zwei 3D-Controller kombiniert. Die Entwicklung von Holo Core war notwendig, da die Grundlage von SteamOS, das Arch Linux-Distributionspaket, nur für die Architektur x86_64 verfügbar ist, während das Gerät Steam Frame auf einem Snapdragon 8-Chip basiert, der die ARM64-Architektur verwendet. Der Quellcode von Paketen, die für die ARM64-Architektur angepasst wurden, sowie fertige Binärpakete und ein Container-Image im Docker-Format stehen zum Testen zur Verfügung.

Die zentrale Aufgabe des Projekts besteht darin, eine Infrastruktur für die kontinuierliche Integration aufzubauen, die automatisierte Builds durchführt, den Zustand der kontinuierlich aktualisierten Arch Linux-Repositories überwacht und die erforderlichen Abhängigkeiten bestimmt. Neben der Erstellung von Patches, die notwendig sind, damit einige Pakete auf Aarch64-Systemen funktionieren, mussten im Rahmen des Projekts mehrere Probleme gelöst werden.

Ein Teil der Probleme rührt daher, dass im kontinuierlich aktualisierten Repository von Arch Linux der Zustand bestimmter Pakete von älteren Versionen abhängig ist und für den Aufbau die gesamte Kette von Zuständen reproduziert werden muss (zum Beispiel muss für eine Neukompilierung von rust 1.91 rust 1.90 vorhanden sein, wobei wiederum rust 1.89 benötigt wird, und so weiter). Eine ähnliche Situation tritt bei Bibliotheken auf, auf denen das Build-Toolset basiert (zum Beispiel icu und gpgme, die in pacman verwendet werden) – wenn die Versionen dieser Bibliotheken aktualisiert werden, ist zur erfolgreichen Neukompilierung sowohl die alte als auch die neue Version erforderlich.

Eine weitere Einschränkung war die Ungewissheit bezüglich der Reihenfolge der Kompilierung – im Git-Repository von Arch Linux werden Pakete oft nicht in der Reihenfolge hinzugefügt, die für eine automatisierte Neukompilierung ohne Neuberechnung der gesamten Abhängigkeitenskette geeignet ist. Darüber hinaus stellen bei den Versuchen, ältere Versionen zu kompilieren, Änderungen in der Infrastruktur der Upstream-Projekte ein Hindernis dar – der Quellcode kann verschoben werden, Projekte können zu einem anderen Git-Hosting wechseln, Prüfziffern des Codes im Git können sich ändern, weil kurze Hashes durch lange ersetzt wurden, und die automatisierte Bereitstellung kann durch Anti-Bot-Schutz blockiert werden.

Das im Rahmen des Projekts Holo Core vorbereitete CI-Tool kann den gesamten Abhängigkeitsbaum berechnen und die Historie der Arch Linux-Bauten vom ursprünglichen Bootstrap bis zum ausgewählten Zustand "reproduzieren" (replay), wobei alle notwendigen Zwischenschritte berücksichtigt werden. Die veröffentlichte Testversion entspricht den Paketversionen im Repository von Arch Linux stand 18. November 2025 und dient als eine Art Prototyp, der die Bereitschaft der geschaffenen Infrastruktur zur Bildung von Endprodukten demonstriert.

Sobald das System optimiert ist, ist geplant, es mit den Paketversionen zu synchronisieren, die für die Entwicklung zukünftiger Versionen von SteamOS für die x86_64-Architektur verwendet werden. Der Code des entwickelten CI-Tools wird unter einer offenen Lizenz veröffentlicht und für die Implementierung im Arch Linux-Projekt angeboten, das derzeit über keine CI-Infrastruktur verfügt. Auch die Ergebnisse für die Erstellung eines offiziellen Ports von Arch Linux für die AArch64-Architektur sollen dem Hauptprojekt übergeben werden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4