deepin-ports SIG RISC-V 常见问题 FAQ (持续更新)
deepin-ports SIG
3/5/2025
由于 deepin-ports SIG 维护的 deepin (23/25) RISC-V 版本的版本发布周期和软件包维护状况与主线 deepin 有所不同,本文将为用户和开发者提供一些常见问题的解答。
1. deepin RISC-V 版本的发布周期是多久?
与主线发布的 iso 镜像不同,RISC-V 版本需要针对不同的硬件平台进行适配,其中不仅涉及到 deepin 主线软件仓库的更新,来自硬件厂商的驱动和内核也会有各自的更新周期,且适配过程中可能存在一些 bug,这也需要通过发布新版本的方式来修复。
因此,我们有如下发布计划:
- 对于主线 deepin 的 大版本发布(不同仓库) ,我们会在不晚于 1 个月的时间内发布对应的 RISC-V 镜像。
- 对于主线 deepin 的 小版本发布或日常更新(同一仓库) ,我们不保证会同步发布对应的 RISC-V 镜像,但用户可以通过更新软件包的方式获得最新的软件。
- 对于硬件厂商的 SDK 和驱动更新,我们会在收到更新后尽快发布对应的 RISC-V 镜像。
- 对于 已知的 bug,我们不保证会在短时间内发布新镜像,但是我们每次发布新镜像时都会尽量修复所有已知的 bug。
- 对于 内核的大更新(改变版本号),我们会在收到更新后尽快构建并推送至仓库。
- 对于 内核的小更新(不改变版本号),我们会在有大量更新或者有重大 bug 修复时构建并推送至仓库。
2. deepin RISC-V 版本的软件包是如何维护的?
deepin-ports 发布的镜像通常包含以下全部或部分仓库的组合:
- deepin 主线仓库 (23 或 25),由 deepin CI 统一构建
- deepin-ports 仓库, 包含了一些 deepin 主线仓库中未包含的软件包
ports-apps
仓库, 包含一些针对 RISC-V 平台适配的应用软件包ports-kernel
仓库, 包含了所有版本的非主线的 RISC-V 内核ports-profiles
仓库,包含了针对 RISC-V 各种设备适配的配置文件和包组ports-imggpu
仓库,包含了各版本的 Imagination GPU 驱动,通常由固件和特定版本的 glvnd 化 mesa 组成ports-board-*
仓库,包含了特定硬件平台的驱动,这些驱动通常由硬件厂商提供,尚未上游化
例如,JH7110 镜像(适用于 VisionFive 2、MilkV Mars 等设备)的 /etc/apt/sources.list
将包括以下内容:
# deepin 25 stable + testing
deb https://ci.deepin.com/repo/deepin/deepin-community/stable/ crimson main community commercial
deb https://ci.deepin.com/repo/deepin/deepin-community/testing/ unstable/25 main community commercial
# deepin-ports apps + kernel + imggpu + profiles + boards-jh7110
deb [ trusted=yes ] https://ci.deepin.com/repo/deepin/deepin-ports/repo/ crimson ports-apps ports-kernel ports-imggpu ports-profiles ports-board-jh7110
以上仓库均在 Open Build Service (OBS) 上构建,构建结果会被发布到对应仓库中。自 2024 年以来,我们已经通过此方式适配了十余款设备,该维护方式经验证有效。
3. deepin RISC-V 版本的内核是如何维护的?
对于一些厂商提供的内核,deepin-ports 提供了一套工作流实现自动化构建,产物将遵循 deepin-ports 的 RISC-V 发布周期推送至仓库,该工作流同样构建 u-boot。具体包含以下流程:
- git clone 远程分支,安装内核构建依赖
- 应用特定一组 deepin 下游 patch
- 执行 defconfig,应用特定一组 deepin 下游 config
- 构建内核并打包 deb
该工作流在 GitHub Action 上使用交叉编译,在 deepin OBS (Open Build Service) 上使用 riscv64 构建机编译。(注意:仅后者打出的 linux-headers 可用于 DKMS)