В этот раз через 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
Для Mageia:
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)
Нужно будет выйти из сессии для применения этих изменений. Клонируем репозиторий со скриптами:
git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git
cd OSX-KVM
Скачиваем образ:
./fetch-macOS-v2.py
Тут будет текстовое меню выбора версии:
1. High Sierra (10.13)
2. Mojave (10.14)
3. Catalina (10.15)
4. Big Sur (11.7) - RECOMMENDED
5. Monterey (12.6)
6. Ventura (13)
Choose a product to download (1-6): 4
Нужно будет выбрать Ventura.
Конвертируем в RAW-образ, который может читать Qemu:
dmg2img -i BaseSystem.dmg BaseSystem.img
Создаем виртуальный диск, на который виртуальная MacOS будет установлена:
qemu-img create -f qcow2 mac_hdd_ng.img 128G
Запускаем:
./OpenCore-Boot.sh
Установка
Дальше запускается уже графический инсталлятор, пошаговые картинки из которого есть в оригинальной статье. Тут привожу лишь текстовое описание.
Выбираем иконку с диском и нажимаем «Enter». Выбираем «Disk Utility».
Выбираем созданный выше образ диска и форматируем.
Возвращаемся в меню.
Поскольку MacOS поставляется с оборудованием Apple, чистой пользовательской установки не существует, поэтому в меню оно называется «Reinstall», т. е. «Переустановка».
Соглашаемся и клянемся соблюдать лицензионное соглашение, во славу Луны.
Выбираем отформатированный диск.
Пропускаем Apple ID, его можно установить позже.
Настройка сети
Вот таким скриптом создается виртуальный адаптер:
#!/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