# Сбор файлов

  • Поддерживаемая версия: 0.6.9

Этот раздел о сборе различных файлов для загрузки macOS, мы ожидаем, что вы хорошо знаете своё оборудование перед началом, и надеемся, что вы делали раньше Хакинтош, так как мы не будем здесь глубоко погружаться.

Как лучше всего узнать, поддерживается ли мое оборудование?

См. Страницу аппаратных ограничений для лучшего понимания того, что требуется macOS для загрузки, аппаратная поддержка между Clover и OpenCore очень похожа.

Как можно узнать, какое у меня оборудование?

См. предыдущую страницу: Определение вашего оборудования

# Драйверы прошивок

Драйверы прошивок - драйверы, используемые OpenCore в UEFI среде. В основном они требуются для загрузки компьютера, либо расширяя возможности патчинга OpenCore или показывая вам различные накопители в меню выбора OpenCore(например, диски HFS).

  • Примечание о расположении: Эти файлы должны находиться в EFI/OC/Drivers/

# Универсальные

Требуемые драйверы

Для большинства систем, вам понадобится только 2 .efi драйвера для работы:

  • HfsPlus.efi (opens new window)(Требуется)
    • Нужен для просмотра HFS разделов(т.е., установщиков macOS и Recovery разделов/образов). Не смешивайте с другими HFS драйверами
    • Для Sandy Bridge и старее (а также младшие (low end) Ivy Bridge (i3 и Celeron)), см. legacy раздел ниже
  • OpenRuntime.efi (opens new window)(Требуется)
    • Замена AptioMemoryFix.efi (opens new window), используется как расширение для OpenCore, чтобы помогать в патчинге boot.efi для исправления NVRAM и лучшего управления памятью.
    • Напоминаем, что это включено в OpenCorePkg, который мы скачали ранее

# Пользователям Legacy

В дополнение вышесказанному, если ваше оборудование не поддерживает UEFI(2011 г. и старее), вам понадобится следующее. Обратите пристальное внимание на каждый пункт, поскольку вам может не понадобится все 4:

  • OpenUsbKbDxe.efi (opens new window)
  • HfsPlusLegacy.efi (opens new window)
    • Legacy вариант HfsPlus, используемый для систем без поддержки RDRAND инструкций. Обычно встречается на Sandy Bridge и старее(а также младшие (low end) Ivy Bridge (i3 и Celeron))
    • Не смешивайте это с HfsPlus.efi, выберите одно или другое, в зависимости от вашего оборудования
  • OpenPartitionDxe (opens new window)
    • Требуется для загрузки раздела восстановления (recovery) в OS X 10.7-10.9
      • Этот файл идёт в комплекте с OpenCorePkg в EFI/OC/Drivers
      • Примечание: Пользователи OpenDuet(т. е. без UEFI) будут иметь этот встроенный драйвер, он им не потребуется
    • Не требуется для OS X 10.10, Yosemite и новее

Эти файлы должны быть помещены в папку Drivers в вашем EFI

Особенности 32-бит

Для тех, у кого 32-битные процессоры, вы также захотите получить эти драйверы

  • HfsPlus32 (opens new window)
    • Альтернатива HfsPlusLegacy, но для 32-битных процессоров; не смешивайте это с другими HFS .efi драйверами

# Кексты

Kext - это kernel extension, вы можете думать что это драйвер для macOS, эти файлы должны быть помещены в папку Kexts folder в вашем EFI.

  • Примечание для Windows и Linux: Кексты будут выглядеть как обычные папки в вашей ОС, дважды проверьте, что папка, которую вы устанавливаете, имеет видимое расширение .kext(и не добавляйте его вручную, если оно отсутствует)
    • Если в любом кексте также есть .dSYM файл, вы можете просто удалить его. Они предназначены для отладочных целей.
  • Примечание о расположении: Эти файлы должны находиться в EFI/OC/Kexts/.

Все кексты перечисленные ниже, можно найти предварительно скомпилированными в Kext Repo (opens new window). Кексты здесь компилируются каждый раз при новом коммите.

# Маст-хэв

Требуемые кексты

Без двух ниже, система не загрузится:

  • VirtualSMC (opens new window)(Требуется)
    • Эмулирует чип SMC, найденный на реальных маках, без этого macOS не загрузится
    • Альтернативой является FakeSMC, который может иметь более лучшую или более худшую поддержку, чаще всего используется на legacy оборудовании.
    • Требуется OS X 10.6 или новее
  • Lilu (opens new window)(Требуется)
    • Кекст, чтобы патчить многие процессы; требуется для AppleALC, WhateverGreen, VirtualSMC и многих других кекстов. Без Lilu, они не будут работать
    • Обратите внимание: Lilu и плагины к нему требуют OS X 10.8 и новее
Legacy "маст-хэв" кексты

Для тех, кто планирует загружать OS X 10.7 и старее на 32-битном оборудовании, вы захотите использовать вместо VirtualSMC - ниже:

Напоминание: если вы не хотите загружать эти старые ОС, вы можете проигнорировать эти кексты.

  • Примечание по OS X 10.4 и 10.5: Даже на 64-битных процессорах, пространство ядра OS X по-прежнему 32-битное. Поэтому мы рекомендуем использовать FakeSMC-32 в тандеме с VirtualSMC, установив параметр Arch для FakeSMC-32 значение i386, и для VirtualSMC x86_64. Это обсуждается далее в руководстве.

# Плагины VirtualSMC

Нижеприведенные плагины не требуются для загрузки, и просто добавляют дополнительный функционал в систему, как мониторинг компьютера(Учтите, что когда VirtualSMC поддерживает 10.6, плагины могут требовать 10.8+):

  • SMCProcessor.kext
    • Используется для мониторинга температуры процессора, не работает на системах с процессорами AMD
  • SMCSuperIO.kext
    • Используется для мониторинга скорости кулера, не работает на системах с процессорами AMD
  • SMCLightSensor.kext
    • Используется для датчика освещения на ноутбуках, настольные ПК могут игнорировать
    • Не используйте, если у вас нет датчика освещения, иначе это может вызвать проблемы
  • SMCBatteryManager.kext
    • Не используйте, пока батарея не будет правильно пропатчена, иначе могут возникнуть проблемы. Поэтому для первоначальной установки, пожалуйста, опустите этот кекст. После установки, вы можете перейти на эту страницу для настройки: Исправление показаний батареи (opens new window)
  • SMCDellSensors.kext
    • Позволяет более точно мониторить и контролировать кулеры на компьютерах Dell, поддерживающие System Management Mode(SMM)
    • Не используйте, если у вас нет поддерживаемого компьютера Dell, в основном ноутбуки Dell могут извлечь выгоду из этого кекста

# Графика

  • WhateverGreen (opens new window)(Требуется)
    • Используется для патчинга DRM, boardID, исправления фреймбуфера, и т.д., все графические процессоры выигрывают от этого кекста
    • Обратите внимание, что файл SSDT-PNLF.dsl требуется только для ноутбуков и моноблоков, см. Начало работы с ACPI (opens new window) для получения подробной информации
    • Требуется OS X 10.8 или новее

# Звук

  • AppleALC (opens new window)
    • Используется для патчинга AppleHDA, что позволяет поддерживать большинство встроенных звуковых контроллеров
    • AMD 15h/16h могут иметь проблемы с этим и системы на Ryzen/Threadripper редко имеют поддержку микрофона
    • Требуется OS X 10.8 или новее
Legacy Кексты на Звук

Для тех, кто планирует загружать OS X 10.7 и старее, возможно, лучше стоит выбрать эти кексты:

  • VoodooHDA (opens new window)

    • Требуется OS X 10.6 или новее
  • VoodooHDA-FAT (opens new window)

    • Идентичен верхнему, однако поддерживает 32 и 64-битные ядра, так что он идеально подходит для загрузки OS X 10.4-5 и 32-битных процессоров

# Ethernet

Здесь мы предполагаем, что вы знаете, какая Ethernet карта установлена в вашей системе, напоминаем, что на страницах спецификации продукта, скорее всего, будет указан тип сетевой карты.

  • IntelMausi (opens new window)
    • Для большинства сетевых карт Intel, чипсеты I211, будут нуждаться в кексте SmallTreeIntel82576
    • Официально поддерживаются сетевые карты Intel 82578, 82579, I217, I218 и I219
    • Требуется OS X 10.9 или новее, пользователи 10.8-10.8 могут использовать вместо этого IntelSnowMausi для более старых ОС
  • SmallTreeIntel82576 kext (opens new window)
    • Требуется для сетевых карт I211, основан на кексте SmallTree, но пропатчен для поддержки I211
    • Требуется для большинства AMD плат с сетевыми картами Intel
    • Требуется OS X 10.9-12(v1.0.6), macOS 10.13-14(v1.2.5), macOS 10.15+(v1.3.0)
  • AtherosE2200Ethernet (opens new window)
    • Требуется для сетевых карт Atheros и Killer
    • Требуется OS X 10.8 или новее
    • Note: Модели Atheros Killer E2500 на самом деле сделаны на базе Realtek, вместо этого для этих систем, пожалуйста, используйте RealtekRTL8111 (opens new window)
  • RealtekRTL8111 (opens new window)
    • Для гигабитного Ethernet от Realtek
    • Требуется OS X 10.8 и выше для версий v2.2.0 и ниже, macOS 10.12 и выше для версий v2.2.2—v2.3.0 (включительно), macOS 10.14 и выше для версий v2.3.0 и выше
    • ПРИМЕЧАНИЕ: Иногда последняя версия кекста может работать некорректно с вашим Ethernet-контроллером. Если вы наблюдаете эту проблему, попробуйте более старые версии.
  • LucyRTL8125Ethernet (opens new window)
    • Для 2.5-гигабитного Ethernet от Realtek
    • Требуется macOS 10.15 или новее
  • Для сетевых карт Intel I225-V, патчи упомянуты в разделе настольного Comet Lake DeviceProperties. Кекст не требуется.
    • Требуется macOS 10.15 или новее
  • Для сетевых карт Intel I350, патчи упомянуты в разделе HEDT Sandy и Ivy Bridge-E DeviceProperties. Кекст не требуется.
    • Требуется OS X 10.10 или новее
Legacy Ethernet кексты

Актуальны как для legacy установок macOS, так и для устаревшего ПК оборудования.

  • AppleIntele1000e (opens new window)
    • В основном актуально для 10/100Мбит Ethernet контроллеров Intel
    • Требуется 10.6 или новее
  • RealtekRTL8100 (opens new window)
    • В основном актуально для 10/100Мбит Ethernet контроллеров Realtek
    • Требуется macOS 10.12 или с v2.0.0+
  • BCM5722D (opens new window)
    • В основном актуально для контроллеров Broadcom Ethernet на базе BCM5722
    • Требуется OS X 10.6 или новее

А также, имейте ввиду, что некоторые сетевые контролеры нативно поддерживаются в macOS:

Нативные Ethernet контроллеры

# Серии Aquantia

# AppleEthernetAquantiaAqtion.kext
pci1d6a,1    = Aquantia AQC107
pci1d6a,d107 = Aquantia AQC107
pci1d6a,7b1  = Aquantia AQC107
pci1d6a,80b1 = Aquantia AQC107
pci1d6a,87b1 = Aquantia AQC107
pci1d6a,88b1 = Aquantia AQC107
pci1d6a,89b1 = Aquantia AQC107
pci1d6a,91b1 = Aquantia AQC107
pci1d6a,92b1 = Aquantia AQC107
pci1d6a,c0   = Aquantia AQC113
pci1d6a,4c0  = Aquantia AQC113

Примечание: Из-за того, что многие сетевые карты Aquantia поставляются с устаревшей прошивкой, вам может понадобиться обновить прошивку в Linux/Windows, чтобы убедиться, что она совместима с macOS.

# Серии Intel

# AppleIntel8254XEthernet.kext
pci8086,1096 = Intel 80003ES2LAN
pci8086,100f = Intel 82545EM
pci8086,105e = Intel 82571EB/82571GB

# AppleIntelI210Ethernet.kext
pci8086,1533 = Intel I210
pci8086,15f2 = Intel I225LM (Added in macOS 10.15)

# Intel82574L.kext
pci8086,104b = Intel 82566DC
pci8086,10f6 = Intel 82574L

# Серии Broadcom

# AppleBCM5701Ethernet.kext
pci14e4,1684 = Broadcom BCM5764M
pci14e4,16b0 = Broadcom BCM57761
pci14e4,16b4 = Broadcom BCM57765
pci14e4,1682 = Broadcom BCM57762
pci14e4,1686 = Broadcom BCM57766

# USB

  • USBInjectAll (opens new window)

    • Используется для инжектирования USB контроллеров Intel на системах без определённых в ACPI USB портов
    • Не требуется на настольных (desktop) Skylake и новее
      • AsRock тупой и нуждается в этом
      • Однако, ноутбукам с Coffee Lake и старее, рекомендуется использовать этот кекст
    • Не работает на процессорах AMD совсем
    • Требуется OS X 10.11 или новее
  • XHCI-unsupported (opens new window)

    • Требуется для не-нативных USB контроллеров
    • Системам на процессорах AMD это не нужно
    • Обычно чипсеты, которым это нужно:
      • H370
      • B360
      • H310
      • Z390(Не требуется в Mojave и новее)
      • X79
      • X99
      • AsRock платы(В частности, материнским платам Intel, однако B460/Z490+ платы не нуждаются в этом)

# WiFi и Bluetooth

# Intel

  • AirportItlwm (opens new window)
    • Добавляет поддержку большого разнообразия беспроводных карт Intel, и работает нативно в рекавери, спасибо интеграции IO80211Family
    • Требуется macOS 10.13 или новее и требуется Apple Secure Boot для правильной работы
  • IntelBluetoothFirmware (opens new window)
    • Добавляет поддержку Bluetooth в macOS при сопряжении с беспроводной картой Intel
    • Требуется macOS 10.13 или новее
Более подробная информация о включении AirportItlwm

Чтобы включить поддержку AirportItlwm в OpenCore, вам нужно:

  • Включить Misc -> Security -> SecureBootModel, установив значение Default или другое допустимое значение
  • Если вы не можете включить SecureBootModel, вы все равно можете принудительно (force) заинжектировать IO80211Family(Крайне не рекомендуется)
    • Установите следующее в вашем config.plist в разделе Kernel -> Force(discussed later in this guide):

# Broadcom

  • AirportBrcmFixup (opens new window)
    • Используется для патчинга карт Broadcom не от Apple/Fenvi, не будет работать с Intel, Killer, Realtek, etc
    • Требуется OS X 10.10 или новее
    • Для Big Sur см. Известные проблемы Big Sur, чтобы узнать о дополнительных действиях, касающихся драйверов AirPortBrcm4360.
  • BrcmPatchRAM (opens new window)
    • Используется для загрузки прошивки на Bluetooth чипсет от Broadcom, требуется для всех Airport карт не от Apple/Fenvi.
    • Для сопряжения с BrcmFirmwareData.kext
      • BrcmPatchRAM3 для 10.15+ (должен быть сопряжен с BrcmBluetoothInjector)
      • BrcmPatchRAM2 для 10.11-10.14
      • BrcmPatchRAM для 10.8-10.10
Порядок загрузки BrcmPatchRAM

Порядок в Kernel -> Add должен быть следующим:

  1. BrcmBluetoothInjector
  2. BrcmFirmwareData
  3. BrcmPatchRAM3

