0 Votes
Last modified by Сергей Коршунов on 2023/02/08 12:54

Hide last authors
Сергей Коршунов 1.1 1 = Установка macOS в Proxmox =
2
3
4 **Содержание**
5
6 Зачем устанавливать macos на обычный компьютер?
7
8 Подготовка установочного iso образа macos
9
10 Создание виртуальной машины для MacOS
11
12 Установка MacOS на Proxmox
13
14 Видео установки macOS
15
16 Заключение
17
18
19 Зачем устанавливать macos на обычный компьютер?
20
21 В данном случае под обычным компьютером я имею ввиду то, что не относится к железу от Apple, на котором, и только на котором, должна работать MacOS. Как известно, существует проект [[Hackintosh>>url:https://ru.wikipedia.org/wiki/Hackintosh]], который позволяет установить macos не только на виртуальные машины, но и обычные ноутбуки и pc. Видел даже услугу под ключ, где вам на чистый ноут поставят hackintosh. Только нужно будет купить железо, которое гарантированно поддерживается.
22
23 Мне, для удовлетворения любопытства, не нужно отдельное железо, поэтому я решил поставить MacOS на виртуальную машину Proxmox. Каких-то практических целей я не преследую. Чистое любопытство, получится или нет. В пятницу сидел, дела делать не хотелось, решил поразбираться немного. В итоге у меня всё получилось, поэтому решил поделиться информацией.
24
25 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-01.png~|~|alt="macos on proxmox vm" height="864" width="1489"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-01.png]]
26
27 Сразу скажу, что способов практического использования подобной системы не много, так как без графического ускорителя macos работает очень плохо. Вся анимация тормозит. Я не прорабатывал вопрос проброса видеокарты в виртуальную машину с macos. Мне он видится очень нетривиальным и без большой надобности разбираться с этим не захотелось. Но при этом нормально работает сеть, к системе можно подключаться по ssh, так что кому-то может и пригодится.
28
29 Я все операции проделывал на гипервизоре Proxmox 7.0, работающем на базе процессора Intel i5.
30
31 == Подготовка установочного iso образа macos ==
32
33 Начнём с того, что подготовим 2 iso образа для установки macos:
34
35 1. **OpenCore.iso** - качаем его из этого [[репозитория>>url:https://github.com/thenickdude/KVM-Opencore/releases/]]. Данный образ будет загрузочным. Он каким-то образом убеждает установщик самой системы, что работает на железе apple. Это его основная функция.
36 1. **Catalina-installer.iso** - стандартный установщик macos. Его мы подготовим далее.
37
38 Для того, чтобы начать установку macos, нам нужно подготовить образ системы. Для этого копируем себе репозиторий - [[https:~~/~~/github.com/kholia/OSX-KVM>>url:https://github.com/kholia/OSX-KVM]].
39
40 {{{# git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git}}}
41
42 В корне проекта есть python скрипт **fetch-macOS-v2.py**. Запускаем его и выбираем установку Catalina.
43
44 {{{# cd OSX-KVM
45 # ./fetch-macOS-v2.py}}}
46
47 [[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-02.png||alt="Загрузка BaseSystem.dmg" height="154" width="420"]]
48
49 Скрипт скачает базовый образ BaseSystem.dmg. Нам нужно будет его сконвертировать в iso.
50
51 {{{# qemu-img convert BaseSystem.dmg -O raw Catalina-installer.iso}}}
52
53 Оба образа - OpenCore.iso и Catalina-installer.iso копируем в репозиторий образов proxmox.
54
55 == Создание виртуальной машины для MacOS ==
56
57
58
59
60
61
62
63 Теперь идём в веб интерфейс proxmox и создаем виртуальную машину для MacOS. Я ей выделю 4 ядра и 8 гигабайт оперативной памяти. Количество ядер не должно быть 6. Я лично пробовал с 4 или 8 ядрами. Если сделать 6, ничего не получится. Динамическую память тоже обязательно выключаем.
64
65 Не буду расписывать все шаги, а просто покажу картинки настроек. Они будут предварительные. Затем завершим подготовку виртуальной машины в консоли. А пока создаём через веб интерфейс.
66
67 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-03.png~|~|alt="Создание VM для macOS" height="529" width="720"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-03.png]]
68
69 Создание VM для macOS
70
71 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-04.png~|~|alt="Выбор типа OS" height="531" width="721"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-04.png]]
72
73 Выбор типа OS
74
75 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-05.png~|~|alt="Настройка системных параметров" height="532" width="723"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-05.png]]
76
77 Настройка системных параметров
78
79 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-06.png~|~|alt="Настройка диска" height="528" width="719"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-06.png]]
80
81 Настройка диска
82
83 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-07.png~|~|alt="Выбор типа процессора" height="529" width="723"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-07.png]]
84
85 Выбор типа процессора
86
87 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-08.png~|~|alt="Настройка памяти" height="533" width="721"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-08.png]]
88
89 Настройка памяти
90
91 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-09.png~|~|alt="Выбор модели сетевой карты" height="531" width="719"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-09.png]]
92
93 Выбор модели сетевой карты
94
95 После создания открываем список оборудования VM и добавляем туда iso образ Catalina-installer.iso.
96
97 [[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-10.png||alt="Подключение системного iso образа macos catalina" height="290" width="423"]]
98
99 После создания, виртуальную машину не запускаем. Перемещаемся в консоль гипервизора и открываем конфиг виртуальной машины в директории ///etc/pve/qemu-server//. Имя конфиг виртуальной машины будет равен её номеру. В моем случае это //135.conf//. Нам нужно привести конфиг к следующему виду. Я выделю то, что я добавил и изменил.
100
101 {{{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
102 balloon: 0
103 bios: ovmf
104 boot: order=ide2
105 cores: 4
106 cpu: Penryn
107 efidisk0: local-500G:135/vm-135-disk-0.qcow2,size=128K
108 ide0: local-500G:iso/Catalina-installer.iso,cache=unsafe,size=2096528K
109 ide2: local-500G:iso/OpenCore-v13.iso,cache=unsafe,size=150M
110 machine: q35
111 memory: 8196
112 name: macos-test
113 net0: vmxnet3=26:06:41:79:8E:7A,bridge=vmbr0
114 numa: 0
115 ostype: other
116 sata0: raid1:vm-135-disk-0,cache=unsafe,discard=on,size=128G,ssd=1
117 scsihw: virtio-scsi-pci
118 smbios1: uuid=ed285c88-e9b7-41e9-b8cc-c18467097fb1
119 sockets: 1
120 vga: vmware
121 vmgenid: 1d33ec8f-921c-41eb-9577-6b92088d2902}}}
122
123 В веб интерфейсе настройки должны выглядеть примерно вот так:
124
125 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-11.png~|~|alt="Все настройки VM для macOS на Proxmox" height="416" width="935"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-11.png]]
126
127 Если у вас процессор не Intel, а AMD, параметры процессора следует использовать другие:
128
129 {{{-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}}}
130
131 В консоли гипервизора делаем еще одну настройку, меняя параметры модуля ядра kvm.
132
133 {{{echo "options kvm ignore_msrs=Y" >> /etc/modprobe.d/kvm.conf && update-initramfs -k all -u}}}
134
135 Активируем эту настройку без перезагрузки:
136
137 {{{modprobe kvm options ignore_msrs=Y}}}
138
139 У нас всё готово к тому, чтобы начать установку MacOS на виртуальную машину Proxmox.
140
141 == Установка MacOS на Proxmox ==
142
143 Запускаем виртуальную машину и переходим в консоль. Если всё сделали правильно на предыдущих шагах, должны увидеть следующую картинку.
144
145 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-12.png~|~|alt="Установка MacOS на Proxmox" height="719" width="1019"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-12.png]]
146
147 Мышка в этом режиме не будет работать, так что стрелками на клавиатуре выбираем **macOS Base System** и жмём Enter.
148
149 Некоторое время будете видеть надкусанное яблоко с прогресс баром.
150
151 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-13.png~|~|alt="Установка macOS Base System" height="374" width="829"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-13.png]]
152
153 Если на предыдущих этапах всё сделали правильно, то должны увидеть утилиты macOS.
154
155 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-14.png~|~|alt="Disk Utility" height="460" width="836"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-14.png]]
156
157 Нам надо выбрать **Disk Utility**. Здесь уже должна работать мышка. Выберите свой основной диск и очистите его, нажав Erase.
158
159 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-15.png~|~|alt="Создание основного диска для системы" height="607" width="962"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-15.png]]
160
161 После того, как закончите очистку, закрывайте утилиту и переходите в главное меню. Здесь вам нужно будет выбрать **Reinstall macOS**.
162
163 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-16.png~|~|alt="Reinstall macOS" height="401" width="782"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-16.png]]
164
165 Дальше будут разные вопросы, на которые нужно дать согласие и выбрать в качестве диска для установки системы свой единственный диск.
166
167 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-17.png~|~|alt="Выбор диска для установки системы" height="524" width="757"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-17.png]]
168
169 Начнёт процесс установки macOS, который в зависимости от вашего железа может длиться разное количество времени. В основном скорость будет зависеть от вашего жесткого диска. У меня минут 15-20 длился данный этап.
170
171 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-18.png~|~|alt="macOS catalina progress installation on proxmox" height="525" width="1066"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-18.png]]
172
173 После завершения этого этапа VM автоматически перезагрузится и встретит вас подобным меню.
174
175 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-19.png~|~|alt="macOS Installer" height="403" width="965"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-19.png]]
176
177 Нужно клавиатурой выбрать **macOS Installer** и установка продолжится. Пройдёт еще 10-15 минут, после которых система автоматически перезагрузится ещё раз. Далее вас встретит очередной загрузчик, где нужно выбрать ваш основной диск, на который установлена система. В моем случае это Main.
178
179 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-20.png~|~|alt="Загрузка установленной системы" height="477" width="1034"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-20.png]]
180
181 Дальше запускается стандартная преднастройка системы. Нужно будет выбрать страну, язык, логин, пароль и т.д. От использования учётной записи с Apple ID можно отказаться, так что никакие дополнительные учетные записи для работы macOS делать не нужно будет.
182
183 [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-21.png~|~|alt="Система MacOS работает в виртуальной машине Proxmox" height="864" width="1489"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-21.png]]
184
185 После завершения установки системы, рекомендую сразу же сделать себе архивную копию на всякий случай, чтобы потом заново устанавливать не пришлось.
186
187 == Видео установки macOS ==
188
189 Мне очень сильно помогло видео на youtube на данную тему. Оно позволило быстро въехать в тему, чтобы понять этапы, по которым надо пройти.
190
191
192
193 В видео не рассмотрен момент с получением **osk key**. Автор взял его со своего текущего mac. А что делать тем, у кого его нет? Я не сразу понял. В итоге нашёл информацию, что на последних версиях OpenCore ключ не имеет значения. Можно указать любой, что я и сделал. После этого всё получилось.
194
195 == Заключение ==
196
197 Что теперь делать с установленной на виртуальную машину macOS, решать вам. Было бы интересно узнать, как вам эта система пригодилась. Поделитесь в комментариях. Я подозреваю, что подобная установка будет актуальна для разработчиков, которым нужно что-то проверять в экосистеме apple. Какое-то другое применение в голову не приходит. Я, как сисадмин, никакого полезного применения для себя не нашёл.
198
199 Проблему с тормозами графики частично можно решить, если подключаться к системе через встроенный в macos **Screen Sharing**. Но это возможно только если у вас есть под рукой нормальный Mac. В этом случае можете использовать подобное подключение. Так же с помощью этого шаринга можно подключиться по VNC, но качество графики всё равно будет очень низкое, сопоставимое с консолью proxmox.