关于 ARMv7 进度和为 AArch64 准备 ARM

2013年4月15日 | Jos Poortvliet | 无许可

openSUSE 12.3 引入了 32 位 ARMv7 架构作为新的、完全支持的架构,并带来了实验性的 64 位 ARM (AArch64) 镜像。自发布以来,对新硬件的支持被添加,并且更多的构建能力被带到 Open Build Service。据我们所知,我们现在拥有第一个大规模的 KVM 部署在 ARM 上!我们还引入了对 Calxeda Highbank ARM 服务器 SoC 的支持,这是对 ARM 和 openSUSE 的重大一步。请继续阅读以了解 openSUSE ARMy 的发展方向。

关于 ARM 及其未来

[caption id=”attachment_15783” align=”alignright” width=”300”]openSUSE booting on aarch64 openSUSE 在 aarch64 上启动[/caption]

目前,最普遍的 32 位处理器系列是基于 RISC 的 ARM 架构。仅在 2010 年,就有 61 亿基于 ARM 的 CPU 发货,占智能手机的 95%,电视和机顶盒的 35% 以及移动电脑的 10%。ARM 正在缓慢地“向上”扩展电脑规模,例如通过 三星 Chromebook 进入笔记本电脑市场。但 32 位架构正在达到其极限。最新的 Cortex A15 核心可以寻址高达 1TB 的 RAM,但单个应用程序仅限于 32 位地址空间。这意味着它们不能同时使用超过 4GB 的 RAM(实际上在用户空间中只有 3GB)。尽管 Cortex A15 对于移动芯片来说性能令人印象深刻,但这个地址空间限制了它,并且没有给 x86 世界留下深刻印象。

AArch64 和 ARMv8

64 位 ARM 架构 AArch64,旨在改变这一点。这将是 ARM 架构的未来。 2014 年即将到来,各种制造商将开始交付基于 64 位 A57(性能)和 A53(效率)核心的全新 CPU。虽然 A53 旨在以较低的功耗提供 Cortex A15 级别的性能,但 A57 承诺比上一代产品性能大幅提升,并且可以在单个芯片上扩展到超过 16 个核心。显而易见,这个核心已经准备好进入今天由英特尔 x86 CPU 支配的市场:服务器空间!

AArch64 包含新的 ARMv8 SoC。这些通常(但并非总是)也可以执行 AArch32,这是当前 ARMv7 32 位架构的兼容模式,请参阅 ARM 提供的 ARMv8 架构信息页面 以获取更多信息。新的 ARMv8-A 提供

  • 64 位通用寄存器、SP(堆栈指针)和 PC(程序计数器)64 位数据处理和扩展的虚拟寻址

  • 两种主要执行状态

    • AArch64 - 64 位执行状态,包括异常模型、内存模型、程序员模型和该状态的指令集支持

    • AArch32 - 32 位执行状态,包括异常模型、内存模型、程序员模型和该状态的指令集支持

所以,激动人心的时刻,当然:我们应该为此做好准备!openSUSE 和 SUSE 都有利于此。2014 年很可能会产生一整代新的桌面和服务器设备,用于家庭和企业,这些设备基于这项技术构建。因此,我们的 ARM 团队一直在努力确保我们能够在这些设备出现时支持它们,并且随着 openSUSE 12.3 的发布,第一个实验性的 AArch64 镜像已经发布。

openSUSE 12.3 对 ARM 32 位状态

随着 openSUSE 12.3 的发布,是时候稳定 ARM 方面的事务了。虽然 openSUSE ARM 团队正忙于 AArch64(64 位 ARM/ARMv8),但 ARMv7 方面也发生了很多事情,尤其是在新硬件支持方面。请记住,32 位 ARM 自 openSUSE 12.3 以来就是一等公民,这意味着更多系统上可用的稳定 openSUSE!

加速 ARMv7 的构建

与三星的技术合作带来了 Open Build Service 的额外构建能力,加快了 ARM 包的构建速度,并加快了开发周期。我们部署了大量 Arndale 板,取代了 x86 硬件上的 QEMU 访客,并使用了三星 Exynos5 Cortex-A15 芯片上的 KVM。

ARM 开发受到可用构建资源限制,这些资源用于编译每次新的软件迭代,虽然 OBS 通过将大量的构建能力集中在一个地方来提供帮助,但使用 QEMU 意味着构建资源与本机 x86_64 构建共享,这被证明是一个性能限制。有了快速且专用的 ARM 硬件,我们可以为 ARM 构建保留构建能力,并利用更高效的 KVM 虚拟化。

这实际上也使我们非常酷:我们在 build.opensuse.org 上拥有第一个也是最大的 KVM 在 ARM 上的实际部署

