«SUSE Kiwi» и «Проброс видеокарты в виртуальную машину Qemu/KVM»: разница между страницами
imported>Vix (Новая страница: «ИСТОЧНИКИ: <hr> * [https://ru.opensuse.org/Portal:Kiwi Portal:Kiwi]») |
imported>Vix (Новая страница: «Для начала: гость должен буть установлен на EFI а не на BIOS (ну в 2018’ом и хост желательно бы...») |
||
Строка 1: | Строка 1: | ||
Для начала: гость должен буть установлен на EFI а не на BIOS (ну в 2018’ом и хост желательно бы уже держать на EFI) | |||
Как перенести винду с Legacy на EFI есть простая инструкция: [https://www.intel.ru/content/www/ru/ru/support/articles/000024558/memory-and-storage/intel-optane-memory.html тут] | |||
Для начала в файле /etc/default/grub в параметр GRUB_CMDLINE_LINUX_DEFAULT добавим intel_iommu=on (или amd_iommu=on в зависимости от вендора вашего CPU) и rd.driver.pre=vfio-pci | |||
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sda3 splash=silent quiet showopts intel_iommu=on rd.driver.pre=vfio-pci" | |||
И переустановим grub | |||
затем в /etc/modprobe.d/vfio.conf пропишем options vfio-pci ids=FIRSTID,SECONDID где FIRSTID и SECONDID это id видеокарты и её звуковой карты (нужно обе) которые можно посмотреть в выхлопе скрипта | |||
#!/bin/bash | |||
shopt -s nullglob | |||
for d in /sys/kernel/iommu_groups/*/devices/*; do | |||
n=${d#*/iommu_groups/*}; n=${n%%/*} | |||
printf 'IOMMU Group %s ' "$n" | |||
/sbin/lspci -nns "${d##*/}" | |||
done; | |||
options vfio-pci ids=10de:128b,10de:0e0f | |||
Если у вас не радеон и не quadro (тоесть geForce) то в xml файл нашей виртуалки добавим | |||
<kvm> | |||
<hidden state="on"></hidden> | |||
</kvm> | |||
сразу после | |||
<apic></apic> | |||
Перезагружаемся и добавляем в виртуалку два PCI устройства которые указывали выше | |||
Запускаем виртуалку | |||
За инфу спасибо вот этому чуваку: https://forums.opensuse.org/showthread.php/522015-VGA-PCI-Passthrough-guide-on-openSuSE-Leap-42-2 | |||
UPD: | |||
Поскольку проброшенное реальное устройство в виртуальную среду не даёт использовать suspend будет полезно сделать ещё кое что чтобы виртуальная машина выключалась а не убивалась при выключении хоста: | |||
#ON_SHUTDOWN=suspend | |||
ON_SHUTDOWN=shutdown | |||
SHUTDOWN_TIMEOUT=60 | |||
и после этого | |||
systemctl enable libvirt-guests.service | |||
systemctl restart libvirt-guests.service | |||
ИСТОЧНИКИ: | ИСТОЧНИКИ: | ||
<hr> | <hr> | ||
* [https:// | * [https://itrus.su/2018/05/14/%D0%BF%D1%80%D0%BE%D0%B1%D1%80%D0%BE%D1%81-%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%B0%D1%80%D1%82%D1%8B-%D0%B2-%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%83%D1%8E-%D0%BC%D0%B0%D1%88/ автор] | ||
* [https://mathiashueber.com/fighting-error-43-nvidia-gpu-virtual-machine/ Data independence passthrough save time Start] | |||
* [https://habr.com/ru/post/211909/ Проброс видеокарты в гостевую ОС из гипервизора KVM с помощью технологии VFIO] |
Версия от 12:39, 3 октября 2019
Для начала: гость должен буть установлен на EFI а не на BIOS (ну в 2018’ом и хост желательно бы уже держать на EFI) Как перенести винду с Legacy на EFI есть простая инструкция: тут
Для начала в файле /etc/default/grub в параметр GRUB_CMDLINE_LINUX_DEFAULT добавим intel_iommu=on (или amd_iommu=on в зависимости от вендора вашего CPU) и rd.driver.pre=vfio-pci
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sda3 splash=silent quiet showopts intel_iommu=on rd.driver.pre=vfio-pci"
И переустановим grub
затем в /etc/modprobe.d/vfio.conf пропишем options vfio-pci ids=FIRSTID,SECONDID где FIRSTID и SECONDID это id видеокарты и её звуковой карты (нужно обе) которые можно посмотреть в выхлопе скрипта
#!/bin/bash shopt -s nullglob for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*} printf 'IOMMU Group %s ' "$n" /sbin/lspci -nns "${d##*/}" done; options vfio-pci ids=10de:128b,10de:0e0f
Если у вас не радеон и не quadro (тоесть geForce) то в xml файл нашей виртуалки добавим
<kvm> <hidden state="on"></hidden> </kvm>
сразу после
<apic></apic>
Перезагружаемся и добавляем в виртуалку два PCI устройства которые указывали выше
Запускаем виртуалку
За инфу спасибо вот этому чуваку: https://forums.opensuse.org/showthread.php/522015-VGA-PCI-Passthrough-guide-on-openSuSE-Leap-42-2
UPD:
Поскольку проброшенное реальное устройство в виртуальную среду не даёт использовать suspend будет полезно сделать ещё кое что чтобы виртуальная машина выключалась а не убивалась при выключении хоста:
#ON_SHUTDOWN=suspend ON_SHUTDOWN=shutdown SHUTDOWN_TIMEOUT=60
и после этого
systemctl enable libvirt-guests.service systemctl restart libvirt-guests.service
ИСТОЧНИКИ: