本帖最后由 gasment 于 2020-8-3 17:10 编辑  
 
蜗牛j1900越用越觉得不安逸,于是用蜗牛机箱和电源另组了一个新平台,主要解决jellyfin解码问题 
硬件信息: 
CPU:G4560,(支持VT_D,VT-x,硬件解码十分齐全,性能强劲,同时运行软路由系统和群晖毫无压力。而且14nm功耗理想) 
主板:msi H110I pro itx(自带4个sata口,满足蜗牛盘位,pcie x16可用小一点的x4延长线引到机箱外扩展网卡) 
内存:8G ddr4 2133mhz 
网卡:板载rtl8111,扩展intel 82576双千兆 
组装详情可以参考油管/B站司波图的视频 
 
PVE安装方法参考各大教程,不在赘述。至少准备2个U盘和一个用于安装DSM的空白硬盘 
附件地址(包含DSM系统包)天翼云: 
 
一、pve硬件直通设置 
PVE版本6.2 
CPU(s) 4 x Intel(R) Pentium(R) CPU G4560 @ 3.50GHz (1 Socket) 
内核版本 Linux 5.4.34-1-pve #1 SMP PVE 5.4.34-2 (Thu, 07 May 2020 10:02:02 +0200) 
PVE管理器版本 pve-manager/6.2-4/9824574a 
 
最新版本PVE直通显卡需要开启gvt-g模块 
注意,intel gvt-g技术,只支持5代以上桌面CPU或者4代以上服务器CPU 
 
1、开启iommu和gvt内核  
编辑grub 
ssh连接pve 
vi /etc/default/grub 
在里面找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet" 
然后修改为: 
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1" 
 
加载直通内核模块 
echo vfio >> /etc/modules 
echo vfio_iommu_type1 >> /etc/modules 
echo vfio_pci >> /etc/modules 
echo vfio_virqfd >> /etc/modules 
echo kvmgt >> /etc/modules 
 
屏蔽驱动 
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf  
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf  
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf  
echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf  
echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf  
echo "blacklist snd_hda_intel" >> /etc/modprobe.d/blacklist.conf  
echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/blacklist.conf  
echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf 
 
2、将显卡加入直通 
查看直通设备 
lspci -nn | grep VGA 
信息如下(根据各自情况00:02.0和 [8086:5902]会不同) 
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 610 [8086:5902] (rev 04) 
 
将8086:xxxx 这个设备加入直通组(XXXX替换成自己的) 
echo "options vfio-pci ids=8086:xxxx" > /etc/modprobe.d/vfio.conf 
 
3、重启主机 
验证是否开启GVT 
ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/  #将00:02换成自己的。 
#出现下面4个选项或者类似的即成功。 
i915-GVTg_V5_1        i915-GVTg_V5_2        i915-GVTg_V5_4        i915-GVTg_V5_8 
 
 
二、搭建openwrt 
1、自行编译或者下载他人编译好的openwrt X86固件,格式为img,上传到pve储存点local下 
2、新建虚拟机,细节如图 
 
 
3、根据虚拟机id前往虚拟机管理页面,硬件中选择硬盘sata0,点击分离后删除 
4、在local-内容中上传你的openwrt固件img 
使用ssh工具连接pve 
cd到刚才上传img的目录 
cd /var/lib/vz/template/iso/ 
导入img到虚拟机 
qm importdisk 100 openwrt.img local    #100为虚拟机id,openwrt.img为固件文件名,local为储存点,都根据自己修改 
回到100虚拟机,硬件中看到新导入的未使用硬盘,选中后点击编辑,总线选择sata 
5、直通网卡 
硬件页面点击添加pci设备,下拉选择你的网卡型号(不勾选所有功能),多少个网口就添加多少相应的设备 
 
 
设置就绪可以启动虚拟机,openwrt设置参考其他教程。 
 
三、搭建DSM 
 
pve搭建DSM采用直通sata控制器和显卡,直通显卡确保上面直通部署已完成 
注意:不清楚是否个体原因,本人直接导入1.04b引导,直通sata硬盘安装总是安装失败错误13,因此另辟蹊径,先物理机安装一遍dsm再使用虚拟机引导 
。建议使用一块空白系统盘安装,避免数据丢失 
 
1、物理机安装DSM 
拔出pve系统U盘,按常规写好1.04b的引导U盘(记得修改好vid和pid、mac),去掉除待安装盘外的其他数据盘。 
U盘引导1.04b安装DSM_DS918+_24922.pat,安装完成后重启进入DSM系统,连接ssh查看是否存在显卡驱动 
root@xxx:~# ls /dev/dri 
card0  renderD128 
驱动无误则可以关机,关机后插入pve系统U盘进入PVE。 
2、新建虚拟机,细节如图 
 
 
如openwrt一样,在虚拟机硬件页面选择硬盘sata0,点击分离后删除,点击添加pci设备如图 
添加显卡和sata控制器 
 
其中,显卡添加时勾选‘所有功能’ 
3、在local-内容上传刚才修改好的1.04b引导img文件,连接pve的ssh 
cd到刚才上传img的目录 
cd /var/lib/vz/template/iso/ 
导入img到虚拟机 
qm importdisk 101 synoboot.img local    #101为虚拟机id,synoboot.img为固件文件名,local为储存点,都根据自己修改 
4、回到101虚拟机,硬件中看到新导入的未使用硬盘,选中后点击编辑,总线选择sata 0号 
设置就绪,开启虚拟机,如无意外,提示恢复系统,恢复后重启即可进入原先物理安装的DSM,再次检查显卡驱动是否存在。 
 
6.2.2升级6.2.3会丢失显卡驱动,不追求最新系统不建议升级,以下是为6.2.3添加显卡驱动的方法 
1、前往群晖官网下载6.2.3系统包,在控制面板上传升级,无意外重启即可升级成功 
1.04b 显卡驱动最高支持到6.2.2,更新6.2.3就会自动移除驱动,因此要手动替换原驱动 
2、将DSM虚拟机停止 
winscp或者带文件功能的ssh(如final shell和mobaXterm)应用连接pve,找到引导映像/var/lib/vz/images/vm-101-disk-0.raw  (根据虚拟机id则101不同) 
下载vm-101-disk-0.raw到本地计算机,打开diskgenius 专业版(附件已提供),点击disk选项卡-选择open virtual disk file,在文件浏览窗口右下角选择所有文件类型,打开刚才下载的raw文件 
如图进入驱动文件夹,将附件文件夹extra918plus_v0中的两个文件拖入替换(每个文件大小约5M,请检查) 
 
 
3、关闭diskgenius,回到winscp或者带文件功能的ssh,将/var/lib/vz/images/vm-101-disk-0.raw删除,同/var/lib/vz/images/目录下上传刚才替换好的vm-101-disk-0.raw 
DSM虚拟机开机,进入系统后检查驱动情况 ls /dev/dri 
 
关于升级6.2.3-update2 
6.2.3直接升级6.2.3-update2会卡95%,如升级请如下操作 
将附件中的DSM/6.2.3-update2/FixSynoboot.sh文件上传到DSM,如/volume1/other 
连接DSM的ssh,键入 
cp /volume1/other/FixSynoboot.sh /usr/local/etc/rc.d/FixSynoboot.sh    #/volume1/other根据自己上传目录修改 
chmod 755 /usr/local/etc/rc.d/FixSynoboot.sh 
 
完成后重启DSM,在控制面板直接更新update2即可 
 
 |