» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[其他] J3455安装PVE折腾记录(直通GPU至Libreelec当HTPC+黑群+OMV)20190703更新简易版

你好,我在NUC6 J3455上尝试

按照Dump VGA romfile这步时
先后试了UEFI启动live U盘,cat rom时cat: rom: Input/output error
然后传统方式用live U盘和安装到硬盘上,cat rom没问题

以下是我操作步骤,不知道是不是修复方式不对,也是先试错几次

tt@tt-NUC6CAYH:~$ git clone https://github.com/awilliam/rom-parser
正克隆到 'rom-parser'...
remote: Enumerating objects: 26, done.
remote: Total 26 (delta 0), reused 0 (delta 0), pack-reused 26
展开对象中: 100% (26/26), 完成.
tt@tt-NUC6CAYH:~$ cd rom-parser/
tt@tt-NUC6CAYH:~/rom-parser$ make
gcc -o rom-parser rom-parser.c
gcc -DFIXER -o rom-fixer rom-parser.c
tt@tt-NUC6CAYH:~/rom-parser$ sudo ./
.git/       rom-fixer   rom-parser  
tt@tt-NUC6CAYH:~/rom-parser$ sudo ./rom-parser /tmp/image.rom
Valid ROM signature found @0h, PCIR offset 40h
        PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 0406, class: 030000
        PCIR: revision 3, vendor revision: 0
        Last image
tt@tt-NUC6CAYH:~/rom-parser$ sudo ./rom-fixer /tmp/image.rom
Valid ROM signature found @0h, PCIR offset 40h
        PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 0406, class: 030000
        PCIR: revision 3, vendor revision: 0

Modify vendor ID 8086? (y/n): n
Modify device ID 0406? (y/n): y
New device ID: 5a85
Overwrite device ID with 5a85? (y/n): y
        Last image
ROM checksum is invalid, fix? (y/n): y
tt@tt-NUC6CAYH:~/rom-parser$ sudo ./rom-parser /tmp/image.rom
Valid ROM signature found @0h, PCIR offset 40h
        PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 5a85, class: 030000
        PCIR: revision 3, vendor revision: 0
        Last image
然后用这个rom启动虚拟机时,输出如下
复制内容到剪贴板
代码:
kvm: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=image.rom: Failed to mmap 0000:00:02.0 BAR 2. Performance may be slow
kvm: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=image.rom: IGD device 0000:00:02.0 cannot support legacy mode due to existing devices at address 1f.0
TASK OK
屏幕是许多井字形的错乱图
用没修复时又是和以前试过的一样,WEB连不上主机“死机”

分别用这两种试情况和上面说的一样,修复过的romfile井占满屏,没修复romfile的死机
args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=[rom文件名].bin
hostpci0: 00:02.0,x-vga=on,romfile=[rom文件名].bin

[ 本帖最后由 egbluecats 于 2019-7-2 20:39 编辑 ]


TOP

引用:
原帖由 egbluecats 于 2019-7-2 20:20 发表
你好,我在NUC6 J3455上尝试

按照Dump VGA romfile这步时
先后试了UEFI启动live U盘,cat rom时cat: rom: Input/output error
然后传统方式用live U盘和安装到硬盘上,cat rom没问题

以下是我操作步骤,不知 ...
你好,能否贴下你的虚拟机配置
下面这条在你的配置里有吗?
Vga:none



TOP

复制内容到剪贴板
代码:
boot: cdn
bootdisk: sata0
cores: 1
ide2: none,media=cdrom
memory: 2048
name: LibreELEC
net0: virtio=AA:42:8E:B2:5F:88,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
sata0: local-lvm:vm-100-disk-0,size=8G
sata1: local-lvm:vm-100-disk-1,size=552M
scsihw: virtio-scsi-pci
smbios1: uuid=389e684c-cf35-4e85-b16b-64a42181be87
sockets: 2
vmgenid: 4c392c9d-1b2e-45dc-80bc-b9884e6c1ad5
就是这,然后再加上你的那个
args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=[rom文件名].bin
hostpci0: 00:0e,rombar=0
vga: none
或者这个
hostpci0: 00:02.0,x-vga=on,romfile=[rom文件名].bin

但是romfile修复的不能用啊,就是看看我这修复的方法正确吗?
vga: none这个我肯定加上了,只是在装LibreELEC时在控制台里操作,所以上面贴的就是默认
在尝试HDMI输出时,就是复制上面的args,在Web硬件里显示那自动变成无

