
作为高性能 ARM64 平台的热门芯片,RK3588 凭借强大的算力和丰富的接口,成为嵌入式开发与桌面体验的优选硬件;而 deepin 25 作为国产桌面系统的标杆之作,以流畅的交互和完善的生态赢得广泛认可。当两者相遇,如何实现稳定适配?不少开发者在系统构建、内核配置与烧录环节面临困惑。
为此,deepin(深度)社区用户 @康成成 为大家带来这份干货满满的实操教程,涵盖两种构建方案、全流程步骤及多场景烧录指南,从基础配置到实操落地全程拆解,无论是新手入门还是老手优化,都能快速上手 RK3588 与 deepin 25 的适配工作。
一、核心配置
本项目主要基于以下组件构建。
- 硬件平台:RK3588
- 操作系统:deepin 25
- 内核版本:6.1.118
源自armbian仓库:https://github.com/armbian/linux-rockchip
- GPU驱动:panthor
- 编解码器:已支持
- 多媒体框架:gstreamer
- 项目仓库:
https://gitee.com/KDarkmoon/deepin-rockchip.git
https://github.com/K2528358037/deepin-rockchip.git
- 参考资源:
deepin 根文件系统项目:https://github.com/deepin-community/deepin-rootfs
辅助教程(香橙派5Plus移植deepin 25):https://mp.weixin.qq.com/s/l3pTrh-HMyq9DEiWWIM5yw
二、系统构建流程(两种方案)
构建脚本说明
我们提供了一系列自动化脚本,以简化构建过程:
mk-base-rootfs.sh:构建基础文件系统(不含桌面环境和内核)mk-deepinv25-rootfs.sh:安装桌面环境、浏览器、内核,并创建用户mk-rootfs-img.sh:整合overlay文件并打包生成deepin根文件系统镜像mk-deepinv25-image.sh:结合内核根文件系统和U-Boot生成可烧录镜像
方案一:基于 RK 官方 SDK 构建(推荐新手,兼容性更强)
Step 1:环境准备
- 编译 RK SDK 生成 U-Boot、Recovery 等基础组件
- 下载 armbian 6.1 内核至 SDK 目录
Step 2:内核配置
- 将 SDK 默认内核配置替换为 deepin-config 中的内容;
- 执行
./build.sh kernel编译内核; - 执行
./build.sh kernel-modules编译内核模块; - 将 SDK 生成的output/kernel-modules目录下的模块文件拷贝至 deepin 系统的 overlay 目录。
Step 3:系统组装
- 运行
mk-base-rootfs.sh获取基础文件系统; - 运行
mk-deepinv25-rootfs.sh安装桌面、浏览器及 packages 目录下的 deb 包(可自行添加额外 deb 文件到 packages 目录); - 运行
mk-rootfs-img.sh生成根文件系统镜像; - 将镜像链接或拷贝至 SDK 的 rockdev 目录并重命名为
rootfs.img 。
Step 4:最终打包
- 调整分区大小(可选):若 rootfs 分区不足,修改 parameter.txt 文件中的 rootfs 分区配置;
- 执行
./build.sh updateimg,生成标准 RK 分区格式的 update.img,等待烧录。
方案二:构建 Armbian 风格分区固件(灵活适配多存储介质)
Step 1:引导配置
- 参考《香橙派5Plus 移植 deepin 25 教程》中编译 U-Boot 和 Kernel 文件;
- 修改overlay中
boot/extlinux/extlinux.conf的设备树名称为自己板卡对应的名称(当前默认 rk3588s-rock-5a.dtb),确保文件内内核、设备树信息与实际构建文件一致。
Step 2:系统安装
- 运行
mk-base-rootfs.sh获取基础文件系统; - 准备内核 deb 包:将 Kernel 的 deb 文件拷贝到 packages 目录(或后续 chroot 手动安装);
- 运行
mk-deepinv25-rootfs.sh安装桌面和软件包。
Step 3:镜像安装
- 将编译的
u-boot-rockchip.bin拷贝至mk-deepinv25-image.sh同级目录,并重命名为u-boot.bin; - 运行
mk-deepinv25-image.sh自动打包生成可烧录镜像。
三、烧录准备(附工具+步骤)
工具准备
- 核心工具:rkdevtool(RK分区烧录)、balenaetcher(U盘/NVME盘烧录)
- 辅助:板卡、数据线(USB-Type-C 等)、存储介质(emmc/U盘/NVME盘/TF卡)
场景1:RK 分区烧录(对应方案一生成的 update.img)
- 板卡进入 maskroom/loader 模式(通常长按板卡上的 Loader 键,同时连接数据线到电脑);
- 打开 rkdevtool,点击「固件」按钮,加载生成的 update.img;
- 确认设备连接成功后,点击「升级」,等待烧录完成(期间不要断开连接)。

场景2:Armbian 分区固件烧录(对应方案二生成的 img)
EMMC 烧录:使用 RKDevTool 或其他兼容工具直接写入。

U盘/NVME 启动:
- 利用 u-boot.bin 创建一个偏移 32k 的 img 文件,"dd if=./u-boot.bin of=./u-boot.img bs=32k seek=1 conv=notrunc",将 u-boot.img 烧录到 emmc/flash/TF卡中(确保启动引导正常);
- 打开balenaetcher,选择方案二生成的 img 文件,选择目标U盘/NVME;
- 点击「Flash!」,等待烧录完成。
注意:若U盘/NVME 无法启动,需检查在uboot是否正确使能了 U盘/PCIe 接口。
通过以上步骤,你就能在 RK3588 开发板上成功运行 deepin 25 系统。无论是作为开发平台还是日常使用,这都为 ARM64 平台带来了完整的 deepin 桌面体验。
再次感谢 @康成成 的贡献及分享!若您在实践过程中遇到了任何问题,或者对我们的教程有任何建议,欢迎随时在deepin 社区论坛中与我们交流。