最近入手了万由的 NAS 机箱以及 J4125 板子,这里记录一下我的 All in One All in Boom 的折腾历程。注意这篇并文章非教程,只是个记录罢了。
PVE
PVE 是一个虚拟机平台。
- 下载 PVE https://www.balena.io/etcher/。
- 使用 balenaEtcher 将镜像写入空 U 盘。
- BIOS 设置 U 盘启动,一路下一步。(不过不适配 4k 显示器太折磨了)
- 最后自动重启,显示器上就会显示管理地址了,可以通过该地址进入管理页面,终于摆脱显示器的束缚了。
这里码一下万由主板风扇控制命令。i2cset -y 0 0x54 0xF0 <等级>
,等级范围为 0~255。
网卡等硬件直通
编辑 GRUB 配置。
nano /etc/default/grub
修改 DEFAULT 行,开启 iommu。
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
更新 GRUB 配置。
update-grub
加载内核模块。编辑
/etc/modules
,添加下面的内容。vfio vfio_iommu_type1 vfio_pci vfio_virqfd
更新内核模块配置。
update-initramfs -k all -u
重启主机,之后验证直通是否开启成功。输出如下。
dmesg | grep 'remapping'
[ 0.195252] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping. [ 0.197281] DMAR-IR: Enabled IRQ remapping in x2apic mode
find /sys/kernel/iommu_groups/ -type l
/sys/kernel/iommu_groups/7/devices/0000:00:13.3 /sys/kernel/iommu_groups/5/devices/0000:00:13.0 /sys/kernel/iommu_groups/13/devices/0000:02:00.0 /sys/kernel/iommu_groups/3/devices/0000:00:0f.0 /sys/kernel/iommu_groups/11/devices/0000:00:1f.0 /sys/kernel/iommu_groups/11/devices/0000:00:1f.1 /sys/kernel/iommu_groups/1/devices/0000:00:02.0 /sys/kernel/iommu_groups/8/devices/0000:00:14.0 /sys/kernel/iommu_groups/6/devices/0000:00:13.2 /sys/kernel/iommu_groups/14/devices/0000:03:00.0 /sys/kernel/iommu_groups/4/devices/0000:00:12.0 /sys/kernel/iommu_groups/12/devices/0000:01:00.0 /sys/kernel/iommu_groups/2/devices/0000:00:0e.0 /sys/kernel/iommu_groups/10/devices/0000:00:1c.0 /sys/kernel/iommu_groups/0/devices/0000:00:00.0 /sys/kernel/iommu_groups/9/devices/0000:00:15.0
RTL8125B 网卡驱动
没错,这 PVE 7 自带的网卡驱动非常寄,还是自己手动安装一个为妙。
前置准备:修改软件源为清华源。
安装 Linux Kernel Headers
uname -r #-> 5.13.19-2-pve,查看版本,安装对应内核版本 apt install pve-headers-5.13.19-2-pve
安装 dkms
apt install dkms
伸手党下载别人编译好的驱动包 https://www.right.com.cn/FORUM/thread-7446026-1-1.html,然后dpkg -i $文件名
安装即可- 屏蔽自带 r8169 驱动。
编辑 /etc/modprobe.d/PVE-blacklist.conf
,插入一行 blacklist r8169
。
应用内核模块修改,其中
-k
后面的5.13.19-2-pve
对应uname -r
的内容,支持 Tab 补全。update-initramfs -u -k 5.13.19-2-pve
- 重启系统,如果想要验证的话,可以用
ethtool -i <网卡>
查看,网卡为ifconfig
显示的编号,比如enp2s0
。
iKuai
创建虚拟机
分配硬盘
- 官方建议配置是 > 1GB,我分配 4GB 算是绰绰有余了。
分配 CPU
- 不够了以后再调整,先分配个双核。
分配内存
- 官方建议内存 > 4GB,不过听说实际用不到这么多,先按最低标准分配 4GB 吧。
配置网络
- 作为拨号用的主系统,需要直通一个网卡,不然会卡卡卡卡死,所以安装好后需要进行 PCI 设备直通。
- 添加 PCI 设备——网卡,勾选「所有功能」。(02:00.0 一般是管理口,直通的话,PVE 管理界面就进不去了,不要问我怎么知道的)
- 启动虚拟机安装 iKuai 吧。
- iKuai 安装好之后,记得启动 DHCP 服务器。「网络设置」→「DHCP 设置」→「DHCP 服务端」,添加 DHCP 地址池并启用即可。
OpenWrt
- 新建一个空虚拟机,操作系统不使用任何介质,系统机型选择 Q35,其他的按需分配,注意硬盘过会也要删掉,所以随意设置大小吧。
- 硬件菜单,选择硬盘,分离并删除(把虚拟硬盘扬了。
- 把 OpenWrt 镜像上传到 PVE。通过
scp
传输比较方便,FTP 也可以。 - 将镜像导入到虚拟机中。
qm importdisk <虚拟机ID> <镜像文件> local-lvm
,导入后 Web 界面就能看到这个「未使用的磁盘」了。 - 双击,添加这个「未使用的磁盘」。
- 选项里面,修改「引导顺序」,把刚才添加的硬盘挪到第一位,接下来启动虚拟机吧。
- 可以编辑
/etc/config/network
修改 OpenWrt 的 IP 地址,通过该地址访问管理界面。
既然装好了 OpenWrt 就随便折腾吧,注意需要设置 LAN 接口的网关为 iKuai 的 IP 地址,并关闭 DHCP 分配(忽略此接口)。
黑群晖
压轴大戏!需要直通核显和硬盘,还是比较麻烦的。
核显直通
以上面的硬件直通已经做了为前提。
依然是编辑 GRUB 配置的那行。
nano /etc/default/grub
,编辑完成后更新引导update-grub
。GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt video=efifb:off"
查看核显的硬件 ID。
lspci -nn
00:02.0 VGA compatible controller [0300]: Intel Corporation GeminiLake [UHD Graphics 600] [8086:3185] (rev 06)
即 8086:3185
。
添加 vifo 配置。
nano /etc/modprobe.d/vfio.conf
options vfio-pci ids=8086:3185
屏蔽驱动。
nano /etc/modprobe.d/blacklist.conf
blacklist snd_hda_intel blacklist snd_hda_codec_hdmi blacklist i915
- 更新配置。
update-initramfs -u
- 重启 PVE 系统。
创建虚拟机
前提:BIOS 的 CSM 设置 enable,video 设置为 Legacy。
创建一个空虚拟机,注意,处理器类别选择「host」。其他保持默认或按需选择即可。
由于黑群有各种各样不同的体质,完全按照此步骤来安装不成功也是正常现象。
黑群的关键在于引导,DSM 系统可以用原厂的,从群晖官网下载即可,注意引导要支持这个版本的系统才行。有核显的机器建议选择 DS918+ 的系统。
黑群引导索引(来自 GXNAS)
虚拟机直通
核显直通
在 Web 界面添加 PCI 设备核显。
SATA 控制器直通
在 Web 端添加 SATA 控制器 PCI 设备即可。
导入引导硬盘
将引导镜像上传到 PVE 虚拟机上,执行命令导入虚拟硬盘,然后双击添加,注意选择 SATA 格式。
qm importdisk <虚拟机ID> <引导镜像文件路径> local-lvm
在选项里面设置这个硬盘为第一启动项。导入完成后就能愉快地启动系统了,启动时选择 SATA 那一项(默认是 USB)。
如果不出意外的话,访问虚拟机的 IP 地址(如果不知道的话,可以去 iKuai 的 DHCP 客户端看看)的 5000 端口就可以进入安装界面了。
你写得非常清晰明了,让我很容易理解你的观点。
富书记 OωO
富书记 OωO
富书记 (☆﹃ ☆)