Aiffro K100全闪Nas上手体验–安装黑群晖

2024-04-23 13:53:51 11点赞 88收藏 18评论

前言

上一篇文章提到了在K100上面安装黑群失败了,原因是群晖不支持装在M.2的nvme固态上面,在网上找了一圈,,找到了一篇这个文章:
如何创建一个纯 NVMe 固态的群晖
https://jim.plus/blog/post/jim/synology-installation-with-nvme-disks-only
于是决定顺着这个文章尝试一下
本来是想记录一下,废话有点多,还有失败的过程,实际安装的过程可以直接看这里

制作启动盘

制作启动盘,首先要格式化,我用的是卡+读卡器,格式化用的是SDformater

Aiffro K100全闪Nas上手体验–安装黑群晖


网上能找到的RR只有2023.11.28告别版,是我在矿神上面找到的,地址是:https://imnks.com/7805.html,发现要付费,于是决定在网上搜索一下,找到了这个地址,不确定是不是原版,先这样用着:https://fw.wifihell.com:1111/Synology/rr/

2024.04.24更新:根据评论区提示,RR地址重新开放了,地址:https://github.com/RROrg/rr
解压之后是下面这个img

Aiffro K100全闪Nas上手体验–安装黑群晖


接下来是用Rufus软件烧录到U盘中,引导类型选择这个img,然后开始烧录

Aiffro K100全闪Nas上手体验–安装黑群晖


当进度条重新回到准备就绪的时候说明烧录结束了

启动

网线、U盘、键鼠、电源插上K100,按下电源键开始启动
启动的时候把usb UEFI这个启动排在前面。

Aiffro K100全闪Nas上手体验–安装黑群晖


然后保存并退出
接下来就是启动顺序选择,不选也可以,自动进的

Aiffro K100全闪Nas上手体验–安装黑群晖


再等一会就进到了RR界面,记住这里的ip

Aiffro K100全闪Nas上手体验–安装黑群晖


在电脑上面输入这个IP+端口,就能进到RR的配置页面,并选第一个choose a model

Aiffro K100全闪Nas上手体验–安装黑群晖


进到页面之后,选择SA6400

Aiffro K100全闪Nas上手体验–安装黑群晖


然后选择第二个,choose a version

Aiffro K100全闪Nas上手体验–安装黑群晖


选择7.2

Aiffro K100全闪Nas上手体验–安装黑群晖


默认回车就行

Aiffro K100全闪Nas上手体验–安装黑群晖


然后build the loader

Aiffro K100全闪Nas上手体验–安装黑群晖


Aiffro K100全闪Nas上手体验–安装黑群晖


等待结束之后选择boot the loader就行了

Aiffro K100全闪Nas上手体验–安装黑群晖


这时候可以看到web界面有变化,提示网页变成了这样

Aiffro K100全闪Nas上手体验–安装黑群晖


等待重启结束之后,输入http://10.10.10.138:5000/之后会进到DSM的引导界面,并且提示没有找到disk,如下所示

Aiffro K100全闪Nas上手体验–安装黑群晖


根据前言提到的文章中写的内容,应该是硬盘判断出了问题,按下F12,并点击refresh,能看到/get_state.cgi这个判断,得到的结果是has_dick=false

Aiffro K100全闪Nas上手体验–安装黑群晖


启动之后,这是一个ramdisk系统。
通过portscan扫描,能看到只开了80和23端口,可以通过telnet连上群晖

Aiffro K100全闪Nas上手体验–安装黑群晖


搜索能看到,这个文件在/usr/syno/web/webman/get_state.cgi

Aiffro K100全闪Nas上手体验–安装黑群晖


打开文件之后,找到了这一行

if [ "xyes" != "x${SupportBuildinStorage}" ]; then buildin_storage='false' if [ ! -z "$partition" ];then has_disk='true' else has_disk='false' fi disk_count=`echo $partition | wc -w` else buildin_storage='true' has_disk='true' disk_name=$(basename ${buildin_storage_node}) disk_size=$(cat /sys/block/${disk_name}/size) if [ "0" -eq "${disk_size}" ]; then has_disk='false' elif [ "${min_buildin_storage_size}" -gt "${disk_size}" ]; then disk_size_enough='false' fi fi

通过检查变量partition是否非空。如果partition有值(即系统中存在磁盘分区),则has_disk=’true’,否则has_disk=’false’
再看最上面,

partition="$(/usr/syno/bin/synodiskport -installable_disk_list)"

也就是partition是通过执行/usr/syno/bin/synodiskport -installable_disk_list这行命令的结果,来判断是否有盘
退出来,手动执行这个命令,可以发现的确为空
打开/usr/syno/bin/synodiskport脚本,发现是个二进制文件,这里可以直接改成别的脚本
输入命令

ls /sys/block

可以看到,还是能识别到nvme盘的,通过grep筛选一下sata和nvme

ls /sys/block | grep '(nvme*|sata*)' | xargsAiffro K100全闪Nas上手体验–安装黑群晖


最后脚本可以和synodiskport放在同一个目录,下面是脚本内容

SynologyNAS> cat /usr/syno/bin/checkdisk #!/bin/sh if [ "$1" == "-installable_disk_list" ]; then disks=$(ls /sys/block | grep '(nvme*|sata*)' | xargs) echo " "$disks else /usr/syno/bin/synodiskport "$@" fi

如下图所示,把/usr/syno/web/webman/get_state.cgi里面的partition=”$(/usr/syno/bin/synodiskport -installable_disk_list)”改成下面的

