作为高性能 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
二、系统构建流程(两种方案)
构建脚本说明
我们提供了一系列自动化脚本,以简化构建过程:
mk-base-rootfs.sh:构建基础文件系统(不含桌面环境和内核);
mk-deepinv25-rootfs.sh:安装桌面环境、浏览器、内核,并创建用户;
mk-rootfs-img.sh:整合overlay文件并打包生成deepin根文件系统镜像;
mk-deepinv25-image.sh:结合内核根文件系统和U-Boot生成可烧录镜像。
1方案一:基于 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,等待烧录。
2方案二:构建 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 社区论坛中与我们交流。
项目仓库: https://gitee.com/KDarkmoon/deepin-rockchip.git https://github.com/K2528358037/deepin-rockchip.git
说明:本文技术方案由 deepin 社区开发者贡献,转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !