Debian 移植 RISC-V 64 进展迅速,目前已经完成了近 90% 的软件包移植。下图展示的是目前 Debian 软件包移植到各个架构平台上的情况,其中 RISC-V 64(灰线)已经完成了近 90%,而这距离刚开始向该平台迁移才经过短短几个月。
Debian 开发者在博客中指出 ,因为与架构无关的软件包大约占 Debian 的一半,而且只要所依赖的编程语言解释器之类的软件存在,那么所有移植版本其实都可以使用与架构无关的软件包。这意味着一开始就有大约 90% 的软件包可用于 RISC-V 64 架构。
但是剩下的大约 10% 是怎么回事呢?答案是与 LLVM 和 Rust 相关的软件,RISC-V 目前仍然缺乏对 LLVM 编译器的支持。Rust 其实也基于 LLVM,并且没有基于 GCC 或其它工具链的 Rust 编译器,LLVM 是唯一的选择,所以归结起来就是 LLVM 成了移植障碍 。
目前 Debian 中有超过 500 个来自 Rust 生态的软件包(约占 4%),在 Rust 支持 RISC-V 64 之前,它们都无法构建和使用。
值得注意的是,Firefox 是依赖于 Rust 的主要高级包,但许多包也依赖于 librsvg2 渲染 SVG 图像,此库已切换到 Rust 上,而 Debian 当前还在使用 C 版本,这不是长久之计。
除了 Rust,其它软件包也在某种程度上直接依赖或使用 LLVM,这些都造成了移植 RISC-V 64 困难。不过开发者预计今年将会完成对 LLVM for RISC-V 64 的支持 。
开发者也介绍了接下来几个月的优化计划:
- 改进对 Debian RISC-V 64 可用硬件的支持,改进引导加载选项,改进 RISC-V 64 上 Debian 的命令。
- 完成 Debian RISC-V 的 wiki 页 ,其中包含了一个 chroot 在 HiFive Unleashedboard 中运行而不会破坏初始工厂设置的说明。
- 引导系统的完善,同时有 设置 riscv64 Qemu VM 并使用 u-boot 和 opensbi 引导的说明。此外还有增加 debian-installer 支持,这是安装 Debian 系统的主要/规范方式。
- 提供 Qemu 和可用硬件的系统镜像支持。
文章末尾固定信息
继续阅读