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 和可用硬件的系統鏡像支持。