Исходный код вики Установка macOS в Proxmox
Редактировал(а) Сергей Коршунов 2023/02/08 12:54
Последние авторы
author | version | line-number | content |
---|---|---|---|
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. |