Collabora portiert Arch Linux für die Arm64-Plattform von Steam

Collabora arbeitet gemeinsam mit Valve an „Holo Core“, einer auf die Arm64-Architektur zugeschnittenen Portierung von Arch Linux.

Collabora arbeitet gemeinsam mit Valve an „Holo Core“, einer auf die Arm64-Architektur zugeschnittenen Portierung von Arch Linux. Sie soll als Grundlage für das Betriebssystem des kommenden Steam Frame dienen, der einen Prozessor mit Arm64-Architektur nutzt.

Da Arch Linux diese Architektur nicht offiziell unterstützt, haben die Entwickler die Werkzeuge und die Infrastruktur für die kontinuierliche Integration angepasst. Als ersten Schritt veröffentlicht Collabora vorbereitete Binärpakete, den zugehörigen Quellcode und Entwicklungscontainer. Damit können Interessierte die Portierung untersuchen und Arch Linux auf Arm64 testen. Das vollständige Paketangebot der Distribution steht noch nicht zur Verfügung. Zunächst konzentriert sich das Projekt auf die für die Entwicklung und die Erstellung von Systemabbildern des Steam Frame benötigten Pakete. Einschließlich ihrer Laufzeit- und Build-Abhängigkeiten umfasst diese Auswahl bereits mehrere tausend Pakete.

Die Entwickler müssen dabei nicht nur Arch-Linux-Pakete für eine andere Prozessorarchitektur kompilieren. Sie bauen zugleich eine reproduzierbare Infrastruktur für die kontinuierliche Integration auf, obwohl Arch Linux keine eigene entsprechende Infrastruktur für Arm64 bereitstellt. Das System muss außerdem die jeweils passenden Abhängigkeiten einer Rolling-Release-Distribution ermitteln.

Eine besondere Herausforderung stellt die Reihenfolge der Paket-Builds dar. Die Reihenfolge, in der Arch Linux Pakete in seine Repositories übernimmt, eignet sich nicht immer für einen vollständigen Neuaufbau. Deshalb korrigieren die Entwickler die Abhängigkeiten und erstellen eine eigene gültige Build-Reihenfolge.

Zusätzlich ändern sich durch das Rolling-Release-Modell von Arch Linux Pakete und Abhängigkeiten während der Portierung laufend. Die Entwickler können deshalb nicht beliebig auf neuere Versionsstände springen, weil spätere Pakete oft ältere Zwischenversionen voraussetzen. So kann etwa eine neue Rust-Version zunächst mehrere vorherige Versionen benötigen, bevor der Build gelingt. Die entwickelten Werkzeuge für die kontinuierliche Integration müssen diese Abhängigkeiten über mehrere Versionsstufen hinweg berücksichtigen.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben