[玩法/技巧] 关于DS920p和DS1621系列的dtb和dts(2022.5.24更新) |
本帖最后由 donxu 于 2022-5-28 13:25 编辑
ds920的引导,5盘位及以上的还是需要自己编辑dtb文件。之前做了一个比较详细的介绍,后来自己删了,懒得再写那么详细了。只能说下自认为比较简单的方法:1.论坛里面下载个920的引导,刷U盘备用; 2.需要安装的主机,接上硬盘,每个控制器接上一个硬盘就可以,全接上也无所谓。比如主板上自带6sata和一张5口的sata扩展卡,其实就各接一个sata硬盘就可以,因为主要是需要查看每个控制器的pcie位置。 3.开机u盘引导,引导到群晖助手里面有未安装或者可迁移的显示就看,看下IP地址。 4.浏览器输入你的群晖IP:5000/webman/start_telnet.cgi,如10.0.0.10:5000:/webman/start_telnet.cgi 浏览器反馈一个success就可以了。 5.telnet到群晖IP,用户名root,不用密码 6.接着输入:ls /sys/block/ 此时接上两个硬盘的话,就会有sata1 sata2 ,接上3个及以上就会sata3.... 7.输入:cat /sys/block/sata1/device/syno_block_info,这是查看sata1的信息 例如显示: pciepath=00:13.0,00.0 ata_port_no=1 driver=ahci 如果sata2是接在另外一个控制器上硬盘,输入cat /sys/block/sata2/device/syno_block_info 例如显示: pciepath=00:12.0 ata_port_no=1 driver=ahci上面的pciepath就是我们编辑DTB文件的关键。本帖附件中,提供了DS920和DS1621的DTS模板,DTB是DTS文件的二进制模式,因此需要先编辑DTS文件。 8.准备个ubuntu的虚拟机,也可以不用完整安装ubuntu,虚拟ubuntu安装启动后选择试用ubuntu也行。 9.用ubuntu的文档编辑修改模板的DTS文件,修改的具体过程就不说了,模板默认是4个sata,自己根据实际端口数量修改。 10.dts文件修改后,准备将dts文件转换为dtb文件,先去终端, sudo apt-get install device-tree-compiler -y 安装dtc工具 11.编辑好的dts文件,如名称为model_ds920p.dts,ubuntu的用户名为test,model_ds920p.dts放在主目录文件夹下,输入 dtc -I dts -O dtb -o /home/test/model_ds920p.dtb /home/test/model_ds920p.dts 生成的dtb文件,名称为model_de920p.dtb 可以加入到引导文件.img的custom.gz中,详见:http://www.gebi1.com/thread-301615-2-1.html 等23楼 也可以直接在github上进行编译,详见:最便捷的编译方式-GitHub直接构建DSM引导(2022.05.25日更新) - 黑白群晖 - 隔壁网 (gebi1.com) |
xcgf 发表于 2022-5-21 11:01 喜欢折腾就继续折腾呗。 我觉得这适合那些喜欢自定义硬盘控制器和硬盘编号顺序的,不用反复折腾diskidxmap和sataportmap的 |
xcgf 发表于 2022-5-21 11:40 别这么折腾了。你先查一下你几个硬盘控制器,每个控制器几个sata接口,pcie位置是什么,有没有nvme缓存,有的话pcie位置是什么。什么机型,920还是1621。我有空帮你编译一下吧 |
本帖最后由 nb12nb34 于 2022-5-21 13:24 编辑
方法和楼主的差不多,只不过我没有fork pico的仓库,直接上传dtb文件到自己的仓库,然后修改test.yml编译时的地址就行了,这样简单点 |
nb12nb34 发表于 2022-5-21 13:16 是的,你这样效率更高一些。 |
|