Хакінтоша: розгортаємо macOS Sierra на Intel-PC докладно і зрозуміло

Даний мануал/гайд/etc написаний для тих, кому лінь збирати по шматках ту чи іншу інформацію про встановлення «маку» на PC, все зрозуміло і по поличках.

Для початку, перед, власне, установкою самої системи на ПК, потрібно визначитися, чи потрібна вона нам чи ні, так як сама система дуже специфічна в плані встановлення і налаштування, якщо у вас, звичайно, не яблучний девайс. Немає сенсу пояснювати, що розгортання системи, яка спочатку не планувалася для настільних ПК — справа складна і на це все можна вбити від 2-ох до N годин, в залежності від сумісності заліза.

Тепер, розберемося в тому, що ж таке Хакінтоша (Hackintosh): слово «хакінтоша» утворилася від злиття двох слів «Macintosh» і «Hack», що по суті означає «зламаний макінтош», хоча нічого спільного зі «зломом» тут немає.

В даному гайде розглянемо створення настановної флешки з-під Windows (так як це найбільш популярна система серед початківців хакінтошніков»), установку системи на чистий диск, розширення ядра під ваше залізо і, власне, установку і налаштування завантажувача (саме на цьому моменті і багатьох виникають проблеми)

Машина автора:CPU: Intel Core i5 4460 3,2 GHz (Haswell)
Memory: 16 GB Crucial Ballistix Sport
Graphics: MSI GeForce GTX 760 2048MB
Motherboard: Gigabyte GA-H81-S2V (UEFI Bios)

ACHTUNGАвтор НЕ ГАРАНТУЄ працездатність системи на такому ж рівні, як і в нього. Система працює на різних машинах по-різному і не треба картати автора за «криву інструкцію»

Також хочу звернути увагу, що в цій статті робота йде з відеокартами NVidia і UEFI BIOS ' ом.

Що ж, поїхали.

Крок 1. Оцінка і аналіз заліза
Так, незважаючи на те, що Хакінтоша так чи інакше запускається на майже будь-яких конфігураціях, робить він це завжди по-різному. Тому відразу варто проаналізувати наше залізо.

Процесори
Отже, почнемо з того, що на машинах на процесорах AMD система працювати НЕ БУДЕ (передсмертний стан агонії, в якому вона буде прибувати, «роботою» назвати дуже складно). Так, по суті, можна поставити кастомное ядро, перепрошити його і так далі, але сенс винаходити велосипед з палиць, якщо так чи інакше він все одно зламається. Система встає без проблем на процесори Intel, починаючи з Core i3 (ми говоримо конкретно про macOS Sierra 10.12, попередні випуски можуть стати також і на процесорах Core 2 Duo і Pentium). В моєму випадку випав камінь i5 4460 (4 ядра, 4 потоку, турбобуст до 3,4 ГГц).

ACHTUNG 2Спостерігаються проблеми на процесорах сокета 2011-3, зокрема на чіпсеті X99. Зазвичай проявляється через занадто великих наворотів материнської плати.
Відеокарти
Далі визначаємося з графікою. Якщо ви користуєтеся вбудованою графікою Intel (в моєму випадку це HD4600), то швидше за все знадобиться окремий «завод» графіки (хоча можуть завестися нативно).

Список підтримуючих графоядер IntelIntel HD 3000
Intel HD 4000
Intel HD 4600 (лептопи)
Intel HD 5000

Радеоны (AMD) заводяться, але знову ж з тріском. Наприклад, нові картки (RX-4**), а також всім відома R9 380 або R9 380x можуть просто вивести завантаження в чорний екран.

Список точно підтримуючих карт AMDRadeon HD 4000 series
Radeon HD 5000 series
Radeon HD 6000 series (Бажано 6600 і 6800)
Radeon HD 7000 series (Бажано 7700, 7800, 7900)
Radeon R9 200 series (R9 290 не заводиться)
Radeon R9 300 series (З R9 380 можуть бути проблеми. Особисто не перевіряв, але судячи з відгуків на Реддите з цими картками проблеми)

