Hi,
Danke für die super Anleitung, nur ganz funktionieren tut sie bei mir nicht ganz :/.
Meine Bootoptionen:
intel_iommu=on i915.enable_hd_vgaarb=1 pcie_acs_override=downstream intremap=no_x2apic_optout pci_stub.ids=02:00.0,02:00.1
das i915.enable_hd_vgaarb und pci_stub.ids habe ich aus dem archforum: https://bbs.archlinux.org/viewtopic.php?id=162768
Ich habe das Skript von dir auf meine Umgebung angepasst:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 | #!/bin/bash
echo '0000:02:00.0' | tee /sys/bus/pci/devices/0000:02:00.0/driver/unbind
echo '0000:02:00.1' | tee /sys/bus/pci/devices/0000:02:00.1/driver/unbind
echo 10de 0fba | tee /sys/bus/pci/drivers/vfio-pci/new_id
echo 10de 1401 | tee /sys/bus/pci/drivers/vfio-pci/new_id
mac=40:8d:5c:54:3a:b9
i=0
until lspci -nnk | grep -q vfio-pci; do
sleep 1
i=$((i+1))
echo -en "Warte auf vfio $i\r"
done
sleep 3
echo
#ps -C onboard >/dev/null || onboard &
export QEMU_AUDIO_DRV=alsa
export QEMU_AUDIO_TIMER_PERIOD=0
echo "\"Starte Windows 7\""
qemu-system-x86_64 -enable-kvm -M q35 -m 8096 -vga none -usb \
-bios /usr/share/seabios/bios.bin \
-soundhw ac97 -cpu host,kvm=off -smp 4,sockets=1,cores=4,threads=1 \
-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \
-device vfio-pci,host=02:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on \
-device vfio-pci,host=02:00.1,bus=pcie.0 \
-drive file=w7.qcow2,if=virtio \
-device virtio-serial-pci \
-net bridge \
-net nic,model=virtio \
-localtime -name "Windows 7"
# -device vfio-pci,host=02:00.1 \
|
Zum einen verwende ich fuer die Platten und die NIC Virtio (wegen der besseren Performance), zum anderen habe ich das durchreichen der USB-Devices erstmal rausgelassen...
Allerdings kann ich nach dem Echo auf new_id keine entsprechende Kernelmeldung sehen...
Kann es sein dass meine Hardware das vllt nicht unterstützt?
# lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0100] (rev 09)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0101] (rev 09)
00:02.0 Display controller [0380]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] (rev 09)
00:14.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1e31] (rev 04)
00:16.0 Communication controller [0780]: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 [8086:1e3a] (rev 04)
00:1a.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 [8086:1e2d] (rev 04)
00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
00:1c.0 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 [8086:1e10] (rev c4)
00:1c.4 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev c4)
00:1c.5 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 6 [8086:1e1a] (rev c4)
00:1d.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 [8086:1e26] (rev 04)
00:1f.0 ISA bridge [0601]: Intel Corporation Z77 Express Chipset LPC Controller [8086:1e44] (rev 04)
00:1f.2 SATA controller [0106]: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] [8086:1e02] (rev 04)
00:1f.3 SMBus [0c05]: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller [8086:1e22] (rev 04)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK106 [GeForce GTX 650 Ti] [10de:11c6] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GK106 HDMI Audio Controller [10de:0e0b] (rev a1)
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
02:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fba] (rev a1)
03:00.0 PCI bridge [0604]: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge [1b21:1080] (rev 04)
05:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
Zum anderen was macht der onboard command den du in dem Skript verwendest?
Aber leider erscheint bei mir zwar das Qemu fenster, aber der Cursor blinkt nur zweimal und bleibt dann stehen, und der Monitor der an der GTX960 angeschlossen ist bleibt schwarz.
Zu den Netzwerkfragen:
Eine Bridge ist mit kvm immer dann nötig wenn sich mehrere VMs eine physikalische teilen sollen (oder der Host und die VMs), wenn du deiner vm eine dedizierte NIC geben willst kann man das wieder mit PCI Passthrough machen.
Broadcasts funktionieren.
Ja du kannst Firewallregeln fuer den Gast erstellen (bei der Methode mit der Bridge).
Sry wenn ich den Thread hier missbrauche^^
Danke für Hilfe!!