Однако, ProperTree сделает это за вас, поэтому вам не нужно беспокоиться

# Кексты для процессоров AMD

  • XLNCUSBFIX (opens new window)
    • Исправление USB для AMD FX систем, не рекомендуется с Ryzen
    • Требуется macOS 10.13 или новее
  • VoodooHDA (opens new window)
    • Звук для систем на FX и поддержка передней панели Mic+Audio для систем на Ryzen, не смешивайте с AppleALC. Качество звука заметно хуже чем с AppleALC на процессорах Zen
    • Требуется OS X 10.6 или новее

# Дополнительно

  • AppleMCEReporterDisabler (opens new window)
    • Полезно, начиная с Catalina, чтобы отключать кекст AppleMCEReporter, который вызывает панику ядра на процессорах AMD и двухпроцессорных системах.
    • Затронутые SMBIOS:
      • MacPro6,1
      • MacPro7,1
      • iMacPro1,1
    • Требуется macOS 10.15 или новее
  • CpuTscSync (opens new window)
    • Необходим для синхронизирования TSC на некоторых HEDT Intel и серверных материнских платах, без этого macOS может быть очень медленной или даже не загружаться.
    • Не работает на процессорах AMD
    • Требуется OS X 10.8 или новее
  • NVMeFix (opens new window)
    • Используется для исправления управления питанием и инициализации NVMe не от Apple
    • Требуется macOS 10.14 или новее
  • SATA-Unsupported (opens new window)
    • Добавляет поддержку большого разнообразия SATA контроллеров, в основном актуально для ноутбуков, которые имеют проблемы с отображением SATA диска в macOS. Мы рекомендуем протестировать сначала без него.
    • Заметка о macOS Big Sur: нужно будет использовать вместо него CtlnaAHCIPort (opens new window) из-за того, что множество контроллеров будут удалены из бинарного файла
      • Не нужно беспокоиться на Catalina и старее
Legacy SATA Кексты
  • AHCIPortInjector (opens new window)
    • Legacy инжектор SATA/AHCI, в основном актуально для старых компьютеров эпохи Penryn
  • ATAPortInjector (opens new window)
    • Legacy ATA инжектор, в основном актуально для IDE и ATA устройств(т.е. когда в BIOS нет ACHI опции)

# Особенности ноутбуков

Чтобы узнать, какая у вас клавиатура и трекпад, посмотрите Диспетчер Устройств в Windows или dmesg | grep -i input в Linux

# Драйверы ввода

  • VoodooPS2 (opens new window)
    • Для систем с PS2 клавиатурами, мышками, и трекпадами
    • Требуется macOS 10.11 или новее для функций MT2 (Magic Trackpad 2)
  • RehabMan's VoodooPS2 (opens new window)
    • Для старых систем с PS2 клавиатурами, мышками, и трекпадами, или когда вы не хотите использовать VoodooInput
    • Поддерживается macOS 10.6+
  • VoodooRMI (opens new window)
    • Для систем с Synaptics SMBUS устройствами, в основном для трекпадов и trackpoints.
    • Требуется macOS 10.11 или новее для функций MT2
  • VoodooSMBus (opens new window)
    • Для систем с ELAN SMBUS устройствами, в основном для трекпадов и trackpoints.
    • Поддерживается в настоящее время macOS 10.14 или новее
  • VoodooI2C (opens new window)
    • Используется для исправления I2C устройств, найдено с некоторыми модными тачпадами и в устройствах с сенсорным экраном
    • Требуется macOS 10.11 или новее для функций MT2