机器的lspci那核显声卡和你的都一样
8086:5a85
8086:5a98

再贴一段Ubuntu装硬盘里的报告
复制内容到剪贴板
代码:
{
  "Version": "19.10",
  "OEM": {
    "Vendor": "Intel Corporation",
    "Product": "NUC6CAYH",
    "Family": "Intel NUC"
  },
  "BIOS": {
    "Vendor": "Intel Corp.",
    "Version": "AYAPLCEL.86A.0059.2018.1226.1422"
  },
  "CPU": {
    "OpMode": "32-bit, 64-bit",
    "CPUs": "4",
    "Threads": "1",
    "Cores": "4",
    "Sockets": "1",
    "Vendor": "GenuineIntel",
    "Family": "6",
    "Model": "92",
    "Stepping": "9",
    "Name": "Intel(R) Celeron(R) CPU J3455 @ 1.50GHz",
    "Virtualization": "VT-x"
  },
  "Arch": "amd64",
  "GPU": [
    {
      "Vendor": "8086",
      "Model": "5a85"
    }
  ],
  "RAM": 8,
  "Disks": [
    120,
    31
  ],
  "Partitions": [
    114.9,
    2.2
  ],
  "Screens": [
    {
      "Size": "527mmx296mm",
      "Resolution": "2560x1440",
      "Frequency": "59.95"
    }
  ],
  "Autologin": false,
  "LivePatch": false,
  "Session": {
    "DE": "ubuntu:GNOME",
    "Name": "ubuntu",
    "Type": "x11"
  },
  "Language": "zh_CN",
  "Timezone": "Asia/Shanghai",
  "Install": {
    "Media": "Ubuntu 19.10 \"Eoan Ermine\" - Alpha amd64 (20190630)",
    "Type": "GTK",
    "OEM": false,
    "PartitionMethod": "use_device",
    "DownloadUpdates": true,
    "Language": "zh_CN",
    "Minimal": true,
    "RestrictedAddons": false,
    "Stages": {
      "0": "language",
      "1": "language",
      "16": "console_setup",
      "19": "wireless",
      "21": "prepare",
      "37": "partman",
      "84": "start_install",
      "91": "timezone",
      "94": "usersetup",
      "111": "user_done",
      "439": "done"
    }
  }
}
现在我就想搞懂我这修复的方式到底正不正确,是不是我那样修复的,总之看报错说修复的那个romfile不支持。
这与宿主机是UEFI引导应该没关吧

再贴一段lspci的
复制内容到剪贴板
代码:
00:00.0 Host bridge: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Host Bridge (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Device 5a85 (rev 0b)
00:0e.0 Audio device: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Audio Cluster (rev 0b)
00:0f.0 Communication controller: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Trusted Execution Engine (rev 0b)
00:12.0 SATA controller: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SATA AHCI Controller (rev 0b)
00:13.0 PCI bridge: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PCI Express Port A #1 (rev fb)
00:13.1 PCI bridge: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PCI Express Port A #2 (rev fb)
00:13.2 PCI bridge: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PCI Express Port A #3 (rev fb)
00:15.0 USB controller: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series USB xHCI (rev 0b)
00:16.0 Signal processing controller: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series I2C Controller #1 (rev 0b)
00:18.0 Signal processing controller: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series HSUART Controller #1 (rev 0b)
00:19.0 Signal processing controller: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SPI Controller #1 (rev 0b)
00:19.1 Signal processing controller: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SPI Controller #2 (rev 0b)
00:19.2 Signal processing controller: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SPI Controller #3 (rev 0b)
00:1f.0 ISA bridge: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Low Pin Count Interface (rev 0b)
00:1f.1 SMBus: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SMBus Controller (rev 0b)
01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)
02:00.0 Network controller: Intel Corporation Device 24fb (rev 10)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)


TOP

引用:
原帖由 egbluecats 于 2019-7-3 12:22 发表
boot: cdn
bootdisk: sata0
cores: 1
ide2: none,media=cdrom
memory: 2048
name: LibreELEC
net0: virtio=AA:42:8E:B2:5F:88,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
sata0: local-lvm:vm-100-disk- ...
修复的过程没有问题,但必须要在legacy模式下dump vga rom
你试试我的rom吧,看看得不得
最近我发现这个rom是通用的
用同样的rom,已经在梅捷、铭瑄、华擎这3块主板上成功实现直通了

