帮群友远程unraid虚拟黑群晖,后来群友要求把nvme固态直通到黑裙里当缓存使用,需要修改libsynonvme.so.1这个文件,网上搜索了一下相关教程,在 https://blog.dateno1.com/?p=3890 找到了解决办法,但是要用二进制编辑器修改libsynonvme.so.1,所以此教程诞生了 😛

本文中使用的引导是 RedPill-TTG 代码构建,git地址:https://github.com/RedPill-TTG/redpill-load,https://github.com/RedPill-TTG/redpill-lkm。感谢 RedPill-TTG 团队所做出的贡献。

首先 使用 ls /dev/nvm* 命令查看是否认到nvme固态硬盘

然后使用 udevadm info /dev/nvme0n1 查询 并得到 nvme固态硬盘在群晖中的硬件地址。地址为:0000:00:1c.0

unraid虚拟 黑DSM群晖918+ 7.0.1 42218 直通nvme硬盘做缓存(非原创) 群晖-Synology 第1张

SSH登录群晖 并 输入命令 sudo -i 进入root 模式

备份libsynonvme.so.1文件

cp -f /usr/lib64/libsynonvme.so.1 /volume1/homes/libsynonvme.so.1 (/volume1/homes/路径根据自己的实际情况修改)

登录群晖网页端,打开 文件管理,找到 homes 目录。把刚才复制过来的libsynonvme.so.1文件下载到本机

本人使用的是 C32Asm 编辑文件。其实二进制编辑软件很多,例如  winhex,uedit,Beyond Compare等等。。。软件可自行百度查找下载

打开 C32Asm ,将libsynonvme.so.1 导入,选择 十六进制模式 并确定。

unraid虚拟 黑DSM群晖918+ 7.0.1 42218 直通nvme硬盘做缓存(非原创) 群晖-Synology 第2张

搜索  918 字符串,点击下一个

unraid虚拟 黑DSM群晖918+ 7.0.1 42218 直通nvme硬盘做缓存(非原创) 群晖-Synology 第3张

0000:00:02.3 0000:00:02.4就是我们 要修改的位置。

unraid虚拟 黑DSM群晖918+ 7.0.1 42218 直通nvme硬盘做缓存(非原创) 群晖-Synology 第4张

直接在右侧修改为 刚才查到的地址:0000:00:1c.0

将 0000:00:02.3 0000:00:02.4修改为 0000:00:1c.0 0000:00:1c.1

然后保存,把修改好的文件上传到群晖 homes目录,在ssh终端执行以下命令拷贝过去。

cp -f /volume1/homes/libsynonvme.so.1 /usr/lib64/libsynonvme.so.1

然后执行  reboot 重启群晖。

本人只是把过程 描述一下,方法是网络搜索到的,修改方法写的更直白一些,仅此而已,给小白使用。

 

参与评论