Здравствуйте! Года два назад с использованием virt-manager через pci-stub пробросил AMD Radeon HD-7850, наклонировал VM и меня устраивало.
После обновления HDD и установки на хосте Ubuntu 16.04.3 LTS восстановить что было прежним образом не смог. Прочел много о пробросе (видеокарт), к сожалению осталось много неясностей. Как по синтаксису команд, так и по взаимодействию элементов технологии проброса. Моя задача сейчас: для Supermicro MBD-X10SLH-F-B + xeon e-1245v3 + radeon RX-580 нужно средствами QEMU, vfio-pci, UEFI создать VM с диском типа qcow2 с проброшенной видеокартой и USB на выбор. Как мне представляется - это типичная задача.
О чем прошу: прокомментировать приведенные ниже фрагменты из постов наших одноклубников с объяснением каждого (кроме совсем очевидных) использованного в строке параметра (на что влияет, с чем соотносится). Если каждый из знающих внятно объяснит хотя бы по одной строке, то в одном месте появится целостная информация по теме, а не очередной обрывок=источник копи-паста.
пример lavos :
sudo QEMU_AUDIO_DRV=pa apulse qemu-system-x86_64 \
-nodefaults \
-nodefconfig \
-nographic \
-serial none \
-parallel none \
-name Windows10 \
-machine q35,accel=kvm \
-enable-kvm \
-cpu host,kvm=off,check \
-smp cpus=4,sockets=1,cores=4,threads=1 \
-m 8G \
-balloon virtio \
-rtc base=localtime,clock=host \
-drive if=pflash,format=raw,readonly,file=~/qemu/ovmf64/OVMF-pure-efi.fd \
-drive if=pflash,format=raw, file=~/qemu/ovmf64/OVMF_VARS-pure-efi.fd \
-soundhw hda \
-net nic,vlan=0,model=virtio -net tap,vlan=0,ifname=tap0,script=no,downscript=no \
-vga none \
-device vfio-pci,host=01:00.0,multifunction=on \
-device vfio-pci,host=01:00.1 \
-device vfio-pci,host=00:1d.0 \
-drive file=~/qemu/data/win10.img,if=virtio,format=raw,index=0,media=disk,cache=none,aio=native \
-boot order=c \
-monitor stdio \
«$@»
1) вопросы построчные:
2) как указать формат дискового образа QCOW2 и как передать драйверы virtio в VM при её создании/инсталляции ?
3) чем отличаются ovmf_code_x64.bin от ovmf_code.bin OVMF-pure-efi.fd ?
4) почему используют копию ovmf_var.fd и может ли эта копия одновременно использоваться несколькими VM?
5) что именно делает EFI в строке выше и с чем соотносится - с видеокартой или загрузкой операционной системы)?
6) -cpu host,hv_relaxed,hv_vapic,hv_time, hv_spinlocks=0x1000,kvm=off,+vmx // что бы это значило?
как могут соотноситься строки: device vfio-pci,host=02:00.0,multifunction=on,romfile=/path/to/uefi_romfile.rom,x-vga=on
и -drive if=pflash,format=raw,readonly,file=~/qemu/ovmf64/OVMF-pure-efi.fd \
-drive if=pflash,format=raw, file=~/qemu/ovmf64/OVMF_VARS-pure-efi.fd \
ссылка в статье https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF о pure-efi - нерабочая. pure-efi - неактуален?
пример успеха от Rockon: здесь (ниже) должна быть какая-то связь с образом VM?
qemu-system-x86_64 -enable-kvm -m 1024 -cpu host,hv_relaxed,hv_vapic,hv_spinlocks=0x1000,kvm=off \
-machine q35,accel=kvm \
-smp 4,sockets=1,cores=4,threads=1 \
-drive if=pflash,format=raw,readonly,file=/path/to/OVMF-pure-efi.fd \
-drive if=pflash,format=raw,file=/path/to/OVMF_VARS-pure-efi.fd \
-device vfio-pci,host=02:00.0,multifunction=on,romfile=/path/to/bios6970_updGOP.rom,x-vga=on -device vfio-pci,host=02:00.1 \
-vga none
Поделитесь пожалуйста мудростью камрады, чесслово польза будет не только одному мне.