У цьому мануалі розглядати завод графіки AMD не будемо, так як все це зводиться до патчам фрэймбуффера і подменам Device ID завантажувачі (для кожного індивідуально). Детальніше про карти AMD тут: тык (English).

Зовсім інша справа з картками від NVidia. Заводяться майже всі, за винятком деяких особливо обдарованих. Проблеми спостерігаються на 10-ої серії, але, швидше за все, їх не скоро буде. На картах GTX графіка заводиться з полпинка, карти випуску GT теж не відстають, хоча там і є деякі винятки.

Список робочих карт NVidiaGeforce 7000 series
Geforce 8000 series
Geforce 9000 series
Geforce 200 series
Geforce 400 series
Geforce 500 series
Geforce 600 series
Geforce 700 series
Geforce 900 series

Більш ніж впевнений, що ви знайдете в списку свою карту.

Мережевий контролер
Думаю, не потрібно розжовувати, як можна визначити свою мережеву карту…

Ньюбі гайдВідкриваємо Диспетчер завдань → вкладка «продуктивність» → Ethernet (Windows 10), там великими чорними літерами буде сетевуха.

image

До речі, ще можна в BIOS'У e подивитися

Так чи інакше, на цьому детально зупинятися не будемо. Мережеву карту в будь-якому випадку доведеться заводити, так що просто надам список підтримуваних мережевих карт.

Мережеві карти

Intel Gigabit

5 Series – 82578LM/82578LC/82578DM/82578DC
6 and 7 Series – 82579LM/82579V
8 and 9 Series – I217LM/I217V/I218LM/I218V/I218LM2/I218V2/I218LM3

Realtek

RTL8111, 8168, 8101E, 8102E, 8131E, 8169, 8110SC, 8169SC
RTL8111/8168 B/C/D/E/F/G
RTL8101E/8102E/8102E/8103E/8103E/8103E/8401E/8105E/8402/8106E/8106EUS
RTL8105/8111E/8111F/8136/8168E/8168F

Atheros

AR8121, 8113, 8114, 8131, 8151, 8161, 8171, 8132,8151, 8152, 8162, 8172
AR816x, AR817x підтримуються

Broadcom

BCM5722, 5752, 5754, 5754M, 5755, 5755M, 5761, 5761e, 57780, 57781, 57785,5784 M, 5787, 5787M, 5906, 5906M, 57788, 5784M

Marvell

88E8035, 88E8036, 88E8038, 88E8039, 88E8056, 88E8001

Killer

E2200
Пам'ять
Обмежень немає. Система запускається на двох гігабайтах. Рекомендовано 4. Автор рекомендує 8.

З залізом, власне, розібралися. Якщо на цьому етапі ви не передумали, йдемо далі.

Крок 2. Робимо завантажувальну флешку і развертываем на неї установник
Отже, ось ми і підійшли до практики. Нагадаю, що робимо ми все це з-під Windows. Відразу кажу, що ми не будемо використати образи з рутрекера, які так яро радять люди, у яких все працює хакинтошники «до 18». Для початку нам знадобиться утиліта BDU (BootDiskUtiliy).

Потрібно флешка >8 ГБ. Будь-яка.

Качаємо: тик

1. Запускаємо утиліту
2. Destination disk → вибираємо нашу флешку
3. Disk Format

Тепер чекаємо. Флешка отформатируется в Apple HFS і розіб'ється на два розділи, один з яких буде встановлений завантажувач (CLOVER), а другий залишиться чистим для того, щоб туди можна було розгорнути інсталятор.

Після виконаних маніпуляцій отримуємо приблизно наступну картину:

image
Далі необхідно розгорнути установник на другий розділ. Робимо ми це також через утиліту BDU. Однак, тут стоїть питання, звідки взяти образ. Варіанта два: взяти готовий, вже розпакований, або ж особисто дістати його з Install Mac OS Sierra.додатки з AppStore. Так як другий спосіб вимагає досить багато часу, та й шукати сам .app дуже довго, скористаємося першим. Народні умільці вже приготували для цієї утиліти готові HFS файли, витягли їх .app за нас. Все, що нам потрібно-це завантажити його (образ важить майже 5 гигов, так що можна просто поставити на закачку). Власне, качаємо macOS 10.12 Sierra звідси.

Завантажили.

1. Дістаємо з архіву HFS Partition File (HFS+), файл з розширенням .hfs.
2. У вікні утиліти BDU «Destination disk» вибираємо Part 2 нашій розбитої флешки.
3. Відкриваємо «Restore partiton».
4. Шукаємо і вибираємо наш *.hfs-файл. Зверніть увагу, що він повинен бути не більше PART 2 розділу.
5. Чекаємо його розпакування.
Все, установник на флешці розпакований і готовий до роботи.

Тепер нам будуть потрібні деякі файли для вашої системи. Все необхідне я зібрав в цьому архіві. Пізніше поясню, що і для чого.

Завантажити

Також потрібно ще цей кекст, його теж завантажуємо: тык. Розпаковуємо папку з архіву в корінь розділу з Clover'ом, а кекст в папку, яку ми розпакували. Все, готово. Флешка зроблена. Йдемо далі.

Крок 3. Установка macOS Sierra на Intel-PC
Перевіряємо, що флешка вставлена в 2.0 порт. Перезавантажуємося, заходимо в BIOS. Нагадаю, що BIOS у нас — UEFI. Відключаємо віртуалізацію (Intel Virtualization). Пріоритет завантаження (BOOT) вказуємо нашу флешку. Переконайтеся, що вона буде вантажиться саме в режимі UEFI. Зберігаємо і застосовуємо налаштування, перезавантажуємося. Потрапляємо в меню Clover'а.

Clover («Конюшина») — завантажувач хакінтоша, а також його інсталятора.

Натискаємо стрілочку вниз до того моменту, поки не потрапимо на меню Options. Натискаємо Enter. Все, що нам потрібно тут — це ось цей рядок:

image

Прописуємо в неї наступне:

kext-dev-mode=1 rootless=0 -v npci=0x2000 nv_disable=1

Поясню, що робить кожен із цих аргументів:

kext-dev-mode=1
— необхідний арг, без якого не запуститься хак. Дозволяє завантажувати в систему кексти (Спочатку, FakeSMC.kext).
rootless=0
— відключає SIP (System Integrity Protection). Необхідний арг.
v
«Verbose mode». Замість красивого яблучка ми побачимо «консольну» завантаження, щоб можна було впізнати помилку, якщо така з'явиться.
npci=0x2000
(або 0x3000, в залежності від версії PCI-e) — за бажанням. Попереджаємо зупинку завантаження на етапі сканування PCI. Можна не прописувати.
nv_disable=1
— за бажанням. Щоб уникнути артефактів при завантаженні і іншого сміття, відключаємо графічну оболонку. Вантажимося в нативному режимі графіки в православному 144p дозволі. Можна не прописувати.
Застосовуємо аргументи, натискаючи Enter. Вибираємо Boot Mac OS Sierra from OS X Base System. І от, пішла рідна завантаження. Відразу розберемо деякі помилки: still waiting for root device — не встигає підключитися IDE-контролер.

ФіксПерепідключаємо флешку в інший 2.0 порт, вантажимося з такими аргументами:
kext-dev-mode=1 rootless=0 cpus=1 npci=0x2000 -v UseKernelCache=No


Missing Bluetooth controller transport — не включилася відеокарта, або не подрубился FakeSMC.kext. Перевірте, що в папці kexts/other є FakeSMC.kext. Синє зуб тут не при чому.

ФіксВантажимося так:

kext-dev-mode=1 rootless=0 -v npci=0x2000

Або так:
kext-dev-mode=1 rootless=0 -v -x npci=0x2000


Якщо такі помилки все ж залишилися, то пробуємо вантажиться так:

kext-dev-mode=1 rootless=0 -v npci=0x3000 darkwake=0 nv_disable=1 cpus=1

В інших випадках допоможуть тільки ґугли, хоча ці фікси повинні вирішувати ці проблеми.

