作为高性能 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 自动打包生成可烧录镜像。

 

三、烧录准备(附工具+步骤)

工具准备

  1. 核心工具:rkdevtool(RK分区烧录)、balenaetcher(U盘/NVME盘烧录)
  2. 辅助:板卡、数据线(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 社区论坛中与我们交流。

 

发表评论