在PVE中安装群晖DSM系统
其实我一直对群晖的系统不太感冒,一方面它是闭源的,我无法得知它里面有多少未修复的漏洞以及后门;另一方面,即使硬件已经有了超高的溢价,群晖的套件也没有想象中那么好用,App总感觉就是半成品,系统与数据混在一起,这些因素决定了我注定不会是群晖的受众。但有钱能使鬼推磨,网心云发布了基于群晖的PCDN业务,并且看起来收益要优于Docker业务,于是,我也开始折腾起黑群晖了。
创建虚拟机
在PVE中创建一个标准的虚拟机,注意以下几点:
- 在第二步OS中,选择
Do not use any media
。 - 在第4步Disks中,删除所有硬盘。
- 第5步CPU中,Type选择
host
。 - 第6步Memory中,至少设置4GB内存。
安装引导
目前黑群晖主要是使用RedPill项目组开发的RPL(RedPill Loader),放在以前,我们可能需要手动编译,还得设置正确的VID、PID、MAC等。但得益于ARPL(Automated Redpill Loader)项目,现在只要在menuconfig中简单设置几个选项,就可以得到专用的Loader,并且能够兼容最新的DSM系统。
ARPL本质上就是一个使用Ramfs的Linux系统,它里面配置了编译RPL所需的最小软件集。当我们启动ARPL的镜像后,就可以通过终端或者Web配置编译RPL,并且它会自动将RPL写入分区,并支持后续启动工作。
因此,安装引导主要包括以下几个步骤:
下载ARPL镜像并解压,例如
1
2
3wget https://github.com/fbelavenuto/arpl/releases/download/v1.1-beta2a/arpl-1.1-beta2a.img.zip
unzip arpl-1.1-beta2a.img.zip将ARPL以USB存储设备的方式挂载到虚拟机
假设你的虚拟机编号是
200
,在第一行添加如下内容,注意file=
后面需要使用ARPL镜像的绝对路径。假设我们将解压出的
arpl.img
放在/root/arpl.img
,那么需要做如下配置1
2
3
4
5
6mv arpl.img /root/
vim /etc/pve/qemu-server/200.conf
<<<
args: -device 'qemu-xhci,addr=0x18' -drive 'id=synoboot,file=/root/arpl.img,if=none,format=raw' -device 'usb-storage,id=synoboot,drive=synoboot,bootindex=1'
>>假设我们要使用LVM分区,那么需要做如下配置
1
2
3
4
5
6
7
8创建一个新的LVM分区,假设你的VG是ssd,新的分区名为synoboot,新分区大小为1GiB
lvcreate -L 1GB -n synoboot ssd
dd if=./arpl.img of=/dev/ssd/synoboot
vim /etc/pve/qemu-server/200.conf
<<<
args: -device 'qemu-xhci,addr=0x18' -drive 'id=synoboot,file=/dev/ssd/synoboot,if=none,format=raw' -device 'usb-storage,id=synoboot,drive=synoboot,bootindex=1'
>>启动ARPL,配置相关选项,并启动系统
在终端输入
menu.sh
启动配置界面。进入
Choose a model
选项,选择所需机型,通常选择DS918+
。直接选择最新版即可。
选择
Build
,开始编译ARPL。选择
Boot
,启动引导程序。
安装系统
记录下终端上显示的IP,如192.168.0.2,接着在浏览器中输入
即可进入DSM的安装界面。