Виртуальные истории. Часть 1: MacOS в эмуляторе
Как получить быструю виртуальную MacOS Ventura в линуксе. В этот раз через QEMU + KVM + скрипты.
Ничего сильно нового или необычного тут нет, тема старая и рабочая. Руководств, наборов скриптов и всяких гайдов в интернете также уже куча, я остановился вот на этом.
Все манипуляции производились на ноутбуке Dell G3, с 32Гб памяти и SSD.
Настоятельно рекомендую также использовать что-то производительное, поскольку MacOS (тем более последняя) чрезвычайно прожорливая.
Еще вам будет нужно ~50Гб свободного места на диске.
Я использовал Mageia Linux, официальный гайд от авторов руководства — для Ubuntu.
Но коль уж вы залезли так далеко, что собираетесь разворачивать виртуальный мак на линуксе — полагаю вам уже глубоко похер на дистрибьютив.
Подготовка
Устанавливаем вот этот параметр:
echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
В репозитории проекта есть готовая настройка modprobe для постоянной настройки:
sudo cp kvm.conf /etc/modprobe.d/kvm.conf # for intel boxes only, after cloning the repo below
sudo apt-get install qemu uml-utilities virt-manager git \ wget libguestfs-tools p7zip-full make dmg2img -y
urpmi qemu git wget virt-manager libguestfs-tools libgu p7zip make dmg2img
Добавляем своего пользователя в группы, для использования KVM:
sudo usermod -aG kvm $(whoami) sudo usermod -aG libvirt $(whoami) sudo usermod -aG input $(whoami)
Нужно будет выйти из сессии для применения этих изменений.
Клонируем репозиторий со скриптами
cd ~ git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git cd OSX-KVM
Конвертируем в RAW-образ, с которым может работать Qemu:
Создаем виртуальный диск, на который виртуальная MacOS будет установлена:
qemu-img create -f qcow2 mac_hdd_ng.img 128G
./OpenCore-Boot.sh
Выбираем иконку с диском и нажимаем "Enter":
Выбираем созданный выше образ диска и форматируем:
Поскольку MacOS поставляется с оборудованием Apple, чистой пользовательской установки не существует, поэтому в меню оно называется «Reinstall», т. е. «Переустановка».
Соглашаемся и клянемся соблюдать лицензионное соглашение, во славу Луны:
Выбираем отформатированный диск:
Надеюсь вам не не нужно, так что просто пропускаем:
Пропускаем Apple ID, его можно установить позже:
Еще раз соглашаемся и продолжаем:
Ощущаем гордость за страну, прогнувшую даже Apple:
И вот он — ваш виртуальный мак:
Настройка сети
Вот таким скриптом создается виртуальный адаптер:
#!/usr/bin/env bash sudo ip tuntap add dev tap0 mode tap sudo ip link set tap0 up promisc on sudo ip link set dev virbr0 up sudo ip link set dev tap0 master virbr0
Который подцепляется Qemu при запуске.
Для Ventura будет необходимо модифицировать скрипты запуска OpenCore-Boot :
# убираем вот эту строку: # -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 # добавляем вот эту: -netdev user,id=net0 -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27
Там же я добавил пару параметров для решения проблем с размером экрана:
-monitor stdio -device VGA,vgamem_mb=128