【外评】安卓系统的 RISC-V 支持遭遇重大挫折

简要说明

  • 安卓通用内核即将取消对 RISC-V 架构的支持。
  • 安卓通用内核(Android Common Kernel)是谷歌对上游 Linux 内核的分叉,但增加了针对安卓的内容。
  • RISC-V 是一种开源架构,在硬件领域越来越受欢迎。

早在 2023 年初,谷歌就宣布正在努力在安卓系统中支持 RISC-V 架构。RISC-V 是一种开放式指令集架构,近年来越来越受欢迎,因为硬件制造商无需支付许可费就能构建 RISC-V 芯片。一些 Android 设备已经配备了基于 RISC-V 的芯片组,不过这些芯片组通常运行的不是 Android 系统,而是设备主处理器(通常是基于 Arm 的处理器)的协处理器。

去年年底,芯片制造商高通公司(Qualcomm)宣布正在设计一款基于 RISC-V 的可穿戴芯片组,该芯片组将在谷歌基于 Android 的 Wear OS 平台上运行。一旦发布,这些 Wear OS 智能手表将成为首批运行谷歌认证的 Android 系统的 RISC-V 硬件。不过,要实现这一目标,谷歌必须投入大量工程资源,使安卓系统及其底层的 Linux 内核分叉能够在 RISC-V 硬件上启动。谷歌已经完成了在安卓系统中支持 RISC-V 的大部分工作,但前面还有很多工作要做。

谷歌仍在继续开发 RISC-V,在过去几天和几周内提交了多个补丁。

尽管最近几周谷歌在改善安卓系统对 RISC-V 的支持方面取得了重大进展,但似乎我们离看到 RISC-V 硬件运行安卓系统的认证版本还有一段距离。今天早些时候,谷歌的一位高级软件工程师向 AOSP 提交了一系列补丁,”移除 ACK 对 riscv64 的支持”。这些补丁的说明指出,”对 risc64 GKI 内核的支持已停止”。


删除 RISC-V ACK 支持的补丁截图
其中一个补丁的截图,该补丁删除了对构建兼容 RISC-V 的 Android 内核的支持。

ACK 是 Android 通用内核(Android Common Kernel)的缩写,指的是谷歌维护的 kernel.org 官方 Linux 内核的下游分支。ACK 基本上是 Linux 加上一些 “尚未合并到主线或长期支持(LTS)内核中的 Android 社区感兴趣的补丁”。ACK 有多个分支,包括 android-mainline,它是主要的开发分支,被分叉为 “GKI “内核分支,这些分支与支持的 Linux 内核和 Android 操作系统版本的特定组合相对应。GKI 是通用内核映像(Generic Kernel Image)的缩写,指的是由其中一个分支构建的内核。每个经过认证的 Android 设备都会搭载基于这些 GKI 分支之一的内核,因为谷歌目前不会认证搭载主线 Linux 内核构建的 Android 设备。

由于这些补丁移除了 RISC-V 内核支持、RISC-V 内核构建支持和 RISC-V 模拟器支持,任何希望现在就编译 Android RISC-V 版本的公司都需要创建和维护自己的 Linux 分支,并打上必要的 ACK 和 RISC-V 补丁。鉴于谷歌目前只认证使用 ACK 分支构建的 GKI 内核的 Android 版本,这意味着我们可能无法很快在 RISC-V 硬件上看到经过认证的 Android 版本。

我们最初对这些补丁的理解是,谷歌准备在安卓系统中取消对 RISC-V 的支持,因为这是最明显的结论。然而,谷歌的一位发言人却这样告诉我们:

Android 将继续支持 RISC-V。由于更新速度很快,我们还不能为所有供应商提供单一的支持映像。这一系列补丁将从 Android 通用内核映像(GKI)中移除对 RISC-V 的支持。

虽然该公司在声明中没有详细说明这一决定背后的原因,但我们还是很高兴地确认,Android 对 RISC-V 的支持并没有被完全扼杀。不过,该声明也暗示了一个事实,即在 Android 为 RISC-V 做好准备之前,仍有大量工作要做。即使一旦准备就绪,谷歌也需要重新在内核中添加 RISC-V 支持。至少,谷歌的决定可能意味着,我们可能需要等待比预期更长的时间,才能看到在 RISC-V 芯片上运行的商用 Android 设备。

本文文字及图片出自 RISC-V support in Android just got a big setback

你也许感兴趣的:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注