[caption id=”attachment_15797” align=”aligncenter” width=”690”]One of the new Arndale clusters getting ready to be deployed into the OBS 其中一个新 Arndale 集群准备部署到 OBS[/caption]

三星半导体公司生态系统开发高级总监 Seth Bernsen 评论了此次部署

_"我们很高兴看到 Arndale 开发板平台能够作为创新开源软件开发(如 openSUSE 项目)的推动者。"_

硬件支持

ARM 的生态系统庞大而充满活力,因此 openSUSE 必须决定仅启用可用硬件的一个子集;但这个子集正在增长。可在 Open Build Service 上找到支持的硬件的镜像,只需从 wiki 中选择与您的硬件对应的链接即可。以下是已启用系统芯片及其相关硬件平台列表。

[caption id=”attachment_15781” align=”alignright” width=”300”]ECX-1000 powered Boston Viridis (Image by Calxeda) ECX-1000 驱动的波士顿 Viridis
(图片由 Calxeda 提供)[/caption]

Calxeda Highbank 也许最令人兴奋的镜像就是为 highbank 提供的镜像,这是 Calxeda 的 ECX-1000 系列 SoC 系统的代号。这种 SoC,Calxeda 称之为“芯片上的服务器”,是 32 位 ARM 服务器空间中最有希望的板卡之一,openSUSE 团队期待着用户对此硬件的反馈。

TI OMAP3 原始 Beagleboard 和更新的 Beagleboard xM 都已启用,两者都具有基于 XFCE 的图形镜像和基于 JeOS 的最小命令行镜像。

TI OMAP4 原始 Pandaboard 和更新的 Pandaboard ES 都已启用,两者都具有基于 XFCE 的图形镜像和基于 JeOS 的最小命令行镜像。

Samsung Exynos4 Origen Exynos4Dual 板 已启用,两者都具有基于 XFCE 的图形镜像和基于 JeOS 的最小命令行镜像。

Samsung Exynos5 Arndale 板 已启用,具有内置 KVM 支持的基于 JeOS 的最小命令行镜像。[gallery ids=”15786,15841,15790”]

Series3 Chromebook 三星 Series3 Chromebook 已启用,具有基于 XFCE 的图形镜像。

Marvel Armada 510 Solid-Run Cubox 支持基于 JeOS 的最小命令行镜像。

Freescale iMX51 Genesi EfikaMX Smarttop 已启用,具有基于 JeOS 的最小命令行镜像。由于目前 USB 和图形支持缺失上游,因此需要额外的串行连接器。[gallery ids=”15793,15794,15795”]

Freescale iMX53 Freescale IMX53QSB 已启用,具有基于 JeOS 的最小命令行镜像。

Broadcom BCM2835 更新:由于 Raspberry Pi 是 ARMv6 芯片,因此不受支持,抱歉…**

[gallery ids=”15837,15796”]

不受支持的硬件 对于那些拥有 openSUSE 当前未启用的硬件的用户,提供了一个根文件系统以启用硬件启动。这适用于基于 JeOS 的最小命令行和 XFCE 图形环境。

获取 openSUSE for ARMv7

有关如何参与 openSUSE on ARM 的更多信息,请参见 ARM 门户

openSUSE 12.3 对 ARM 64 位状态

如 openSUSE 12.3 中宣布的那样,有适用于 AArch64 的 openSUSE 12.3 镜像可用。这些镜像的性质是实验性的 - 我们不会持续更新它们,并且非常希望收到有关它们的反馈。我们提供超过 5700 个为 AArch64 构建的软件包,这意味着 openSUSE 当前为 AArch64 提供最大的软件池,包括 Java、Python、Perl、PHP 和相关软件包。所有构建都在 ARM 的 Foundation Model 上完成,该模型在 x86_64 Linux 系统上提供系统仿真,但性能并非最佳。

SUSE 暂时分配了一些重要的内部计算资源给 ARM 编译作业,使团队能够大规模并行化和自动化 Open Build Service 中所有软件包的构建,并在几周内完成初始构建。从那时起,一个贡献者团队一直在努力修复可移植性问题并启用新的软件包的构建。

结论

总而言之,正如您所看到的,Geeko ARMies 在前进。32 位硬件支持取得了巨大进展,而 openSUSE 为 64 位准备的软件包也已准备好更广泛的应用,并且由于为 ARM 特定和即将为 Open Build Server 总的来说 提供的额外硬件,因此没有减慢速度的迹象。如果您想参与这场 ARMed 革命,请查看 ARM 门户 并加入我们在 Freenode 上的 #openSUSE-ARM 频道

分类: 衍生版

标签

分享此帖子