excerpt: Я прочесал все возможные Hackintosh-проекты и представляю вам максимально-автоматизированный путь установки. С минимальным пердолингом. (На момент декабря 2024 г.)
Как собрать приложение для iOS на обычном ПК, или длинный путь установки MacOS на нормальное железо
Судя по анализу поисковых запросов, очень много людей гуглят про установку макоси на нормальный компьютер с целью "попробовать", "как там живется на ПК от ЭПЛ".
Но спешу вас расстроить. MacOS совсем не предназначена для использования на обычных компьютерах. Совсем. Это будет ОЧЕНЬ неприятно, странно и незачем.
Если вы собираетесь делать это ради развлечения -- вы этого не получите. Вы испытаете боль при установке, вы испытаете боль при использовании. Всё будет работать медленно, греться и падать. Драйверов даже на самые базовые устройства (типа сетевой карты) -- не будет. Вы точно этого хотите?
ЕДИНСТВЕННЫЙ нормальный повод проворачивать это, за который вас НЕ обоссут: если вы хотите разработать софт для техники яблочных огрызков. Но при этом не хотите выкладывать 200 баксов на барахолке, чтобы купить умеренной-убитости макбук, для использования его для сборки проекта.
ДА ДА ДА -- программу для Маков или iOS можно собрать только в приложеньке XCode для MacOS. Других компиляторов не существует в природе. Совсем. И нет никаких альтернатив.
Для этого (очевидно) уже есть кривые и глюченные опенсорсные решения, которые никогда дальше беда версии не уходят. И запускаются с феерическими танцами с бубном.
Я прочесал все возможные Hackintosh-проекты и представляю вам максимально-автоматизированный путь установки. С минимальным пердолингом. (На момент декабря 2024 г.)
Что делаем? Первым делом, нужно глянуть на конфигурацию пекарни, на которой мы будем это запускать:
Чтобы не думать: скачиваем утилиту OpCore-Simplify. Запускаем, чекаем оборудование. Если что-то будет несовместимо -- программа ругнётся.
Если для какого-то оборудования существует кастомный драйвер, написанный комьюнити, то он автоматически подкачается.
По итогу, будет понятно, можно ли ставить. И если можно -- то какую максимальную версию.
Заранее готовьтесь, что почти вся ноутбуковская периферия (типа сетевых карт, веб-камер, тачпадов) будет вообще несовместима. Ибо яблочные никогда не ставили такое оборудование в свои устройства, и им незачем было писать для них драйверы.
Продумайте, как вы будете заменять эти устройства. (Например, заменив их внешними USB-аналогами). Например, у меня не было драйвера для Wi-Fi карты, и мне пришлось подключать внешний свисток.
После того, как проанализировали оборудование: жмем на "Собрать OpenCore EFI", наслаждаемся автоматической сборкой конфига для загрузчика.
Чтобы новая операционка понимала, как работать с кучей USB портов в нашей машине, нужно их ей представить как что-то вот такое:
Чтобы не думать: качаем ещё одну утилиту -- USBToolBox.
Прежде чем сканировать -- в настройках программы включаем "Use Native Class" (по умолчанию выключено).
Запускаем сканирование USB контроллеров. По инструкции программа просит повтыкать в каждый порт какое-нибудь устройство во время сканирования, чтобы "разбудить" порт, который был отключен из-за неиспользования.
Но у меня сразу вывалился полный список USB портов, и не пришлось такое делать. Выходим в главное меню и жмём "S. Select Ports and Build Kext".
Выбираем все USB порты, собираем Kext.
Если спросит ввести идентификатор: вводим iMacPro1,1. Сформированные файлы раскладываем в /EFI/OC/Kexts/ в директорию, которую мы получили на предыдущем шаге.
Качаем утилиту ProperTree. Выбираем config.plist в директории /EFI/, ждем подгрузки всех конфигов.
Затем жмём File -> RUN OC Snapshot.
Софтинка пробежится по всем конфигам/драйверам и т.д. Установит правильный порядок загрузки, допишет загрузку родительских драйверов, при наличии дочерних. И в принципе приведет все в порядок.
Но, когда я выполнял эти действия, у меня в голове всё громче и громче задавался вопрос: почему этот ворох софтин не интегрирован в единственное однокнопочное решение?
Думаете, это всё? Агащас!
Драйверы и конфиги мы собрали на предыдущем этапе. Теперь нам осталось спиз честно представиться владельцем техники эпл и скачать ТРИ интересные штуки с серверов Apple:
Я знаю, вы этого ждали.
Вы верили.
Ведь для скачивания образа операционки -- одна утилита (gibMacOS).
А для скачивания рекавери -- ДРУГАЯ (macrecovery).
Почему, если по итогу качается из одних и тех же серверов? Ни малейшего понятия.
gibMacOS -- в моём случае выбираю 15.0 Sequoia и просто инициирую скачивание. Итоговый образ появится в директории с софтинкой.
А вот с macrecovery -- всё сложнее. Для скачивания нужного рекавери, нужно передать в параметрах вместо версии -- его ID.
ID версий рекавери можно узнать например вот туть в официальной документации:
Для скачивания 15.0 секвойи и 13.0 вентуры нужно выполнить следующие команды:
# Ventura (13)
python macrecovery.py -b Mac-4B682C642B45593E -m 00000000000000000 download
# После вызова команды выше, появившуюся директорию с рекавери стоит переместить куда-нибудь отдельно. Потому то при следующем вызове это перезапишется. (пометьте что это именно вентура 13, чтобы не перепутать)
# Latest version
# ie. Sequoia (15)
python macrecovery.py -b Mac-937A206F2EE63C01 -m 00000000000000000 download
Вы думали, это всё? Агащас
Жмём Win Btn+R -> diskmgmt.msc.
Удаляем все разделы с флешки, создаём с нуля ДВА новых раздела:
В раздел OPENCORE кладём директории:
В раздел UnPlugged складываем следующее:
Теперь нужно всего лишь загрузиться с флешки и установить? Ведь да?
Агащас! Ещё как минимум 2-3 шага.
Before you start: если мы идём по пути минимального пердолинга, то ооооочень рекомендую устанавливать макось на отдельный диск (на тот, на котором уже нет какой-то существующей операционной системы).
Если вы попытаетесь разместить макось и винду на разных разделах одного и того же диска -- то очень велик шанс, что обе операционки при обновлениях будут пытаться перезаписать загрузчик на свой, ломая наху напрочь загрузку второй операционной системы. Вам оно надо? Всё-таки маковский загрузчик в beta, он не такой интеллектуальный как линуксовый grub, надо делать скидку.
Последующий гайд будет про установку на отдельный диск. Увы.
Поехали!
Спустя какое-то время ожидания, вас всё-таки выбросит на экран создания пользователя и предварительной настройки яблока. Проходите всё, пока не выбросит на рабочий стол. Это почти победа. Почти...
Похоже, для разработчиков OpenCore это кажется отличной идеей -- после установки операционки -- НЕ записывать загрузчик в первую загрузочную запись жесткого диска. И теперь после установки операционки вы можете попасть в MacOS только при вставленной установочной флешке.
Давайте исправлять это недоразумение!