partition="$(/usr/syno/bin/checkdisk -installable_disk_list)"Aiffro K100全闪Nas上手体验–安装黑群晖


最后更改一下权限

chmod 777 /usr/syno/bin/checkdisk

刷新一下,能发现通过了第一步的检查,点击安装

Aiffro K100全闪Nas上手体验–安装黑群晖


默认选项即可,,点击next

Aiffro K100全闪Nas上手体验–安装黑群晖


然后就进到了安装页面,过了一会会提示安装错误,是get_install_progress.cgi的错误

Aiffro K100全闪Nas上手体验–安装黑群晖


再后面就是涉及到二进制的修改了,不太会用bpftrace和IDA,所以后面就进行不下去了。

转机

上面有提到,这是一个ramdisk系统,顾名思义,这是一个把ram作为disk的系统,所以所有修改只是临时的,修改之后如果重启,所有数据都会丢失,所有的修改都是通过rr里面的通过addon的形式进行修改,找了一下这位作者的所有文章,能发现在About-Me里面有github,点击去看,能看到一个arpl-addons的仓库,里面有这个插件,代码在下面:
https://github.com/jim3ma/arpl-addons/blob/epyc7002-sa6400/patches/all/addons/patches/db.yaml
可以看到这里面有很多修改,我这里选择的是SA6400的69057系统版本,所以涉及到的修改应该是1,2,3,6
下载并进入仓库

git clone https://github.com/jim3ma/arpl-addonscd arpl-addonsAiffro K100全闪Nas上手体验–安装黑群晖


有一个compile-addons.sh脚本,如下所示,执行就能编译

Aiffro K100全闪Nas上手体验–安装黑群晖


编译完了就可以在当前目录看到所有插件

Aiffro K100全闪Nas上手体验–安装黑群晖


我把这个目录放到了博客的首页https://qubot.org/patches.addon

添加插件

重启K100,选择第二个Configure loader

Aiffro K100全闪Nas上手体验–安装黑群晖


开机结束之后,可以ssh进到rr的后台,用户名是root,密码是rr
打开/opt/rr/ramdisk-patch.sh,在# Reassembly ramdisk后面添加

sed -i 's/WithInternal=0/WithInternal=1/' /tmp/ramdisk/linuxrc.syno.implAiffro K100全闪Nas上手体验–安装黑群晖

在浏览器重新进到rr的引导界面,http://10.10.10.138:7681/,
选完model和version之后,选择advanced menu

Aiffro K100全闪Nas上手体验–安装黑群晖


选择保存修改,如图所示

Aiffro K100全闪Nas上手体验–安装黑群晖


选择Yes

Aiffro K100全闪Nas上手体验–安装黑群晖


这个时候,会一直显示saving,我这大概持续了4分钟

Aiffro K100全闪Nas上手体验–安装黑群晖

回到主页面,选择addons menu

Aiffro K100全闪Nas上手体验–安装黑群晖


选择upload a external addon

Aiffro K100全闪Nas上手体验–安装黑群晖


按回车

Aiffro K100全闪Nas上手体验–安装黑群晖


点击出现的上传按钮

Aiffro K100全闪Nas上手体验–安装黑群晖


选择addon文件,并点击确定

Aiffro K100全闪Nas上手体验–安装黑群晖


回车

Aiffro K100全闪Nas上手体验–安装黑群晖


这时候回到了addon页面,选择第一个,add addons

Aiffro K100全闪Nas上手体验–安装黑群晖


选择patches

Aiffro K100全闪Nas上手体验–安装黑群晖


这里要选择做哪几个修改,我们用的是SA6400的69057系统版本,涉及到的修改只是1,2,3,6,所以应该输入1 2 3 6,注意有空格

Aiffro K100全闪Nas上手体验–安装黑群晖


回到主菜单,重新build引导

Aiffro K100全闪Nas上手体验–安装黑群晖


build之后选择boot the loader启动就行了
接下来还是进到群晖的安装向导:http://10.10.10.138:5000/
然后就是正常的安装流程了,后面可以参考以前的文章。

Aiffro K100全闪Nas上手体验–安装黑群晖


Aiffro K100全闪Nas上手体验–安装黑群晖
展开 收起
18评论

  • 精彩
  • 最新
  • rr现在在电报上

    校验提示文案

    提交
    可以,我找找

    校验提示文案

    提交
    收起所有回复
  • 只要最后一步添加你的addon就行了吗?

    校验提示文案

    提交
    可以看第四篇,那篇是安装的步骤,这篇主要记录一下心得

    校验提示文案

    提交
    收起所有回复
  • rr的github地址恢复了

    校验提示文案

    提交
    还真是,我写的时候好像还没有

    校验提示文案

    提交
    收起所有回复
  • 这么麻烦 我记得有现成的插件吧

    校验提示文案

    提交
    两天前更新了一版,可以直接支持纯m2盘

    校验提示文案

    提交
    收起所有回复
  • 最新不是24.4.2了么

    校验提示文案

    提交
    是的,写这篇文章的时候还没有,拖延症一直没发hhh

    校验提示文案

    提交
    现在24.5.1了 [欢呼]

    校验提示文案

    提交
    收起所有回复
  • 群晖能摆脱sata硬盘可真是太爽了

    校验提示文案

    提交
    m2还是太贵了

    校验提示文案

    提交
    [皱眉] sata也有固态啊

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 还是那个站,搜索下rr

    校验提示文案

    提交
  • 请问作者大咖,这个“patches.addon”存在哪里啊,突然需要选择文件,不知道在哪里

    校验提示文案

    提交
  • [+1]

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
88
扫一下,分享更方便,购买更轻松