Collabora 发布了 Holo Core 项目,该项目是与 Valve 合作开发的,旨在开发 Arch 发行版的一个版本。 Linux Holo Core 是为 AArch64 平台开发的,用于在 Steam Frame 上运行 SteamOS。Steam Frame 是一款集个人电脑、3D 头显和两个 3D 控制器于一体的设备。Holo Core 的开发是必要的,因为 Arch 发行版 LinuxSteamOS平台仅适用于x86_64架构,而Steam Frame则基于骁龙8芯片,该芯片采用ARM64架构。我们提供了适用于ARM64架构的软件包源代码、预编译的二进制软件包以及Docker容器镜像,供用户进行测试。
该项目的主要目标是构建一个持续集成基础设施,用于组织自动化构建,并监控不断更新的 Arch 存储库的状态。 Linux 并定义所需的依赖项。除了创建某些软件包在 Aarch64 系统上运行所需的补丁之外,该项目还需要解决几个问题。
部分问题是由 Arch 的持续更新仓库造成的。 Linux 某些软件包的新状态与旧状态相关联,重新构建需要重现整个状态链(例如,重新构建 Rust 1.91 需要 Rust 1.90,而 Rust 1.90 又需要 Rust 1.89,依此类推)。与构建工具链相关的库(例如 pacman 中使用的 icu 和 gpgme)也存在类似情况——如果这些库更新,则必须同时存在新旧版本才能成功重新构建。
另一个限制是构建顺序的不确定性——在 Arch Git 仓库中。 Linux 软件包的添加顺序常常混乱,因此如果不重新计算整个依赖链,自动重建就无法实现。此外,尝试构建旧版本也会受到上游项目基础设施变更的阻碍——源代码可能被移动,项目可能迁移到不同的 Git 托管服务,Git 代码校验和可能由于短哈希被长哈希替换而发生变化,而且自动下载可能被反机器人保护机制阻止。
Holo Core 项目开发的 CI 工具包能够计算完整的依赖关系树并重现 Arch 构建历史。 Linux 从初始引导到最终状态,涵盖所有必要的中间重建步骤。发布的测试版本与 Arch 软件仓库中的软件包版本相对应。 Linux 截至 2025 年 11 月 18 日,它是一种原型,展示了所创建的基础设施已准备好用于最终产品的形成。
系统调试完成后,计划将其与未来 x86_64 架构 SteamOS 版本开发中使用的软件包版本同步。所开发的 CI 工具代码将以开源许可证发布,并提供给 Arch 项目使用。 Linux目前该项目缺乏持续集成(CI)基础设施。他们还计划为主项目做出贡献,以创建一个官方的 Arch 移植版本。 Linux 适用于 AArch64 架构。
来源: opennet.ru