Чекаємо. На деяких моментах може підвішувати. Якщо зависає більше ніж на хвилину — ребут. Повинно допомогти в деяких випадках.

І ось ми, власне, в інсталяторі. Вибираємо мову і клікаєм на стрілочку. Піде завантаження мовного пакету (може подвиснуть на хвилину). Тепер відкриваємо Утиліти>Дискова утиліта, нам потрібно форматувати диск під macOS. Вибираємо потрібний диск, натискаємо «Стерти». Для зручності називаємо новий диск «Macintosh HD». Форматуємо, закриваємо дискову утиліту. Далі вибираємо диск, на який будемо встановлювати систему (в нашому випадку, Macintosh HD), встановлюємо.

Установка займає від 15 до 30 хвилин, все залежить від швидкості запису на диск. Після установки система запропонує нам налаштувати інтернет підключення — пропускаємо, це зробимо пізніше. Робимо користувача. Готове, ми в системі. Вірніше, у її обрубки. Поки у нас ще нічого не працює. Якщо ви перезавантажте машину, то потрапити в систему буде неможливо (через відсутність завантажувача).

ФіксЯкщо ж комп все ж аварії або вирубався, то можна вибрати завантаження з флешки, потім в меню кловера вибрати «Boot macOS Sierra from Macintosh HD», не забуваючи при цьому прописати boot arguments в меню options.
Йдемо далі…

Крок 4. Базова настройка системи і установка кекстов
Отже, ось ми в системі. Поки вона вміє мало, в інтернет ми не вийдемо, графіка не працює, та й взагалі все виглядає якось ну дуже погано. Це потрібно виправляти.

Розберемося, що таке кексти.

Kext (Kernel Extension) — розширення ядра, що запускають те чи інше несумісне з оригінальним маком обладнання (Наприклад, звідки у аймаку ми знайдемо мережеву карту від Realtek або звукову карту?). Ось вони нам зараз і знадобляться.

Для початку нам потрібно папка PostInstall, яку ви розпакували в розділ CLOVER на завантажувальну флешку. Звідти нам потрібна, в першу чергу, утиліта Kext Utility, яка дозволяє встановлювати кексти в систему. Запускаємо її, вводимо пароль від користувача, чекаємо, поки побачимо напис «All done».

image
Встановлюємо кекст на мережеву карту (Папка Network, там по папках розсортував під кожну мережеву карту), просто перетягуємо його у вікно програми. Чекаємо, поки з'явиться напис «All done». Далі, заходимо в розділ CLOVER нашої флешки, далі в kexts, далі у Other. Копіюємо звідти FakeSMC.kext в будь-яке місце (Краще в ту ж PostInstall), далі тим же шляхом, що і кекст на мережеву карту, встановлюємо його. Також потрібно кекст на USB 3.0. Він був в архіві Legacy_13.2_EHC1.kext.zip, який ви розпакували в PostInstall. Встановлюємо його.

Готове, ми завели інтернет, USB і дозволили системі взагалі завантажуватися (FakeSMC.kext імітує чіп System Management Control, який присутній тільки на материнських платах Apple. Без цього кексти система просто не стартане).

Тепер встановимо завантажувач. Заходимо в папку PostInstall → Clover_v2.3k_r3949. Там є *.pkg файл, відкриваємо його.

image
Натискаємо продовжити, читаємо інфу про завантажувачі (вру, теж натискайте продовжити). Далі, в лівому нижньому куті натискаємо «Налаштувати».

Для UEFI-завантаження виставляємо наступні параметри:

image
Про легасі-завантаженні поговоримо пізніше, так як там все трохи складніше і доведеться патчити DSDT.
Натискаємо «Встановити». Підемо процес установки завантажувача.
Готово, встановлений завантажувач.

Крок 5. Налаштування завантажувача
Після установки ми отримаємо чистий, ненастроенный завантажувач Clover, який необхідно трохи подконфигурировать. Відкриваємо Clover Configurator (в майбутньому не раджу користуватися цією програмою для точкового редагування конфига завантажувача).