链接: https://pan.baidu.com/s/19QgiUh7r84MlqERQxc-g1w 提取码: xrds 复制这段内容后打开百度网盘手机App,操作更方便哦
密码:edfc

rom在usr/share/kvm里

对了,你的hdmi固件是什么版本的?搞成功的这批都是1.66

[ 本帖最后由 xif7456 于 2019-7-3 15:37 编辑 ]

TOP

kvm: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=J3455_HD500.bin: IGD device 0000:00:02.0 cannot support legacy mode due to existing devices at address 1f.0
TASK OK

用上还是这样,我也不知道在哪看HDMI固件
和宿主机(PVE)是不是UEFI 引导无关吧?
装的LibreELEC是9.0.2
要是你身边有这个NUC6就好了

[ 本帖最后由 egbluecats 于 2019-7-3 18:12 编辑 ]

TOP

也想搞几个虚拟机,可是完全看不懂

TOP

引用:
原帖由 egbluecats 于 2019-7-3 17:13 发表
kvm: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=J3455_HD500.bin: IGD device 0000:00:02.0 cannot support legacy mode due to existing devices at address 1f.0
TASK OK

用上还是这样,我 ...
这个报错跟主板和host启动方式没关系的,应该是Machine type的问题
虚拟机要在00:1f.0创建LPC/ISA bridge,而现阶段Q35不支持
你的Machine确定是i440fx,不是Q35吗?

HDMI固件要在win下用intel的软件查看
好像1.72HDMI固件会造成直通的时候host死机,但也有个人说用1.72成功了,所以这个问题还没有确定

[ 本帖最后由 xif7456 于 2019-7-3 20:19 编辑 ]

TOP

我在英特尔也搜了下,更新HDMI固件是在windows下进行的

但说回这个,默认的Machine就是 默认 (i440fx) 所以我这肯定不是q35

我这个LibreELEC 装是按照那个img2kvm转的
先创建虚拟机然后用这个img2kvm,在硬件里再把这硬盘添加上去
由于之前硬盘选过SCSI启动不了,就选成了SATA
先把转的那块第一启动然后,装到创建虚拟机时的那块里
这装的过程没问题吧是先在控制台选择安装到硬盘,然后再把显示设成none
其实UEFI的也装过,直接有个错误,还不像这个说缺失显卡

但我之前试过那个unRAID里的LibreELEC版本又老,装上后不设核显能用那个SPICE连,设置核显直通也和这一样就是宿主机死机

去年就试过了,后来看也弄不成就放弃了,最后是就是上面有人回复的那样,装了个桌面开机启动啥的
但那源里的KODI还是旧了,自己也不会在其他机器上编译打包,就装上源里的吃灰
今年买回个j4105时还得又试了下,还是失败
偶然看到这个帖,还想着这吃灰NUC又能起作用了
因为这外接硬盘显得累赘不如装虚拟机同时还能运行播放系统

TOP

我又试了下

当我在web里设置主GPU时
配置文件是这样hostpci0: 00:02.0,x-vga=1

启动输出是
kvm: -device vfio-pci,host=00:02.0,id=hostpci1,bus=pci.0,addr=0x11,x-vga=on: Failed to mmap 0000:00:02.0 BAR 2. Performance may be slow

当web勾选了rombar时
配置文件里rombar=0,此时会死机

强制关机重启后,又在配置里加上romfile
hostpci0: 00:02.0,x-vga=1,romfile=J3455_HD500.bin
启动输出如下,用我自己修复的也一样
kvm: -device vfio-pci,host=00:02.0,id=hostpci0,bus=pci.0,addr=0x10,x-vga=on,romfile=/usr/share/kvm/J3455_HD500.bin: Failed to mmap 0000:00:02.0 BAR 2. Performance may be slow
然后加了没修复的romfile,则也是死机

这下输出的少一行了,但我昨天试的都是井字花屏。
自己手动用args 把那addr填成上面的0x11,加上romfile错误也是一样
不改addr的话错误则是两行

[ 本帖最后由 egbluecats 于 2019-7-3 21:54 编辑 ]

TOP

请教楼主,我的机器也是暴风矿渣j3455.按照你的教程,配置好后,但没法直通,基本都是花屏,最好的情况是灰屏,可以看到一个鼠标,可以移动,但没有其他反应。后边也用楼主给出最新配置文件配置了,还是不行。我发现自己下载的 vga rom 和楼主的MD5不一样,但大小是一样的,不知道有没有影响
附件: 您所在的用户组无法下载或查看附件