Плагины VoodooI2C
Тип подключения Плагин Примечание
Microsoft HID VoodooI2CHID Может использоваться для поддержки некоторых USB сенсорных экранов
ELAN Proprietary VoodooI2CElan ELAN1200+ требует вместо этого VoodooI2CHID
Synaptics Proprietary VoodooI2CSynaptics Протокол Synaptics F12 требует вместо этого VoodooI2CHID
VoodooRMI Поддерживает протоколы Synaptics F12/F3A - они обычно поддерживают стандарт Microsoft HID, поэтому сначала вам следует попробовать VoodooI2CHID
FTE1001 touchpad VoodooI2CFTE
Atmel Multitouch Protocol VoodooI2CAtmelMXT

# Разное

  • ECEnabler (opens new window)
    • Исправляет чтение состояния батареи на многих устройствах (позволяет читать поля EC длиной более 8 бит)
  • BrightnessKeys (opens new window)
    • Автоматически исправляет горячие клавиши яркости

Пожалуйста, обратитесь к Kexts.md (opens new window) для получения списка поддерживаемых кекстов

# SSDT

И так, вы видите все SSDT в папке AcpiSamples и задаетесь вопросом, нужны ли они вам. Мы рассмотрим, какие SSDT вам нужны в вашем конкретном ACPI разделе config.plist, поскольку нужные вам SSDT зависят от платформы. Некоторые из них могут быть специфичными для конкретной системы, где они должны быть настроены. Вы можете легко потеряться, если я дам вам список SSDT на выбор прямо сейчас.

Начало работы с ACPI (opens new window) имеет обширный раздел с SSDT, включая их компиляцию на разных платформах

Быстрый TL;DR необходимых SSDT (это исходный код, который вам нужно будет скомпилировать в .aml файл):

# Настольный ПК

Platforms CPU EC AWAC NVRAM USB
Penryn N/A SSDT-EC (opens new window) N/A N/A N/A
Lynnfield и Clarkdale
SandyBridge CPU-PM (opens new window) (Run in Post-Install)
Ivy Bridge
Haswell SSDT-PLUG (opens new window)
Broadwell
Skylake SSDT-EC-USBX (opens new window)
Kaby Lake
Coffee Lake SSDT-AWAC (opens new window) SSDT-PMC (opens new window)
Comet Lake N/A SSDT-RHUB (opens new window)
AMD (15/16h) N/A N/A N/A
AMD (17/19h) SSDT-CPUR для B550 и A520 (opens new window)

# Высокопроизводительный настольный ПК

Platforms CPU EC RTC PCI
Nehalem and Westmere N/A SSDT-EC (opens new window) N/A N/A
Sandy Bridge-E SSDT-UNC (opens new window)
Ivy Bridge-E
Haswell-E SSDT-PLUG (opens new window) SSDT-EC-USBX (opens new window) SSDT-RTC0-RANGE (opens new window)
Broadwell-E
Skylake-X N/A

# Ноутбук

Platforms CPU EC Backlight I2C Trackpad AWAC USB IRQ
Clarksfield и Arrandale N/A SSDT-EC (opens new window) SSDT-PNLF (opens new window) N/A N/A N/A IRQ SSDT (opens new window)
SandyBridge CPU-PM (opens new window) (Run in Post-Install)
Ivy Bridge
Haswell SSDT-PLUG (opens new window) SSDT-GPI0 (opens new window)
Broadwell
Skylake SSDT-EC-USBX (opens new window) N/A
Kaby Lake
Coffee Lake (8th Gen) и Whiskey Lake SSDT-PNLF-CFL (opens new window) SSDT-AWAC (opens new window)
Coffee Lake (9th Gen)
Comet Lake
Ice Lake SSDT-RHUB (opens new window)

Продолжение:

Platforms NVRAM IMEI
Clarksfield и Arrandale N/A N/A
Sandy Bridge SSDT-IMEI (opens new window)
Ivy Bridge
Haswell N/A
Broadwell
Skylake
Kaby Lake
Coffee Lake (8th Gen) и Whiskey Lake
Coffee Lake (9th Gen) SSDT-PMC (opens new window)
Comet Lake N/A
Ice Lake

# Теперь, когда это всё сделано, перейдите к Началу работы с ACPI (на английском) (opens new window)