Armbian 如何在 RK3568 开发板 DG-TN3568 上完整落地:设备树适配与 4 步刷写指南
【免费下载链接】amlogic-s9xxx-armbianSupports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.项目地址: https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian
想在 DG-TN3568 上跑 Armbian?ophub/amlogic-s9xxx-armbian 项目已完整支持这块 RK3568 开发板:四核 A55、4GB 内存、32GB eMMC,千兆网和 SATA 3.0 全部可用,还能白嫖 RKMPP 媒体引擎和 NPU 算力。本文讲清楚从设备树踩坑到镜像落地的全过程。
为什么选这块板子做 Armbian 适配
amlogic-s9xxx-armbian 的定位很明确:把官方 Armbian 系统扩展到那些不受官方支持的 ARM 设备上,覆盖 Amlogic、Rockchip、Allwinner 三大平台,让电视盒子、工业板卡都能变身 Linux 服务器。
DG-TN3568 在这张版图中属于 Rockchip RK3568 家族的一员。RK3568 是这个价位的性能甜点——比 RK3566 多了 NPU 和 RKMPP 媒体引擎,跑 AI 推理和视频转码不吃力。DG-TN3568 的定位则是「带 SATA 的入门 NAS/服务器板」,千兆网 + SATA 3.0 的组合在这个价位段不多见。
适配的动机主要来自社区:2024 年 11 月,有用户基于项目 Issues 区的需求把这块板子的硬件细节整理出来,贡献者 stevenliuit 据此完成了适配,板子随后正式进入项目支持列表。板子的档案信息就记录在项目 设备型号数据库 里,一行配置写明了它的设备树、U-Boot 文件和内核版本。
硬件规格速览
先看硬件,这张表就是这块板子的「身份证」:
| 项目 | 规格 |
|---|---|
| 处理器 | Rockchip RK3568,四核 Cortex-A55 |
| 内存 | 4GB LPDDR4 |
| 存储 | 32GB eMMC |
| 网络 | 1× 千兆以太网 |
| USB | 1× USB 接口 |
| 扩展 | 1× SATA 3.0 接口 |
| 特色 | RKMPP 硬件媒体引擎、NPU 算力单元 |
说白了,这是一块拿来跑 Docker、挂 NAS、做轻 AI 推理都不怵的板子。
适配链路全解:设备树踩坑、定位与修复
适配新板子的核心工作就是设备树(DTS,给内核描述硬件配置的「说明书」)。DG-TN3568 走的是标准流程:参考 RK3568 通用设备树 → 定制rk3568-dg-tn3568.dts→ 编译生成 dtb → 联调验证。但第一版并不顺利。
第一步:设备树编译警告与接口识别不稳
最初版本的设备树存在三类问题:
- 编译时产生警告信息
- SATA 接口识别不稳定
- 部分硬件功能无法正常使用
排查思路是先让设备树「安静」——逐条消掉编译警告,把每个节点的写法对齐 Rockchip 平台规范,再逐个接口联调。
第二步:SATA 识别问题的根因在内核 PHY 驱动
SATA 的问题最有意思:它不是板子的锅,而是内核的锅。
- 现象:内核版本在 6.6.69 至 6.6.74 区间时,SATA 设备时有时无
- 定位:内核中
phy-rockchip-naneng-combphy.c驱动(负责 RK3568 上 USB/SATA 共享的 PHY 复位控制)在这几个版本被修改,PHY 复位处理方式变了 - 细节:驱动对 PHY 复位的处理方式改变、时序控制不够精确、电源管理状态切换存在问题,三者叠加导致 SATA 链路训练偶发失败
- 修复:内核 6.6.76 的提交调整了 PHY 复位的时序控制和状态管理逻辑,问题消失
验证方式很简单:升级到 6.6.76 后插一块 SATA 硬盘,反复插拔观察内核日志,链路稳定建连即可确认。DG-TN3568 目前锁定的内核系列是 6.18.y(见型号数据库中的stable/6.18.y配置),早已包含该修复。
第三步:USB 接口三连修
USB 的稳定性提升靠了三处配合:
- 调整了 USB PHY 的电源管理配置
- 优化了时钟树配置
- 修正了设备树中关于 USB 控制器的描述
修完后的验证项:U 盘即插即用、lsusb信息完整、拔插百次不掉线。
第四步:整体验证与入库
验证清单覆盖四个方面:系统启动流程是否完整、所有硬件接口(千兆网 / eMMC / SATA / USB)是否正常工作、性能指标是否符合预期、长时间稳定性测试。全部通过后,板子才正式写入项目 支持设备列表 并纳入官方镜像构建流程。
从零构建并刷入系统
产物先说清楚,一共四样:
| 产物 | 文件 | 作用 |
|---|---|---|
| 设备树 | rk3568-dg-tn3568.dtb | 硬件描述,启动时加载 |
| U-Boot | u-boot.itb+idbloader.img | 引导加载与 BootROM 引导 |
| 内核 | 6.18.y 系列(ophub 定制内核) | 系统核心 |
| 镜像 | Armbian_*.img | 最终可刷写成品 |
1. 本地编译镜像
在 Ubuntu 22.04/24.04 的 x86_64 主机上,先克隆仓库:
git clone --depth 1 https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian
进入仓库根目录执行sudo ./rebuild -b dg-tn3568。脚本会自动完成:下载 U-Boot 和固件仓库 → 拉取 ophub 内核包并做 sha256 校验 → 按 Rockchip 规范用 GPT 建分区(bootfs 为 ext4)→ 把idbloader.img、u-boot.itb、trust 镜像 dd 到镜像的对应扇区 → 替换内核五件套(Image、uInitrd、dtb、modules、headers)→ 生成最终Armbian_*.img。想省掉本地编译,也可以在仓库的 Actions 工作流里点一下在线构建。
2. 刷写到 eMMC
两条路任选:
- SD 卡中转:用 Rufus 或 balenaEtcher 把镜像写入 SD 卡,开机进系统后执行
dd if=armbian.img of=/dev/mmcblk1 bs=1M status=progress,一次到位 - Maskrom 模式:断电,按住 Recovery 键插 USB 线进 Loader 模式,RKDevTool 里加载
idbloader.img引导,地址0x00000000选镜像文件执行写入
刷完开机,默认账号 root、密码 1234,SSH 端口 22。
3. 内核升级与回滚
之后升内核只需一条armbian-update。当前内核会自动备份到/ddbr/backup,最多保留 3 个版本;万一新内核起不来,armbian-update -s可把 eMMC 上的系统内核一键还原。
常见故障速查
SATA 设备无法识别
- 现象:插上硬盘后
lsblk无反应,或偶尔识别 - 排查点:内核版本是否在 6.6.76 或更新;设备树中 SATA 控制器节点配置是否正确;板卡电源是否充足(SATA 硬盘瞬间电流不小)
- 解决办法:升级到新内核;核对 dtb 是否为
rk3568-dg-tn3568.dtb;换更稳的电源适配器
USB 设备不工作
- 现象:U 盘插入无反应
- 排查点:设备树中 USB PHY 配置;内核日志(
dmesg)里 USB 相关报错;换 USB 端口(如有) - 解决办法:确认 PHY 节点与上游一致;按日志报错对症改配置;检查供电
系统更新后无法启动
- 现象:升级内核或系统后黑屏
- 排查点:/boot 分区中的设备树文件是否被覆盖成错误型号
- 解决办法:重新刷写正确的设备树文件;或用
armbian-update -s回滚到上一版本系统内核
进阶调优方向
有基础的朋友可以继续往下挖:
- 内存:4GB 跑 Docker 不够用就执行
armbian-swap 1创建 swap 虚拟内存;再进一步可调 DDR 频率与时序参数 - 存储:eMMC 和 SATA 分别选 I/O 调度器——eMMC 倾向低延迟调度,SATA 大容量盘可上多队列调度器;文件系统按需开启压缩或写回特性
- NPU 加速:确认 NPU 驱动正确加载后,把神经网络模型按 RK 工具链转成对应格式部署,别在 A55 上硬跑 CPU 推理
- 多媒体:充分利用 RKMPP 硬件编解码,调整视频参数走硬解路径,CPU 占用能压下来一大截
小结与后续路线
至此,DG-TN3568 在 amlogic-s9xxx-armbian 项目中已实现完整支持:设备树rk3568-dg-tn3568.dtb编译无警告,千兆网、eMMC、SATA、USB 全部验证通过,锁定 stable/6.18.y 内核系列并纳入官方构建。后续改进方向也已清晰:进一步完善电源管理、优化热管理策略、增强 NPU 与 RKMPP 支持、提供更多预配置镜像选项、改进硬件监控与诊断工具。手里有这块 RK3568 板子的朋友,可以直接按本文流程把 Armbian 刷上去试试。
【免费下载链接】amlogic-s9xxx-armbianSupports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.项目地址: https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考