专业术语
- dt — 设备树(Device Tree)
- dts — 设备树源码(Device Tree Source),一种 ASCII 文本格式,用于描述硬件布局
- dtc — 设备树编译器(Device Tree Compiler),将源码文件转换为二进制文件
- dtb — 设备树二进制文件(Device Tree Blob),由引导加载程序读入内存供内核解析
DSM 的设备树
近年来 Synology 新发布的机型已基本全面采用设备树架构。相比传统方式,设备树模型下磁盘序号的管理更加直观。但在 4.x 内核版本中,HBA 扩展卡的兼容性仍是一个需要注意的问题。
工具集
项目提供了多平台的 DTC 编译器(Windows x64、ARM、AArch64、i686、x86_64),可通过 GitHub Releases 下载。
自定义 DTS 文件
引导程序会根据实际硬件动态生成配置文件。安装系统后,操作系统会在 /etc/model.dtb 保留一份备份。以下是两种获取和编辑 DTS 文件的方法。
1. 获取当前的 DTS 文件
场景 A:系统尚未安装
通过 Telnet 连接到系统,运行以下命令将配置文件上传到临时文件服务,然后通过链接下载:
curl -sSL --insecure -w 'n' --upload-file /addons/model.dts https://transfer.sh


场景 B:系统已安装
打开终端,运行以下脚本来下载编译器、解压、反编译备份文件并上传结果:
sudo -i
curl -kL https://github.com/RROrg/rr/files/14824625/dtc_x86_64.gz -o ~/dtc_x86_64.gz
gzip -dc ~/dtc_x86_64.gz >~/dtc
chmod +x ~/dtc
~/dtc -I dtb -O dts /etc/model.dtb >model.dts
curl -sSL --insecure -w 'n' --upload-file ~/model.dts https://transfer.sh
2. 编辑 DTS 文件
使用以下命令获取存储设备信息:
SATA
cat /sys/block/sata*/device/syno_block_info
NVMe
cat /sys/block/nvme*/device/syno_block_info
根据获取到的信息,手动为空闲的硬盘位补充配置。
3. 使用 DTS 文件
将修改后的 DTS 文件应用到你的引导配置中,完成设备树的自定义过程。
注意事项
DT 型号目前不支持 HBA 扩展卡。编辑 DTS 文件时请仔细核对每个盘位对应的 PCIE 路径,错误的配置可能导致磁盘无法正确识别。