Установка macOS в Proxmox
Установка macOS в Proxmox
Содержание
Зачем устанавливать macos на обычный компьютер?
Подготовка установочного iso образа macos
Создание виртуальной машины для MacOS
Установка MacOS на Proxmox
Видео установки macOS
Заключение
Зачем устанавливать macos на обычный компьютер?
В данном случае под обычным компьютером я имею ввиду то, что не относится к железу от Apple, на котором, и только на котором, должна работать MacOS. Как известно, существует проект Hackintosh, который позволяет установить macos не только на виртуальные машины, но и обычные ноутбуки и pc. Видел даже услугу под ключ, где вам на чистый ноут поставят hackintosh. Только нужно будет купить железо, которое гарантированно поддерживается.
Мне, для удовлетворения любопытства, не нужно отдельное железо, поэтому я решил поставить MacOS на виртуальную машину Proxmox. Каких-то практических целей я не преследую. Чистое любопытство, получится или нет. В пятницу сидел, дела делать не хотелось, решил поразбираться немного. В итоге у меня всё получилось, поэтому решил поделиться информацией.
Сразу скажу, что способов практического использования подобной системы не много, так как без графического ускорителя macos работает очень плохо. Вся анимация тормозит. Я не прорабатывал вопрос проброса видеокарты в виртуальную машину с macos. Мне он видится очень нетривиальным и без большой надобности разбираться с этим не захотелось. Но при этом нормально работает сеть, к системе можно подключаться по ssh, так что кому-то может и пригодится.
Я все операции проделывал на гипервизоре Proxmox 7.0, работающем на базе процессора Intel i5.
Подготовка установочного iso образа macos
Начнём с того, что подготовим 2 iso образа для установки macos:
- OpenCore.iso - качаем его из этого репозитория. Данный образ будет загрузочным. Он каким-то образом убеждает установщик самой системы, что работает на железе apple. Это его основная функция.
- Catalina-installer.iso - стандартный установщик macos. Его мы подготовим далее.
Для того, чтобы начать установку macos, нам нужно подготовить образ системы. Для этого копируем себе репозиторий - https://github.com/kholia/OSX-KVM.
# git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git
В корне проекта есть python скрипт fetch-macOS-v2.py. Запускаем его и выбираем установку Catalina.
# cd OSX-KVM # ./fetch-macOS-v2.py
Скрипт скачает базовый образ BaseSystem.dmg. Нам нужно будет его сконвертировать в iso.
# qemu-img convert BaseSystem.dmg -O raw Catalina-installer.iso
Оба образа - OpenCore.iso и Catalina-installer.iso копируем в репозиторий образов proxmox.
Создание виртуальной машины для MacOS
Теперь идём в веб интерфейс proxmox и создаем виртуальную машину для MacOS. Я ей выделю 4 ядра и 8 гигабайт оперативной памяти. Количество ядер не должно быть 6. Я лично пробовал с 4 или 8 ядрами. Если сделать 6, ничего не получится. Динамическую память тоже обязательно выключаем.
Не буду расписывать все шаги, а просто покажу картинки настроек. Они будут предварительные. Затем завершим подготовку виртуальной машины в консоли. А пока создаём через веб интерфейс.
Создание VM для macOS
Выбор типа OS
Настройка системных параметров
Настройка диска
Выбор типа процессора
Настройка памяти
Выбор модели сетевой карты
После создания открываем список оборудования VM и добавляем туда iso образ Catalina-installer.iso.
После создания, виртуальную машину не запускаем. Перемещаемся в консоль гипервизора и открываем конфиг виртуальной машины в директории /etc/pve/qemu-server. Имя конфиг виртуальной машины будет равен её номеру. В моем случае это 135.conf. Нам нужно привести конфиг к следующему виду. Я выделю то, что я добавил и изменил.
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc balloon: 0 bios: ovmf boot: order=ide2 cores: 4 cpu: Penryn efidisk0: local-500G:135/vm-135-disk-0.qcow2,size=128K ide0: local-500G:iso/Catalina-installer.iso,cache=unsafe,size=2096528K ide2: local-500G:iso/OpenCore-v13.iso,cache=unsafe,size=150M machine: q35 memory: 8196 name: macos-test net0: vmxnet3=26:06:41:79:8E:7A,bridge=vmbr0 numa: 0 ostype: other sata0: raid1:vm-135-disk-0,cache=unsafe,discard=on,size=128G,ssd=1 scsihw: virtio-scsi-pci smbios1: uuid=ed285c88-e9b7-41e9-b8cc-c18467097fb1 sockets: 1 vga: vmware vmgenid: 1d33ec8f-921c-41eb-9577-6b92088d2902
В веб интерфейсе настройки должны выглядеть примерно вот так:
Если у вас процессор не Intel, а AMD, параметры процессора следует использовать другие:
-cpu Penryn,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+fma,+fma4,+bmi1,+bmi2,+xsave,+xsaveopt,check
В консоли гипервизора делаем еще одну настройку, меняя параметры модуля ядра kvm.
echo "options kvm ignore_msrs=Y" >> /etc/modprobe.d/kvm.conf && update-initramfs -k all -u
Активируем эту настройку без перезагрузки:
modprobe kvm options ignore_msrs=Y
У нас всё готово к тому, чтобы начать установку MacOS на виртуальную машину Proxmox.
Установка MacOS на Proxmox
Запускаем виртуальную машину и переходим в консоль. Если всё сделали правильно на предыдущих шагах, должны увидеть следующую картинку.
Мышка в этом режиме не будет работать, так что стрелками на клавиатуре выбираем macOS Base System и жмём Enter.
Некоторое время будете видеть надкусанное яблоко с прогресс баром.
Если на предыдущих этапах всё сделали правильно, то должны увидеть утилиты macOS.
Нам надо выбрать Disk Utility. Здесь уже должна работать мышка. Выберите свой основной диск и очистите его, нажав Erase.
После того, как закончите очистку, закрывайте утилиту и переходите в главное меню. Здесь вам нужно будет выбрать Reinstall macOS.
Дальше будут разные вопросы, на которые нужно дать согласие и выбрать в качестве диска для установки системы свой единственный диск.
Начнёт процесс установки macOS, который в зависимости от вашего железа может длиться разное количество времени. В основном скорость будет зависеть от вашего жесткого диска. У меня минут 15-20 длился данный этап.
После завершения этого этапа VM автоматически перезагрузится и встретит вас подобным меню.
Нужно клавиатурой выбрать macOS Installer и установка продолжится. Пройдёт еще 10-15 минут, после которых система автоматически перезагрузится ещё раз. Далее вас встретит очередной загрузчик, где нужно выбрать ваш основной диск, на который установлена система. В моем случае это Main.
Дальше запускается стандартная преднастройка системы. Нужно будет выбрать страну, язык, логин, пароль и т.д. От использования учётной записи с Apple ID можно отказаться, так что никакие дополнительные учетные записи для работы macOS делать не нужно будет.
После завершения установки системы, рекомендую сразу же сделать себе архивную копию на всякий случай, чтобы потом заново устанавливать не пришлось.
Видео установки macOS
Мне очень сильно помогло видео на youtube на данную тему. Оно позволило быстро въехать в тему, чтобы понять этапы, по которым надо пройти.
В видео не рассмотрен момент с получением osk key. Автор взял его со своего текущего mac. А что делать тем, у кого его нет? Я не сразу понял. В итоге нашёл информацию, что на последних версиях OpenCore ключ не имеет значения. Можно указать любой, что я и сделал. После этого всё получилось.
Заключение
Что теперь делать с установленной на виртуальную машину macOS, решать вам. Было бы интересно узнать, как вам эта система пригодилась. Поделитесь в комментариях. Я подозреваю, что подобная установка будет актуальна для разработчиков, которым нужно что-то проверять в экосистеме apple. Какое-то другое применение в голову не приходит. Я, как сисадмин, никакого полезного применения для себя не нашёл.
Проблему с тормозами графики частично можно решить, если подключаться к системе через встроенный в macos Screen Sharing. Но это возможно только если у вас есть под рукой нормальный Mac. В этом случае можете использовать подобное подключение. Так же с помощью этого шаринга можно подключиться по VNC, но качество графики всё равно будет очень низкое, сопоставимое с консолью proxmox.