Для початку нам необхідно потрапити на EFI розділ з завантажувачем. У лівому меню натискаємо Mount EFI. Далі натискаємо Check partition, з'явиться таблиця всіх розділів. Потрібний нам розділ повинен знаходиться на тому ж розділі, що і Apple_HFS, він відображається як EFI EFI. Натискаємо Mount partition. У списку вибираємо потрібний нам диск (Наприклад, disk0s1). Зверніть увагу, що є баг, коли не видно всіх розділів. Обертайте коліщатко мишки, так ви зможете перегортати між розділами і вибрати потрібний.

Далі натискаємо Open Partition. Відкриє «папка» з потрібним розділом. Переходимо EFI>CLOVER. Копіюємо plist.config в папку PostInstall, для зручності. Також на всякий випадок копіюємо його ще куди-небудь, так як той, який ми тільки що скопіювали, будемо редагувати. А ще один для бекапа. Копіюємо, відкриваємо plist.config.

Бачимо приблизно наступне:

image

ACPI — Фікси не чіпаємо, дропаем (DropOEM) нашу відеокарту (DropOEM_DSM працює, коли зустрічаються два DSDT патча. Тому залишаємо оригінальний метод автопатча завантажувачем, а наш, якщо такий з'явиться, відключаємо).
Переходимо в секцію BOOT.

image

Отже, ось тут нам слід попорпатися. Аргументи виставляємо самі, в залежності від системи.

-v (verbose)
— вже знайомий «текстовий» режим завантаження. Краще не включати, а прописувати вручну при необхідності.
arch
— архітектура. В моєму випадку x86_64
npci
— вже відомий нам ключ. Виставляємо при необхідності. Рекомендую першу завантаження робити без нього, але Verbose mode.
darkwake
відповідає за режим сну і режим глибокого сну. Має 7 режимів. Якщо сон не заведеться зміною hibernatemode в терміналі, то рекомендую методом проб і помилок знайти потрібний режим дарквэйка.
cpus=1
— запуск з використанням тільки одного ядра. Не рекомендую вибирати.
nvda_drv=1
— активація вебдрайвера НВидии, який ми поставимо трохи пізніше. Вибираємо, якщо у вас nVidia.
nv_disable=1
— відключення графіки невидии і запуск на нативному драйвері маку. Краще не вибирати, але при необхожимости вручну прописувати.
kext-dev-mode=1
та
rootless=0
вже пояснювалися раніше.
Переходимо в праву підсекцію.

Default Volume Boot
— розділ, з якого за замовчуванням буде починатися вибір диска для завантаження. За замовчуванням LastBootedVolume (останній вибраний розділ).
Legacy
— Legacy Boot для старих версій Windows і Linux. Дуже сильно залежить від апаратної частини і побудови Біоса, тому були розроблені кілька алгоритмів:
LegacyBiosDefault
— для тих UEFI BIOS, де є протокол LegacyBios.
PBRTest, PBR
— варіанти PBR Boot, тут просто перебором. В моєму випадку працює PBR.
XMPDetection=YES
— важливий параметр. Фіксує кількість оперативної пам'яті, слотів, плашок, частоту і кількість каналів.
DefaultLoader
— якщо на розділі кілька завантажувачів, вибираємо дефолтний. Не повинен бути порожнім!
Timeout
— час до автоматичного бута.
Fast
— параметр, що пропускає вибір розділу і відразу перехід до завантаження.
-1 (Timeout -1)
— відключення автобута.
Секцію CPU пропускаємо, завантажувач сам підчепить потрібні значення. Devices також краще пропустити, якщо вам нічого «фэйкать». Disable Drivers — відключення непотрібних драйверів при завантаженні. GUI — налаштування зовнішнього вигляду завантажувача. Думаю, пояснювати нічого не потрібно, особливих параметрів тут немає. Дозвіл екрану, мова і тема меню. Все просто. Graphics — настройка і інжект графіки.

Параметр Inject NVidia не чіпати! На запуску будуть артефакти. Він призначений для запуску старих карт лінійки GT

Kernel and Kext Patches — патчі і кастомізація ядра. За замовчуванням обраний Apple RTC. Краще не чіпати. SMBIOS — самий сік, кастомізація і підробка «маку».

image

Для налаштування заводський інформації натискаємо на іконку чарівної палички. Далі вибираємо iMac (Якщо ПК), MacBook (якщо ноут).

ACHTUNG 3Можна подивитися також серед старих конфігів, типу MacMini, або Mac Pro. Ваше завдання підібрати найбільш схожий з вашим залізом мак.
Не додавайте нічого Memory і Slots. Це чисто косметичні параметри, які кловер чіпляє на етапі завантаження. Неправильно виставлені параметри можуть викликати конфлікти.

WARNING: Відеокарти Nvidia без правок полісі-кексти працюють тільки на мак-моделях iMac13,1 і iMac14,2.

У AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/info.plist виправляємо Config1 на none ось тут:

image
Тепер має працювати.

Готове. Більше нічого не чіпаємо, базові настройки ми зробили. Зберігаємо наш файл. Тепер копіюємо його в папку CLOVER розділу EFI, авторизируемся, замінюємо. Нагадаю, що перед цим ви повинні були зробити бекап.

Крок 6. Установка графічного драйвера і перша перезавантаження
Ось ми майже у мети. Тепер залишилося тільки завести відеокарту. У папці PostInstall лежить пакет WebDriver*.pkg. Відкриваємо його, встановлюємо. Далі він пропонує нам перезавантажиться. Перезавантажуємося.

Тепер переконався, що ми не завантажується з флешки, а з жорсткого диска в режимі UEFI. Вибираємо Boot macOS Sierra from Macintosh HD. Запускаємося.

ПриміткаЯ рекомендую використовувати ключ -v для першого запуску, щоб якщо щось пішло не так, то можна було відразу ідентифікувати помилку. Якщо завантажувач поламався і ви не можете потрапити в систему, то завантажуйтесь з флешки, прописуйте в опціях потрібні ключі і завантажуйте систему в Verbose mode.
Готове, ось ми і в системі. На картинці я приблизно показав, як буде виглядати вісь після всіх налаштувань. Зверніть увагу на те, як система зрозуміла ваш «мак», а також на частоту процесора.

image

Вірною ознакою роботи драйвера нвидии буде її логотип на панелі завдань. Я його відключив, до речі, так як він мішається, але отримати доступ до панелі управління невидией можна через «Системні налаштування...». Інтернет можемо перевірити через Сафарі. USB 3.0 банально встромивши флешку в 3.0 порт.

Додатково
— Звук
Стосовно звуку справа йде інакше. Якщо у вас зовнішня звукова карта, то просто скачайте драйвера для неї з сайту виробника (аналогові пристрої, типу мікшерних пультів, що не вимагають драйверів і заводяться відразу). Для вбудованої звукової карти використовуйте один з цих кекстов:

VoodoHDA. Народні умільці запилили інструкцію з його налаштуванні. Не буду її копіпаст, а просто дам посилання на архив.

p.s. Автор рекомендує переміщати кекст руками, однак, це все можна зробити через Kext Utility.

AppleHDA

що Стосується AppleHDAНеобхідно виконати такі умови, щоб він запрацював:

  1. Наявність ванільного (чистого) кексти AppleHDA.kext в системі.
  2. Наявність секції HDEF у вашому DSDT (або фікс кловера FixHDA_8000->True)

  3. Вказати layout в DSDT (або в config.plist кловера Devices->Audio->Inject->1,2,28...etc. Вибрати з тих, які прописані для вашого кодека вище)
  4. Прибрати патчі для звуку (якщо були у вашому config.plist) з розділу KextsToPatch
  5. Прибрати DummyHDA.kext (якщо користувалися)
  6. Якщо користувалися VoodooHDA.kext — видалити. Також видалити AppleHDADisabler.kext і перезібрати кеш.
  7. Для Intel HDMI 4000/4600 потрібно фікс кловера UseIntelHDMI->True

Власне, це все. Після ми отримуємо готову до роботи macOS Sierra.

The end
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.