Зачем устанавливать macos на обычный компьютер?
Данный опус является частью единого цикла заметок o CLI. Для его написания использовалось множество различных источников (скилы крутых специалистов, статьи с тематических сайтов, техническая документация, комментарии с форумов и социальных сетей и т. д и т. п.). К сожалению, указать все источники точно не представляется возможным! По этому, в конце заметки, будет указана ссылка только на основной источник. Материалы, использованные для написания заметки, изменялись автором под конкретную задачу! Вам, скорее всего, тоже придется поступить аналогичным образом для получения желаемого результата)
В данном случае под обычным компьютером я имею ввиду то, что не относится к железу от Apple, на котором, и только на котором, должна работать MacOS. Как известно, существует проект Hackintosh, который позволяет установить macos не только на виртуальные машины, но и обычные ноутбуки и pc. Видел даже услугу под ключ, где вам на чистый ноут поставят hackintosh. Только нужно будет купить железо, которое гарантированно поддерживается.
Я все операции проделывал на гипервизоре Proxmox 5.4, работающем на базе процессора Xeon.
Подготовка установочного 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.
По умолчанию для входа используется логин admin без пароля. Добавление пользователя::
# cd OSX-KVM
# ./fetch-macOS-v2.py
Загрузка BaseSystem.dmg
Скрипт скачает базовый образ BaseSystem.dmg. Нам нужно будет его сконвертировать в iso.
По умолчанию для входа используется логин admin без пароля. Добавление пользователя::
# qemu-img convert BaseSystem.dmg -O raw Catalina-installer.iso
Оба образа - OpenCore.iso и Catalina-installer.iso копируем в репозиторий образов proxmox.
Создание виртуальной машины для MacOS:
Теперь идём в веб интерфейс proxmox и создаем виртуальную машину для MacOS. Я ей выделю 4 ядра и 8 гигабайт оперативной памяти. Количество ядер не должно быть 6. Если сделать 6, ничего не получится. Динамическую память тоже обязательно выключаем.
Не буду расписывать все шаги, а просто покажу картинки настроек. Они будут предварительные. Затем завершим подготовку виртуальной машины в консоли. А пока создаём через веб интерфейс.
nano /etc/pve/qemu-server/135.conf
После создания, виртуальную машину не запускаем.
Начальный конфиг:
111111111111111111111111111111111111111111111111111111111111111111111
balloon: 0
bios: ovmf
bootdisk: sata0
cores: 4
cpu: Penryn
efidisk0: local-lvm:vm-135-disk-1,size=128K
ide0: local:iso/Catalina-installer.iso,media=cdrom,size=2096528K
ide2: local:iso/OpenCore-v14.iso,media=cdrom
machine: q35
memory: 8196
name: Catalina10
net0: vmxnet3=4E:1E:AC:8C:AF:A3,bridge=vmbr0,firewall=1
numa: 0
ostype: other
sata0: local-lvm:vm-135-disk-0,backup=0,cache=unsafe,discard=on,size=20G,ssd=1
scsihw: virtio-scsi-pci
smbios1: uuid=1d861b22-4b7f-46ae-a51c-8667b544ded2
sockets: 1
vga: vmware
vmgenid: 723254df-db67-4945-910f-09e547e0b5e8
Перемещаемся в консоль гипервизора и открываем конфиг виртуальной машины в директории /etc/pve/qemu-server. Имя конфиг виртуальной машины будет равен её номеру. В моем случае это 135.conf. Нам нужно привести конфиг к следующему виду. Я выделю то, что я добавил и изменил. В итоге должно получится примерно так:
Конечный конфиг:
2222222222222222222222222222222222222222222222222222222222222222222222
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
bootdisk: order=ide2
cores: 4
cpu: Penryn
efidisk0: local-lvm:vm-135-disk-1,size=128K
ide0: local:iso/Catalina-installer.iso,cache=unsafe,size=2096528K
ide2: local:iso/OpenCore-v14.iso,cache=unsafe,size=150M
machine: q35
memory: 8196
name: Catalina10
net0: vmxnet3=4E:1E:AC:8C:AF:A3,bridge=vmbr0,firewall=1
numa: 0
ostype: other
sata0: local-lvm:vm-135-disk-0,backup=0,cache=unsafe,discard=on,size=20G,ssd=1
scsihw: virtio-scsi-pci
smbios1: uuid=1d861b22-4b7f-46ae-a51c-8667b544ded2
sockets: 1
vga: vmware
vmgenid: 723254df-db67-4945-910f-09e547e0b5e8
Если у вас процессор не 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.
Commit1 :По https://manjaro.site/?s=proxmox также есть касаемо установкиCommit2 :Заводы и фабрики остановлены , молодежи негде работать, поэтому многие ринулись изучать новую нишу - язык программирования для мобильной разработки Apple iPhone - Swift. Для изучения необходим хотя бы подержанный телефон iPhone (150$) и подержанный Макбук за 50 тыщ. Наверно, вместо макбука на первых порах можно установить виртуальный macos со средой разработки x-code.Commit3 :Для сборки приложений под apple - вполне вариант. Xcode, fastlane !
Linux SED
Cпасибо автору!
Источник:
https://manjaro.site/?s=proxmox