Operating System: Linux Mint 20.3
Kernel: Linux 5.14.0-1042-oem
~$ /usr/bin/qemu-system-x86_64 --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.21)
GPU: Sapphire Radeon RX 570
Ставим необходимые пакеты:
sudo apt udpate && sudo apt install git qemu-system qemu-utils python3 python3-pip -y
Воспользуемся "macOS-Simple-KVM" - автоматизация скачивания нужного дистрибутива OSx для KVM с загрузчиком Clover.
git clone https://github.com/foxlet/macOS-Simple-KVM.git
./jumpstart.sh --mojave (присутствуют следующие ключи для версий OSx: --high-sierra, --mojave, --catalina)
Создаём диск:
qemu-img create -f qcow2 osx.qcow2 128G
В скрипт basic.sh от "macOS-Simple-KVM", добавляем следующие строчки:
-drive id=SystemDisk,if=none,file=osx.qcow2 \
-device ide-hd,bus=sata.4,drive=SystemDisk \
Запускаем basic.sh
./basic.sh
Подключаемся по VNC (port: 5900) к виртуальной машине и выбираем в Clover:

Выбираем Disk Utility и форматируем External диск в APFS, после чего сохраняем настройки и выбираем Reinstall macOS.
Ожидаем окончание установки и настраиваем систему на старте.
GPU-passthrough
В настройках BIOS/UEFI необходимо включить VT-d (Intel CPU) или AMD Vi (AMD CPU).
Получаем id видеокарты:
lspci -nn | grep "VGA\|Audio"
Пример вывода:
26:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X] [1002:6810]
26:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] [1002:aab0]
Где [1002:6810] и [1002:aab0] - GPU id.
Включаем GPU в IOMMU группу редактируя /etc/default/grub:
Для AMD:
GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=pt"
Для Intel:
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on"
Добавляем GPU с нужными id:
GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=pt kvm.ignore_msrs=1 vfio-pci.ids=1002:6810,1002:aab0"
sudo update-grub
В ранее редактиуремый basic.sh, добавляем:
-vga none \
-device pcie-root-port,bus=pcie.0,multifunction=on,port=1,chassis=1,id=port.1 \
-device vfio-pci,host=26:00.0,bus=port.1,multifunction=on,romfile=/path/to/card.rom \
-device vfio-pci,host=26:00.1,bus=port.1 \
Перезапускаем виртуальную машину с OSx и проверяем доступность изображения через GPU.