TOP

引用:
原帖由 ChinaBoyFF 于 2019-7-4 10:34 发表
请教楼主,我的机器也是暴风矿渣j3455.按照你的教程,配置好后,但没法直通,基本都是花屏,最好的情况是灰屏,可以看到一个鼠标,可以移动,但没有其他反应。后边也用楼主给出最新配置文件配置了,还是不行。我发现 ...
你说的自己下载的 vga rom 就是echo 1 >rom 然后cat 到/tmp吧
那个生成出来的几个MD5都不一样
你看看启动虚拟机时输出了啥信息

TOP

复制内容到剪贴板
代码:
kvm: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=J3455_HD500.bin: IGD device 0000:00:02.0 cannot support legacy mode due to existing devices at address 1f.0
TASK OK
提示只有一行

TOP

引用:
原帖由 egbluecats 于 2019-7-3 21:49 发表
我又试了下

当我在web里设置主GPU时
配置文件是这样hostpci0: 00:02.0,x-vga=1

启动输出是
kvm: -device vfio-pci,host=00:02.0,id=hostpci1,bus=pci.0,addr=0x11,x-vga=on: Failed to mmap 0000:00:02.0 BA ...
奇怪了,搞了几台都没问题亚。。。。

检查下如下问题吧
vt-d是否打开?
更改host配置后是否更新配置?
update-grub
update-initramfs -u
虚拟机是否启动方式是否为Seabios?
Machine是否为i440fx?

Shell里运行如下,输出的内容复制过来看下~
cat /etc/default/grub
cat /etc/modprobe.d/blacklist.conf
cat /etc/modprobe.d/vfio.conf
cat /etc/modules
cat /etc/pve/qemu-server/[vmid].conf
find /sys/kernel/iommu_groups/ -type l

如果还是不行,+群讨论吧。。。。

[ 本帖最后由 xif7456 于 2019-7-4 12:57 编辑 ]

TOP

引用:
原帖由 ChinaBoyFF 于 2019-7-4 12:11 发表
kvm: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=J3455_HD500.bin: IGD device 0000:00:02.0 cannot support legacy mode due to existing devices at address 1f.0
TASK OK提示只有一行
你的问题好像和楼上兄弟一样,把上一楼的命令运行一遍,然后复制输出的内容过来看下

TOP

这是我的运行结果说明以下,我还打了内核pcs补丁,跟你们的grub和iommu输出会有不同
但这个补丁不影响直通,我是在直通成功后才打的
引用:
root@J3455:~# cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Proxmox Virtual Environment"

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on pcie_acs_override=downstream video=efifbff,vesafbff"
引用:
cat /etc/pve/qemu-server/201.conf
agent: 1
args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=J3455_HD500_HDMI1.72.bin
balloon: 0
bios: seabios
boot: cdn
bootdisk: sata0
cores: 2
hostpci0: 00:0e
memory: 4096
name: LibreELEC
net0: virtio=4A:2D:18:90:38:95,bridge=vmbr1
numa: 0
ostype: l26
sata0: local-lvm:vm-201-disk-0,size=32G
smbios1: uuid=ddb7edd1-9a48-43bf-88d7-718fcb86a0c6
sockets: 1
usb0: host=046d:c534
vga: none
vmgenid: dffbbe8f-2aff-49bf-b1a9-f2740392eec5
引用:
root@J3455:~# find /sys/kernel/iommu_groups/ -type l
/sys/kernel/iommu_groups/7/devices/0000:00:13.2
/sys/kernel/iommu_groups/15/devices/0000:04:00.0
/sys/kernel/iommu_groups/5/devices/0000:00:13.0
/sys/kernel/iommu_groups/13/devices/0000:02:00.1
/sys/kernel/iommu_groups/3/devices/0000:00:0f.0
/sys/kernel/iommu_groups/11/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:02.0
/sys/kernel/iommu_groups/8/devices/0000:00:13.3
/sys/kernel/iommu_groups/6/devices/0000:00:13.1
/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:02:00.0
/sys/kernel/iommu_groups/2/devices/0000:00:0e.0
/sys/kernel/iommu_groups/10/devices/0000:00:1f.0
/sys/kernel/iommu_groups/10/devices/0000:00:1f.1
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/9/devices/0000:00:15.0

TOP

发新话题
     
官方公众号及微博