- Установка и удаление кекстов в macOS
- § Введение
- § Установка кекстов
- Kext Utility
- Установка в папку Clover
- § Удаление кекстов
- Удаление из системной папки
- Удаление из папки Clover
- # Сбор файлов
- # Драйверы прошивок
- # Универсальные
- # Пользователям Legacy
- # Кексты
- # Маст-хэв
- # Плагины VirtualSMC
- # Графика
- # Ethernet
- # Серии Aquantia
- # Серии Intel
- # Серии Broadcom
- # WiFi и Bluetooth
- # Intel
- # Broadcom
- # Кексты для процессоров AMD
- # Дополнительно
- # Особенности ноутбуков
- # Драйверы ввода
- # Разное
- # Настольный ПК
- # Высокопроизводительный настольный ПК
- # Ноутбук
- # Теперь, когда это всё сделано, перейдите к Началу работы с ACPI (на английском)
Установка и удаление
кекстов в macOS
§ Введение
Слово «Кекст» — транскрипция английского сокращения Kext от Kernel extension, т.е. расширение ядра. В виде кекстов реализованы все драйверы для macOS. Большинство самих же кекстов реализовано в виде специальных установочных пакетов, при запуске которых потребуется лишь ввести пароль, а всё остальное сделают за вас скрипты. Почти так же, как и с привычной установкой драйверов на ОС Windows.
Но не всегда всё так легко. Порой достается просто файл с расширением .kext. А в случае с хакинтошем, следует и вовсе готовиться к тому, что, возможно, придётся перепробовать несколько разных кекстов, прежде чем определенная аппаратная часть ПК заработает правильно.
Установка кекстов в macOS состоит из трёх этапов:
- Копировании в папку System/Library/Extensions.
- Настройке прав доступа.
- Удалении и пересоздании кэша кекстов для загрузки системы.
§ Установка кекстов
Kext Utility
Есть два способа установки кекстов — ручной и автоматический. Я рекомендую автоматический, поскольку он гораздо проще. В этом мне помогает отличная программа Kext Utility. Она делает за меня все три описанных выше этапа установки кекстов.
Есть несколько способов работы с Kext Utility:
- перетаскивание одного или нескольких кекстов в окно программы;
- запуск вхолостую, запускающий проверку прав доступа к уже установленным кекстам и пересозданию их кэша.
- Скачайте Kext Utility с cvad-mac.narod.ru и установите, переместив приложение в папку «Программы».
Установка в папку Clover
Не всегда требуется устанавливать кексты в системную папку macOS: на хакинтоше есть еще одно место с кекстами — в папке Clover. Обычно там располагаются кексты, необходимые для работы хакинтоша. Выбор места для установки следует делать исходя из документации к кексту. Большое количество кекстов, загружаемых через Clover, может замедлить загрузку системы.
- Откройте папку кекстов в Clover: EFI > CLOVER > Kexts > Other.
В папке Clover/Kexts/Other располагаются кексты для всех версий macOS. Рекомендуется копировать кексты именно в эту папку.
§ Удаление кекстов
Удаление из системной папки
- Выберите в строке меню пункт «Переход к папке» и введите путь к системной папке: /System/Library/Extensions
С помощью сочетания ⌘ + Shift + . (точка) можно отображать скрытые файлы в macOS и таким же способом их скрывать.
Помимо основной папки с кекстами в macOS, которая располагается в папке System/, есть еще одно место, где хранятся кексты — /Library/Extensions. Но оно используется гораздо реже и кекстов там немного.
Удаление из папки Clover
В случае, если целевой кекст располагается в папке Clover, просто удалите его оттуда и перезагрузите компьютер.
Источник
# Сбор файлов
Этот раздел о сборе различных файлов для загрузки macOS, мы ожидаем, что вы хорошо знаете своё оборудование перед началом, и надеемся, что вы делали раньше Хакинтош, так как мы не будем здесь глубоко погружаться.
Как лучше всего узнать, поддерживается ли мое оборудование?
См. Страницу аппаратных ограничений для лучшего понимания того, что требуется macOS для загрузки, аппаратная поддержка между Clover и OpenCore очень похожа.
Как можно узнать, какое у меня оборудование?
# Драйверы прошивок
Драйверы прошивок — драйверы, используемые OpenCore в UEFI среде. В основном они требуются для загрузки компьютера, либо расширяя возможности патчинга OpenCore или показывая вам различные накопители в меню выбора OpenCore(например, диски HFS).
- Примечание о расположении: Эти файлы должны находиться в EFI/OC/Drivers/
# Универсальные
Для большинства систем, вам понадобится только 2 .efi драйвера для работы:
(opens new window) ( Требуется )
- Нужен для просмотра HFS разделов(т.е., установщиков macOS и Recovery разделов/образов). Не смешивайте с другими HFS драйверами
- Для Sandy Bridge и старее (а также младшие (low end) Ivy Bridge (i3 и Celeron)), см. legacy раздел ниже
- OpenRuntime.efi
(opens new window) , используется как расширение для OpenCore, чтобы помогать в патчинге boot.efi для исправления NVRAM и лучшего управления памятью.
- Напоминаем, что это включено в OpenCorePkg, который мы скачали ранее
- 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 и новее
- Требуется для загрузки раздела восстановления (recovery) в OS X 10.7-10.9
- Альтернатива HfsPlusLegacy, но для 32-битных процессоров; не смешивайте это с другими HFS .efi драйверами
- Примечание для Windows и Linux: Кексты будут выглядеть как обычные папки в вашей ОС, дважды проверьте, что папка, которую вы устанавливаете, имеет видимое расширение .kext(и не добавляйте его вручную, если оно отсутствует)
- Если в любом кексте также есть .dSYM файл, вы можете просто удалить его. Они предназначены для отладочных целей.
- Примечание о расположении: Эти файлы должны находиться в EFI/OC/Kexts/ .
- Эмулирует чип SMC, найденный на реальных маках, без этого macOS не загрузится
- Альтернативой является FakeSMC, который может иметь более лучшую или более худшую поддержку, чаще всего используется на legacy оборудовании.
- Требуется OS X 10.6 или новее
- Lilu
(opens new window) ( Требуется )
- Кекст, чтобы патчить многие процессы; требуется для AppleALC, WhateverGreen, VirtualSMC и многих других кекстов. Без Lilu, они не будут работать
- Обратите внимание: Lilu и плагины к нему требуют OS X 10.8 и новее
- Примечание по OS X 10.4 и 10.5: Даже на 64-битных процессорах, пространство ядра OS X по-прежнему 32-битное. Поэтому мы рекомендуем использовать FakeSMC-32 в тандеме с VirtualSMC, установив параметр Arch для FakeSMC-32 значение i386 , и для VirtualSMC x86_64 . Это обсуждается далее в руководстве.
- SMCProcessor.kext
- Используется для мониторинга температуры процессора, не работает на системах с процессорами AMD
- SMCSuperIO.kext
- Используется для мониторинга скорости кулера, не работает на системах с процессорами AMD
- SMCLightSensor.kext
- Используется для датчика освещения на ноутбуках, настольные ПК могут игнорировать
- Не используйте, если у вас нет датчика освещения, иначе это может вызвать проблемы
- SMCBatteryManager.kext
- Не используйте, пока батарея не будет правильно пропатчена, иначе могут возникнуть проблемы. Поэтому для первоначальной установки, пожалуйста, опустите этот кекст. После установки, вы можете перейти на эту страницу для настройки: Исправление показаний батареи
(opens new window)
- Не используйте, пока батарея не будет правильно пропатчена, иначе могут возникнуть проблемы. Поэтому для первоначальной установки, пожалуйста, опустите этот кекст. После установки, вы можете перейти на эту страницу для настройки: Исправление показаний батареи
- SMCDellSensors.kext
- Позволяет более точно мониторить и контролировать кулеры на компьютерах Dell, поддерживающие System Management Mode(SMM)
- Не используйте, если у вас нет поддерживаемого компьютера Dell, в основном ноутбуки Dell могут извлечь выгоду из этого кекста
- Используется для патчинга DRM, boardID, исправления фреймбуфера, и т.д., все графические процессоры выигрывают от этого кекста
- Обратите внимание, что файл SSDT-PNLF.dsl требуется только для ноутбуков и моноблоков, см. Начало работы с ACPI
- Требуется OS X 10.8 или новее
- Используется для патчинга AppleHDA, что позволяет поддерживать большинство встроенных звуковых контроллеров
- AMD 15h/16h могут иметь проблемы с этим и системы на Ryzen/Threadripper редко имеют поддержку микрофона
- Требуется OS X 10.8 или новее
- Требуется OS X 10.6 или новее
- Идентичен верхнему, однако поддерживает 32 и 64-битные ядра, так что он идеально подходит для загрузки OS X 10.4-5 и 32-битных процессоров
- Для большинства сетевых карт 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)
- Для гигабитного 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 или новее
- В основном актуально для 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 или новее
- Используется для инжектирования USB контроллеров Intel на системах без определённых в ACPI USB портов
- Не требуется на настольных (desktop) Skylake и новее
- AsRock тупой и нуждается в этом
- Однако, ноутбукам с Coffee Lake и старее, рекомендуется использовать этот кекст
- Не работает на процессорах AMD совсем
- Требуется OS X 10.11 или новее
- Требуется для не-нативных USB контроллеров
- Системам на процессорах AMD это не нужно
- Обычно чипсеты, которым это нужно:
- H370
- B360
- H310
- Z390(Не требуется в Mojave и новее)
- X79
- X99
- AsRock платы(В частности, материнским платам Intel, однако B460/Z490+ платы не нуждаются в этом)
- Добавляет поддержку большого разнообразия беспроводных карт Intel, и работает нативно в рекавери, спасибо интеграции IO80211Family
- Требуется macOS 10.13 или новее и требуется Apple Secure Boot для правильной работы
- IntelBluetoothFirmware
(opens new window)
- Добавляет поддержку Bluetooth в macOS при сопряжении с беспроводной картой Intel
- Требуется macOS 10.13 или новее
- Если вы не можете включить SecureBootModel, вы все равно можете принудительно (force) заинжектировать IO80211Family(Крайне не рекомендуется)
- Установите следующее в вашем config.plist в разделе Kernel -> Force (discussed later in this guide):
- Используется для патчинга карт 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
- BrcmBluetoothInjector
- BrcmFirmwareData
- BrcmPatchRAM3
- Исправление USB для AMD FX систем, не рекомендуется с Ryzen
- Требуется macOS 10.13 или новее
- VoodooHDA
(opens new window)
- Звук для систем на FX и поддержка передней панели Mic+Audio для систем на Ryzen, не смешивайте с AppleALC. Качество звука заметно хуже чем с AppleALC на процессорах Zen
- Требуется OS X 10.6 или новее
- Полезно, начиная с 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 и старее
- AHCIPortInjector
(opens new window)
- Legacy инжектор SATA/AHCI, в основном актуально для старых компьютеров эпохи Penryn
- ATAPortInjector
(opens new window)
- Legacy ATA инжектор, в основном актуально для IDE и ATA устройств(т.е. когда в BIOS нет ACHI опции)
- Для систем с 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
- Исправляет чтение состояния батареи на многих устройствах (позволяет читать поля EC длиной более 8 бит)
- BrightnessKeys
(opens new window)
- Автоматически исправляет горячие клавиши яркости
# Пользователям Legacy
В дополнение вышесказанному, если ваше оборудование не поддерживает UEFI(2011 г. и старее), вам понадобится следующее. Обратите пристальное внимание на каждый пункт, поскольку вам может не понадобится все 4:
(opens new window)
- Используется для меню выбора (picker) OpenCore на legacy системах, работающих под управлением DuetPkgне рекомендуется и даже вреден на UEFI (Ivy Bridge и новее)
(opens new window)
Эти файлы должны быть помещены в папку Drivers в вашем EFI
Для тех, у кого 32-битные процессоры, вы также захотите получить эти драйверы
(opens new window)
# Кексты
Kext — это kernel extension, вы можете думать что это драйвер для macOS, эти файлы должны быть помещены в папку Kexts folder в вашем EFI.
Все кексты перечисленные ниже, можно найти предварительно скомпилированными в Kext Repo
(opens new window) . Кексты здесь компилируются каждый раз при новом коммите.
# Маст-хэв
Без двух ниже, система не загрузится:
(opens new window) ( Требуется )
Legacy «маст-хэв» кексты
Для тех, кто планирует загружать OS X 10.7 и старее на 32-битном оборудовании, вы захотите использовать вместо VirtualSMC — ниже:
Напоминание: если вы не хотите загружать эти старые ОС, вы можете проигнорировать эти кексты.
# Плагины VirtualSMC
Нижеприведенные плагины не требуются для загрузки, и просто добавляют дополнительный функционал в систему, как мониторинг компьютера(Учтите, что когда VirtualSMC поддерживает 10.6, плагины могут требовать 10.8+):
# Графика
(opens new window) ( Требуется )
(opens new window) для получения подробной информации
(opens new window)
Legacy Кексты на Звук
Для тех, кто планирует загружать OS X 10.7 и старее, возможно, лучше стоит выбрать эти кексты:
# Ethernet
Здесь мы предполагаем, что вы знаете, какая Ethernet карта установлена в вашей системе, напоминаем, что на страницах спецификации продукта, скорее всего, будет указан тип сетевой карты.
(opens new window)
Legacy Ethernet кексты
Актуальны как для legacy установок macOS, так и для устаревшего ПК оборудования.
(opens new window)
А также, имейте ввиду, что некоторые сетевые контролеры нативно поддерживаются в macOS:
Нативные Ethernet контроллеры
# Серии Aquantia
Примечание: Из-за того, что многие сетевые карты Aquantia поставляются с устаревшей прошивкой, вам может понадобиться обновить прошивку в Linux/Windows, чтобы убедиться, что она совместима с macOS.
# Серии Intel
# Серии Broadcom
# WiFi и Bluetooth
# Intel
(opens new window)
Более подробная информация о включении AirportItlwm
Чтобы включить поддержку AirportItlwm в OpenCore, вам нужно:
- Включить Misc -> Security -> SecureBootModel , установив значение Default или другое допустимое значение
- Это обсуждается позже в этом руководстве и в руководстве После установки: Apple Secure Boot
(opens new window)
# Broadcom
(opens new window)
Порядок загрузки BrcmPatchRAM
Порядок в Kernel -> Add должен быть следующим:
Однако, ProperTree сделает это за вас, поэтому вам не нужно беспокоиться
# Кексты для процессоров AMD
(opens new window)
# Дополнительно
(opens new window)
Legacy SATA Кексты
# Особенности ноутбуков
Чтобы узнать, какая у вас клавиатура и трекпад, посмотрите Диспетчер Устройств в Windows или dmesg | grep -i input в Linux
# Драйверы ввода
(opens new window)
Плагины 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 |
# Разное
(opens new window)
Пожалуйста, обратитесь к Kexts.md
(opens new window) для получения списка поддерживаемых кекстов
И так, вы видите все SSDT в папке AcpiSamples и задаетесь вопросом, нужны ли они вам. Мы рассмотрим, какие SSDT вам нужны в вашем конкретном ACPI разделе config.plist, поскольку нужные вам SSDT зависят от платформы. Некоторые из них могут быть специфичными для конкретной системы, где они должны быть настроены. Вы можете легко потеряться, если я дам вам список SSDT на выбор прямо сейчас.
(opens new window) имеет обширный раздел с SSDT, включая их компиляцию на разных платформах
Быстрый TL;DR необходимых SSDT (это исходный код, который вам нужно будет скомпилировать в .aml файл):
# Настольный ПК
Platforms | CPU | EC | AWAC | NVRAM | USB |
---|---|---|---|---|---|
Penryn | N/A | SSDT-EC |
(opens new window)
(opens new window) (Run in Post-Install)
(opens new window)
(opens new window)
(opens new window)
(opens new window)
# Высокопроизводительный настольный ПК
Platforms | CPU | EC | RTC | PCI |
---|---|---|---|---|
Nehalem and Westmere | N/A | SSDT-EC |
(opens new window)
(opens new window)
(opens new window)
# Ноутбук
Platforms | CPU | EC | Backlight | I2C Trackpad | AWAC | USB | IRQ |
---|---|---|---|---|---|---|---|
Clarksfield и Arrandale | N/A | SSDT-EC |
(opens new window)
(opens new window)
(opens new window) (Run in Post-Install)
(opens new window)
(opens new window)
(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 (на английском)
Источник