群晖SA6400修改eSATA(修改dtb)
由于群晖的从DS920开始的机器不再使用esataportcfg和internalportcfg的synoinfo进行esata和内置sata的配置,所以修改这两个参数已经不能把内置sata改为esata了
新的机型采用dtb的方式进行配置,下面将讲述如何进行dtb配置
- 首先,先把需要设置成esata的盘位插上硬盘,进入RR(或者ARPL,下称引导)的编译引导环境(Configure),正常的配置好编译引导
进入系统安装(如果已经装好系统,用第二个启动项进入安装程序)用telnet连接,用户名root没有密码,执行下面的命令查看sata口信息
cat /sys/block/sata数字/device/syno_block_info
其中“数字”取决于群晖磁盘管理中显示的硬盘序号,可以
ls /sys/block | grep sata
查看所有的pciepath
对应下方配置中完整的pcie_root
ata_port
对于下方配置中的ata_port
记下来,下面会用到执行以下命令解析并查看dtb
sudo dtc -I dtb -O dts -o model.dts /run/model.dtb # 先多按几下回车方便查找 把下面这个命令输出的内容复制下来 cat model.dts
使用Visual Studio Code或者其他记事本,使用UTF-8编码保存刚刚复制的内容(用系统自带的记事本也行)并进行修改
根据刚刚让你记下来的信息找到你的esata接口,并把它的internal_slot
改成esata_port
,并调整一下后面的数字,没有就自行增加一个esata_port@从1开始数接口数量 { ahci { pcie_root = "0000:刚刚让你记下的控制器id,00.0"; ata_port = <0x刚刚Ports里数的转16进制>; internal_mode; }; };
esata_port
是外置esata,internal_slot
是内置口,请举一反三下面则是天钡r1用pve直通n100的物理sata控制器,0口是esata(cpu风扇那边是0),1口是内置的例子
/dts-v1/; / { compatible = "Synology"; model = "synology_epyc7002_sa6400"; version = <0x01>; internal_slot@7 { protocol_type = "sata"; ahci { pcie_root = "0000:00:1f.2"; ata_port = <0x00>; }; }; internal_slot@2 { protocol_type = "sata"; ahci { pcie_root = "0000:00:1f.2"; ata_port = <0x01>; }; }; internal_slot@3 { protocol_type = "sata"; ahci { pcie_root = "0000:00:1f.2"; ata_port = <0x02>; }; }; internal_slot@4 { protocol_type = "sata"; ahci { pcie_root = "0000:00:1f.2"; ata_port = <0x03>; }; }; internal_slot@5 { protocol_type = "sata"; ahci { pcie_root = "0000:00:1f.2"; ata_port = <0x04>; }; }; internal_slot@6 { protocol_type = "sata"; ahci { pcie_root = "0000:00:1f.2"; ata_port = <0x05>; }; }; esata_port@1 { protocol_type = "sata"; ahci { pcie_root = "0000:00:1c.0,00.0"; ata_port = <0x00>; }; }; internal_slot@1 { protocol_type = "sata"; ahci { pcie_root = "0000:00:1c.0,00.0"; ata_port = <0x01>; }; }; usb_slot@1 { usb2 { usb_port = "1-1"; }; usb3 { usb_port = "1-1"; }; }; usb_slot@2 { usb2 { usb_port = "1-2"; }; usb3 { usb_port = "1-2"; }; }; usb_slot@3 { usb2 { usb_port = "1-3"; }; usb3 { usb_port = "1-3"; }; }; usb_slot@4 { usb2 { usb_port = "1-4"; }; usb3 { usb_port = "1-4"; }; }; usb_slot@5 { usb2 { usb_port = "1-5"; }; usb3 { usb_port = "1-5"; }; }; usb_slot@6 { usb2 { usb_port = "1-6"; }; usb3 { usb_port = "1-6"; }; }; usb_slot@7 { usb2 { usb_port = "2-1"; }; usb3 { usb_port = "2-1"; }; }; usb_slot@8 { usb2 { usb_port = "2-2"; }; usb3 { usb_port = "2-2"; }; }; usb_slot@9 { usb2 { usb_port = "2-3"; }; usb3 { usb_port = "2-3"; }; }; usb_slot@10 { usb2 { usb_port = "2-4"; }; usb3 { usb_port = "2-4"; }; }; usb_slot@11 { usb2 { usb_port = "2-5"; }; usb3 { usb_port = "2-5"; }; }; usb_slot@12 { usb2 { usb_port = "2-6"; }; usb3 { usb_port = "2-6"; }; }; };
强制关机重启,进入引导,用浏览器访问引导的web配置界面,选择“高级”中的“自定义dts文件”上传你刚刚编辑好的文件,并进行一次编译,再正常启动即可完成对esata的配置
另外也可以直接对系统中的dtb进行覆盖,但是可能会导致你的修改被系统覆盖而无法生效,所以不推荐,除非你是白的
sudo dtc -I dts -O dtb -o model.dtb model.dts cp -f model.dtb /etc/model.dtb cp -f model.dtb /etc.defaults/model.dtb
如果咩咩的文章对你有帮助,您可以 请我喝牛奶
怎么你们的博客都要爬墙了
不用啊,是你网太辣鸡了吧
usb外置硬盘如何转成内置存储空间?
有人成功过,操作步骤跟这个一样,但是拔插会导致出问题,需要插上再开机
尝试把dts中usb_slot直接修改成internal_slot并不行,您知道详细如何修改吗
除非你是白的你可以直接改他上面那些,不然你得找你自己的usb在什么地方
能详细介绍下吗?我
不能,写的那么清楚了,连复制粘贴都不会的话我没法教你,或者你财大气粗可以掏钱买我时间,直接帮你搞定
清楚个锤子,格式都不一样,格式都不一样,还说复制粘贴
眼睛不需要的可以捐给有需要的人,文件都操作错了当然格式不一样,现在的伸手党都那么傻的吗
有点奇怪,我主板直通的4块盘能识别,但是直通了拓展卡之后反而只能识别一块盘,其他盘全显示是未共享,不支持的格式。哪怕是主板直通能正常的4块盘也是的。
只能说是通错了或者配错了
引导界面也加了参数并编译:
maxdisks="32"
usbportcfg="0x00000000"
internalportcfg="0x0000001"
esataportcfg="0xfffffffe"
但还是没啥变化。
你看清楚了,我也没让你去加这个啊