SUSE 加速在 QEMU 中构建 AArch64 软件

2013 年 10 月 1 日 | Jos Poortvliet | 无许可

ARM AArch64 logo宣布对 Raspberry Pi 的支持大幅改进 之后,openSUSE ARM 团队又有更多消息!SUSE 团队一直在开发 QEMU 的 AArch64 端口,这大大加快了在模拟中构建 64 位 ARM 代码的速度,并且该代码旨在包含在上游版本中。请继续阅读以了解详情。

AArch64 端口编写并发布

SUSE 工程师采用了 QEMU 并开发了 AArch64 端口。这使得在模拟中构建 AArch64 软件的速度比 ARM 提供的 Foundation 模型快 10-20 倍。速度提升是由于 QEMU 使用用户模式(也称为应用程序模式)模拟,而不是 Foundation 模型使用的完全系统模式模拟。该代码已被用于推进 openSUSE 中完成的 AArch64 移植工作,从而使 AArch64 成为 openSUSE 构建服务的构建目标。SUSE 已经能够开源该代码,并正在努力将其包含在 upstream QEMU 中。对于那些感兴趣的人,该代码也公开可用 在 Github 上

arndale cluster used in OBS

将 openSUSE 带到 AArch64

openSUSE 的 Open Build Service 最近 收到了一次非常重要的升级,配备了一个令人印象深刻的 Arndale ARM 集群。但在我们收到这个出色的硬件之前,我们的 基于 x86 的系统 正在运行 QEMU 虚拟机以构建正在构建的 ARMv7 包。我们的工程师在 QEMU 中投入了 ARMv7 支持的精力,并使其与 OBS 很好地集成,从而显著提高了可靠性和支持。

将所有这些设置在 OBS 中当然对团队开始 AArch64 工作非常有帮助,并且在 openSUSE 成为第一个通用、完全构建的 AArch64 通用 Linux 发行版中发挥了重要作用。我们已经在 2013 年 3 月的 openSUSE 12.3 版本 中交付了实验性的 AArch64 镜像!

使用 QEMU 进行 AArch64 构建性能改进

ARM 的 Foundation Model,即参考模拟平台,被用于构建包。它一直是启动发行版的一个宝贵工具,但构建需要很长时间,当出现问题时,仅仅因为有人打错了字就等待两天才能完成重建,这令人非常沮丧。因此,SUSE 工程师开始在 QEMU 中开发 AArch64 模拟。QEMU 的 AArch64 端口提供了显著更短的构建时间,无论是在开发人员工作站还是在 Open Build Service 上,并允许开发更快地进行。

与已经可用的在 Foundation Model 中为 AArch64 构建的 openSUSE:Factory 相比,已经投入了使用新发布的 QEMU 模拟器重建所有内容的工作,这使我们能够比以前更快地跟踪 Factory 中的更改。构建结果与以前一样在 openSUSE:Factory:ARM 页面 上可用,但是结果现在指的是基于 QEMU 的构建。

尽情构建 AArch64 包吧!

分类: 构建服务

标签

分享此帖子