RK3588 适配 deepin 25 实操教程(附烧录指南)
<p><img class="alignnone size-full wp-image-37921" src="https://www.deepin.org/wp-content/uploads/2025/11/1121_副本.jpg" alt="" width="900" height="383" srcset="https://www.deepin.org/wp-content/uploads/2025/11/1121_副本.jpg 900w, https://www.deepin.org/wp-content/uploads/2025/11/1121_副本-300x128.jpg 300w, https://www.deepin.org/wp-content/uploads/2025/11/1121_副本-150x64.jpg 150w, https://www.deepin.org/wp-content/uploads/2025/11/1121_副本-768x327.jpg 768w, https://www.deepin.org/wp-content/uploads/2025/11/1121_副本-24x10.jpg 24w, https://www.deepin.org/wp-content/uploads/2025/11/1121_副本-36x15.jpg 36w, https://www.deepin.org/wp-content/uploads/2025/11/1121_副本-48x20.jpg 48w" sizes="(max-width: 900px) 100vw, 900px" /></p><div>
<div>
<p class="otl-paragraph">作为高性能 ARM64 平台的热门芯片,RK3588 凭借强大的算力和丰富的接口,成为嵌入式开发与桌面体验的优选硬件;而 deepin 25 作为国产桌面系统的标杆之作,以流畅的交互和完善的生态赢得广泛认可。当两者相遇,如何实现稳定适配?不少开发者在系统构建、内核配置与烧录环节面临困惑。</p>
<p class="otl-paragraph">为此,deepin(深度)社区用户 @康成成 为大家带来这份干货满满的实操教程,涵盖两种构建方案、全流程步骤及多场景烧录指南,从基础配置到实操落地全程拆解,无论是新手入门还是老手优化,都能快速上手 RK3588 与 deepin 25 的适配工作。</p>
<p> </p>
<h1 class="otl-heading"><strong>一、核心配置</strong></h1>
<p class="otl-paragraph">本项目主要基于以下组件构建。</p>
<ul>
<li class="otl-paragraph">硬件平台:RK3588</li>
<li class="otl-paragraph">操作系统:deepin 25</li>
<li class="otl-paragraph">内核版本:6.1.118</li>
</ul>
<p class="otl-paragraph">源自armbian仓库:https://github.com/armbian/linux-rockchip</p>
<ul>
<li class="otl-paragraph">GPU驱动:panthor</li>
<li class="otl-paragraph">编解码器:已支持</li>
<li class="otl-paragraph">多媒体框架:gstreamer</li>
<li class="otl-paragraph">项目仓库:</li>
</ul>
<p>https://gitee.com/KDarkmoon/deepin-rockchip.git</p>
<p>https://github.com/K2528358037/deepin-rockchip.git</p>
<ul>
<li class="otl-paragraph">参考资源:</li>
</ul>
<p class="otl-paragraph"><span class="color_font">deepin 根文件系统项目:</span><span class="color_font">https://github.com/deepin-community/deepin-rootfs</span></p>
<p class="otl-paragraph">辅助教程(香橙派5Plus移植deepin 25):https://mp.weixin.qq.com/s/l3pTrh-HMyq9DEiWWIM5yw</p>
<p> </p>
<h1 class="otl-heading"><strong>二、系统构建流程(两种方案)</strong></h1>
<h2 class="otl-heading"><span class="color_font"><strong>构建脚本说明</strong></span></h2>
<p class="otl-paragraph">我们提供了一系列自动化脚本,以简化构建过程:</p>
<ul>
<li class="otl-paragraph"><code><span class="color_font">mk-base-rootfs.sh</span></code>:构建基础文件系统(不含桌面环境和内核)</li>
<li class="otl-paragraph"><code><span class="color_font">mk-deepinv25-rootfs.sh</span></code>:安装桌面环境、浏览器、内核,并创建用户</li>
<li class="otl-paragraph"><code><span class="color_font">mk-rootfs-img.sh</span></code>:整合overlay文件并打包生成deepin根文件系统镜像</li>
<li class="otl-paragraph"><code><span class="color_font">mk-deepinv25-image.sh</span></code>:结合内核根文件系统和U-Boot生成可烧录镜像</li>
</ul>
<p> </p>
<h2 class="otl-heading"><span class="color_font"><strong>方案一:基于 RK 官方 SDK 构建(推荐新手,兼容性更强)</strong></span></h2>
<p class="otl-paragraph"><strong>Step 1:环境准备</strong></p>
<ul>
<li class="otl-paragraph">编译 RK SDK 生成 U-Boot、Recovery 等基础组件</li>
<li class="otl-paragraph">下载 armbian 6.1 内核至 SDK 目录</li>
</ul>
<p class="otl-paragraph"><strong>Step 2:内核配置</strong></p>
<ul>
<li class="otl-paragraph">将 SDK 默认内核配置替换为 deepin-config 中的内容;</li>
<li class="otl-paragraph">执行 <code><span class="color_font">./build.sh kernel</span></code> 编译内核;</li>
<li class="otl-paragraph">执行 <code><span class="color_font">./build.sh kernel-modules</span></code> 编译内核模块;</li>
<li class="otl-paragraph">将 SDK 生成的output/kernel-modules目录下的模块文件拷贝至 deepin 系统的 overlay 目录。</li>
</ul>
<p class="otl-paragraph"><strong>Step 3:系统组装</strong></p>
<ul>
<li class="otl-paragraph">运行 <code><span class="color_font">mk-base-rootfs.sh</span></code> 获取基础文件系统;</li>
<li class="otl-paragraph">运行 <code><span class="color_font">mk-deepinv25-rootfs.sh</span></code> 安装桌面、浏览器及 packages 目录下的 deb 包(可自行添加额外 deb 文件到 packages 目录);</li>
<li class="otl-paragraph">运行 <code><span class="color_font">mk-rootfs-img.sh</span></code> 生成根文件系统镜像;</li>
<li class="otl-paragraph">将镜像链接或拷贝至 SDK 的 rockdev 目录并重命名为<code><span class="color_font">rootfs.img 。</span></code></li>
</ul>
<p class="otl-paragraph"><strong>Step 4:最终打包</strong></p>
<ul>
<li class="otl-paragraph">调整分区大小(可选):若 rootfs 分区不足,修改 parameter.txt 文件中的 rootfs 分区配置;</li>
<li class="otl-paragraph">执行 <code>./build.sh updateimg</code> ,生成标准 RK 分区格式的 update.img,等待烧录。</li>
</ul>
<p> </p>
<h2 class="otl-heading"><span class="color_font"><strong>方案二:构建 Armbian 风格分区固件(灵活适配多存储介质)</strong></span></h2>
<p class="otl-paragraph"><strong>Step 1:引导配置</strong></p>
<ul>
<li class="otl-paragraph">参考《香橙派5Plus 移植 deepin 25 教程》中编译 U-Boot 和 Kernel 文件;</li>
<li class="otl-paragraph">修改overlay中<code>boot/extlinux/extlinux.conf</code>的设备树名称为自己板卡对应的名称(当前默认 rk3588s-rock-5a.dtb),确保文件内内核、设备树信息与实际构建文件一致。</li>
</ul>
<p class="otl-paragraph"><strong>Step 2:系统安装</strong></p>
<ul>
<li class="otl-paragraph">运行 <code><span class="color_font">mk-base-rootfs.sh</span></code> 获取基础文件系统;</li>
<li class="otl-paragraph">准备内核 deb 包:将 Kernel 的 deb 文件拷贝到 packages 目录(或后续 chroot 手动安装);</li>
<li class="otl-paragraph">运行 <code><span class="color_font">mk-deepinv25-rootfs.sh</span></code> 安装桌面和软件包。</li>
</ul>
<p class="otl-paragraph"><strong>Step 3:镜像安装</strong></p>
<ul>
<li class="otl-paragraph">将编译的<code><span class="color_font">u-boot-rockchip.bin</span></code>拷贝至<code><span class="color_font">mk-deepinv25-image.sh</span></code>同级目录,并重命名为<code><span class="color_font">u-boot.bin;</span></code></li>
<li class="otl-paragraph">运行 <code><span class="color_font">mk-deepinv25-image.sh</span></code> 自动打包生成可烧录镜像。</li>
</ul>
<p> </p>
<h1 class="otl-heading"><strong>三、烧录准备(附工具+步骤)</strong></h1>
<h2 class="otl-heading"><span class="color_font"><strong>工具准备</strong></span></h2>
<ol>
<li class="otl-paragraph">核心工具:rkdevtool(RK分区烧录)、balenaetcher(U盘/<span class="color_font">NVME</span>盘烧录)</li>
<li class="otl-paragraph">辅助:板卡、数据线(USB-Type-C 等)、存储介质(emmc/U盘/<span class="color_font">NVME</span>盘/TF卡)</li>
</ol>
<p> </p>
<h2 class="otl-heading"><span class="color_font"><strong>场景1:RK 分区烧录(对应方案一生成的 update.img)</strong></span></h2>
<ul>
<li class="otl-paragraph">板卡进入 maskroom/loader 模式(通常长按板卡上的 Loader 键,同时连接数据线到电脑);</li>
<li class="otl-paragraph">打开 rkdevtool,点击「固件」按钮,加载生成的 update.img;</li>
<li class="otl-paragraph">确认设备连接成功后,点击「升级」,等待烧录完成(期间不要断开连接)。</li>
</ul>
<p><img loading="lazy" class="alignnone size-full wp-image-37922" src="https://www.deepin.org/wp-content/uploads/2025/11/image-19.png" alt="" width="693" height="306" srcset="https://www.deepin.org/wp-content/uploads/2025/11/image-19.png 693w, https://www.deepin.org/wp-content/uploads/2025/11/image-19-300x132.png 300w, https://www.deepin.org/wp-content/uploads/2025/11/image-19-150x66.png 150w, https://www.deepin.org/wp-content/uploads/2025/11/image-19-24x11.png 24w, https://www.deepin.org/wp-content/uploads/2025/11/image-19-36x16.png 36w, https://www.deepin.org/wp-content/uploads/2025/11/image-19-48x21.png 48w" sizes="(max-width: 693px) 100vw, 693px" /></p>
<div>
<div>
<p> </p>
<h2 class="otl-heading"><span class="color_font"><strong>场景2:Armbian 分区固件烧录(对应方案二生成的 img)</strong></span></h2>
<p class="otl-paragraph"><strong>EMMC 烧录</strong>:使用 RKDevTool 或其他兼容工具直接写入。</p>
<p><img loading="lazy" class="alignnone size-full wp-image-37923" src="https://www.deepin.org/wp-content/uploads/2025/11/image-20.png" alt="" width="693" height="306" srcset="https://www.deepin.org/wp-content/uploads/2025/11/image-20.png 693w, https://www.deepin.org/wp-content/uploads/2025/11/image-20-300x132.png 300w, https://www.deepin.org/wp-content/uploads/2025/11/image-20-150x66.png 150w, https://www.deepin.org/wp-content/uploads/2025/11/image-20-24x11.png 24w, https://www.deepin.org/wp-content/uploads/2025/11/image-20-36x16.png 36w, https://www.deepin.org/wp-content/uploads/2025/11/image-20-48x21.png 48w" sizes="(max-width: 693px) 100vw, 693px" /></p>
</div>
<div>
<div>
<div>
<div>
<p class="otl-paragraph">
</div>
</div>
<p class="otl-paragraph"><span class="color_font"><strong>U盘/NVME 启动</strong></span><span class="color_font">:</span></p>
<ul>
<li class="otl-paragraph">利用 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卡中(确保启动引导正常);</li>
<li class="otl-paragraph">打开balenaetcher,选择方案二生成的 img 文件,选择目标U盘/<span class="color_font">NVME</span>;</li>
<li class="otl-paragraph">点击「Flash!」,等待烧录完成。</li>
</ul>
<p class="otl-paragraph">注意:若U盘/<span class="color_font">NVME</span> 无法启动,需检查在uboot是否正确使能了 U盘/PCIe 接口。</p>
</div>
</div>
</div>
</div>
</div>
<p> </p>
<p class="otl-paragraph"><span class="color_font">通过以上步骤,你就能在 RK3588 开发板上成功运行 deepin 25 系统。无论是作为开发平台还是日常使用,这都为 ARM64 平台带来了完整的 deepin 桌面体验。</span></p>
<p class="otl-paragraph"><span class="color_font">再次感谢 @</span>康成成<span class="color_font"> 的贡献及分享!若您在实践过程中遇到了任何问题,或者对我们的教程有任何建议,欢迎随时在</span><span class="color_font">deepin 社区论坛</span><span class="color_font">中与我们交流。</span></p>
<div>
<div>
<div>
<div>
<p> </p>
</div>
</div>
</div>
</div>
</div>
頁:
[1]