Mac os что такое kext

Установка и удаление
кекстов в macOS

§ Введение

Слово «Кекст» — транскрипция английского сокращения Kext от Kernel extension, т.е. расширение ядра. В виде кекстов реализованы все драйверы для macOS. Большинство самих же кекстов реализовано в виде специальных установочных пакетов, при запуске которых потребуется лишь ввести пароль, а всё остальное сделают за вас скрипты. Почти так же, как и с привычной установкой драйверов на ОС Windows.

Но не всегда всё так легко. Порой достается просто файл с расширением .kext. А в случае с хакинтошем, следует и вовсе готовиться к тому, что, возможно, придётся перепробовать несколько разных кекстов, прежде чем определенная аппаратная часть ПК заработает правильно.

Установка кекстов в macOS состоит из трёх этапов:

  1. Копировании в папку System/Library/Extensions.
  2. Настройке прав доступа.
  3. Удалении и пересоздании кэша кекстов для загрузки системы.

§ Установка кекстов

Kext Utility

Есть два способа установки кекстов — ручной и автоматический. Я рекомендую автоматический, поскольку он гораздо проще. В этом мне помогает отличная программа Kext Utility. Она делает за меня все три описанных выше этапа установки кекстов.

Есть несколько способов работы с Kext Utility:

  • перетаскивание одного или нескольких кекстов в окно программы;
  • запуск вхолостую, запускающий проверку прав доступа к уже установленным кекстам и пересозданию их кэша.
  1. Скачайте Kext Utility с cvad-mac.narod.ru и установите, переместив приложение в папку «Программы».

    Установка в папку Clover

    Не всегда требуется устанавливать кексты в системную папку macOS: на хакинтоше есть еще одно место с кекстами — в папке Clover. Обычно там располагаются кексты, необходимые для работы хакинтоша. Выбор места для установки следует делать исходя из документации к кексту. Большое количество кекстов, загружаемых через Clover, может замедлить загрузку системы.

      Откройте папку кекстов в Clover: EFI > CLOVER > Kexts > Other.

    В папке Clover/Kexts/Other располагаются кексты для всех версий macOS. Рекомендуется копировать кексты именно в эту папку.

    § Удаление кекстов

    Удаление из системной папки

    1. Выберите в строке меню пункт «Переход к папке» и введите путь к системной папке: /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 раздел ниже
  2. OpenRuntime.efi

    (opens new window) , используется как расширение для OpenCore, чтобы помогать в патчинге boot.efi для исправления NVRAM и лучшего управления памятью.

  3. Напоминаем, что это включено в OpenCorePkg, который мы скачали ранее
  4. # Пользователям Legacy

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

    (opens new window)

      Используется для меню выбора (picker) OpenCore на legacy системах, работающих под управлением DuetPkgне рекомендуется и даже вреден на UEFI (Ivy Bridge и новее)

    (opens new window)

    • Legacy вариант HfsPlus, используемый для систем без поддержки RDRAND инструкций. Обычно встречается на Sandy Bridge и старее(а также младшие (low end) Ivy Bridge (i3 и Celeron))
    • Не смешивайте это с HfsPlus.efi, выберите одно или другое, в зависимости от вашего оборудования
  5. OpenPartitionDxe

    (opens new window)

    • Требуется для загрузки раздела восстановления (recovery) в OS X 10.7-10.9
      • Этот файл идёт в комплекте с OpenCorePkg в EFI/OC/Drivers
      • Примечание: Пользователи OpenDuet(т. е. без UEFI) будут иметь этот встроенный драйвер, он им не потребуется
    • Не требуется для OS X 10.10, Yosemite и новее
  6. Эти файлы должны быть помещены в папку Drivers в вашем EFI

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

    (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) . Кексты здесь компилируются каждый раз при новом коммите.

    # Маст-хэв

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

    (opens new window) ( Требуется )

    • Эмулирует чип SMC, найденный на реальных маках, без этого macOS не загрузится
    • Альтернативой является FakeSMC, который может иметь более лучшую или более худшую поддержку, чаще всего используется на legacy оборудовании.
    • Требуется OS X 10.6 или новее
  7. Lilu

    (opens new window) ( Требуется )

    • Кекст, чтобы патчить многие процессы; требуется для AppleALC, WhateverGreen, VirtualSMC и многих других кекстов. Без Lilu, они не будут работать
    • Обратите внимание: Lilu и плагины к нему требуют OS X 10.8 и новее
  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 могут извлечь выгоду из этого кекста

    # Графика

    (opens new window) ( Требуется )

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

    (opens new window) для получения подробной информации

  9. Требуется OS X 10.8 или новее
  10. (opens new window)

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

    Legacy Кексты на Звук

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

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

    # Ethernet

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

    (opens new window)

    • Для большинства сетевых карт Intel, чипсеты I211, будут нуждаться в кексте SmallTreeIntel82576
    • Официально поддерживаются сетевые карты Intel 82578, 82579, I217, I218 и I219
    • Требуется OS X 10.9 или новее, пользователи 10.8-10.8 могут использовать вместо этого IntelSnowMausi для более старых ОС
  11. 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)
  12. 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-контроллером. Если вы наблюдаете эту проблему, попробуйте более старые версии.
  13. LucyRTL8125Ethernet

    (opens new window)

    • Для 2.5-гигабитного Ethernet от Realtek
    • Требуется macOS 10.15 или новее
  14. Для сетевых карт Intel I225-V, патчи упомянуты в разделе настольного Comet Lake DeviceProperties. Кекст не требуется.
    • Требуется macOS 10.15 или новее
  15. Для сетевых карт Intel I350, патчи упомянуты в разделе HEDT Sandy и Ivy Bridge-E DeviceProperties. Кекст не требуется.
    • Требуется OS X 10.10 или новее
  16. Legacy Ethernet кексты

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

    (opens new window)

    • В основном актуально для 10/100Мбит Ethernet контроллеров Intel
    • Требуется 10.6 или новее
  17. RealtekRTL8100

    (opens new window)

    • В основном актуально для 10/100Мбит Ethernet контроллеров Realtek
    • Требуется macOS 10.12 или с v2.0.0+
  18. BCM5722D

    (opens new window)

    • В основном актуально для контроллеров Broadcom Ethernet на базе BCM5722
    • Требуется OS X 10.6 или новее
  19. А также, имейте ввиду, что некоторые сетевые контролеры нативно поддерживаются в macOS:

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

    # Серии Aquantia

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

    # Серии Intel

    # Серии Broadcom

    • Используется для инжектирования 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+ платы не нуждаются в этом)

    # WiFi и Bluetooth

    # Intel

    (opens new window)

    • Добавляет поддержку большого разнообразия беспроводных карт Intel, и работает нативно в рекавери, спасибо интеграции IO80211Family
    • Требуется macOS 10.13 или новее и требуется Apple Secure Boot для правильной работы
  20. IntelBluetoothFirmware

    (opens new window)

    • Добавляет поддержку Bluetooth в macOS при сопряжении с беспроводной картой Intel
    • Требуется macOS 10.13 или новее
  21. Более подробная информация о включении AirportItlwm

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

      Включить Misc -> Security -> SecureBootModel , установив значение Default или другое допустимое значение

        Это обсуждается позже в этом руководстве и в руководстве После установки: Apple Secure Boot

      (opens new window)

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

    (opens new window)

    • Используется для патчинга карт Broadcom не от Apple/Fenvi, не будет работать с Intel, Killer, Realtek, etc
    • Требуется OS X 10.10 или новее
    • Для Big Sur см. Известные проблемы Big Sur, чтобы узнать о дополнительных действиях, касающихся драйверов AirPortBrcm4360.
  24. 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
  25. Порядок загрузки BrcmPatchRAM

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

    1. BrcmBluetoothInjector
    2. BrcmFirmwareData
    3. BrcmPatchRAM3

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

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

    (opens new window)

    • Исправление USB для AMD FX систем, не рекомендуется с Ryzen
    • Требуется macOS 10.13 или новее
  26. VoodooHDA

    (opens new window)

    • Звук для систем на FX и поддержка передней панели Mic+Audio для систем на Ryzen, не смешивайте с AppleALC. Качество звука заметно хуже чем с AppleALC на процессорах Zen
    • Требуется OS X 10.6 или новее
  27. # Дополнительно

    (opens new window)

    • Полезно, начиная с Catalina, чтобы отключать кекст AppleMCEReporter, который вызывает панику ядра на процессорах AMD и двухпроцессорных системах.
    • Затронутые SMBIOS:
      • MacPro6,1
      • MacPro7,1
      • iMacPro1,1
    • Требуется macOS 10.15 или новее
  28. CpuTscSync

    (opens new window)

    • Необходим для синхронизирования TSC на некоторых HEDT Intel и серверных материнских платах, без этого macOS может быть очень медленной или даже не загружаться.
    • Не работает на процессорах AMD
    • Требуется OS X 10.8 или новее
  29. NVMeFix

    (opens new window)

    • Используется для исправления управления питанием и инициализации NVMe не от Apple
    • Требуется macOS 10.14 или новее
  30. SATA-Unsupported

    (opens new window)

    • Добавляет поддержку большого разнообразия SATA контроллеров, в основном актуально для ноутбуков, которые имеют проблемы с отображением SATA диска в macOS. Мы рекомендуем протестировать сначала без него.
    • Заметка о macOS Big Sur: нужно будет использовать вместо него CtlnaAHCIPort

    (opens new window) из-за того, что множество контроллеров будут удалены из бинарного файла

    • Не нужно беспокоиться на Catalina и старее
  31. 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

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

    (opens new window)

    • Для систем с PS2 клавиатурами, мышками, и трекпадами
    • Требуется macOS 10.11 или новее для функций MT2 (Magic Trackpad 2)
  32. RehabMan’s VoodooPS2

    (opens new window)

    • Для старых систем с PS2 клавиатурами, мышками, и трекпадами, или когда вы не хотите использовать VoodooInput
    • Поддерживается macOS 10.6+
  33. VoodooRMI

    (opens new window)

    • Для систем с Synaptics SMBUS устройствами, в основном для трекпадов и trackpoints.
    • Требуется macOS 10.11 или новее для функций MT2
  34. VoodooSMBus

    (opens new window)

    • Для систем с ELAN SMBUS устройствами, в основном для трекпадов и trackpoints.
    • Поддерживается в настоящее время macOS 10.14 или новее
  35. VoodooI2C

    (opens new window)

    • Используется для исправления I2C устройств, найдено с некоторыми модными тачпадами и в устройствах с сенсорным экраном
    • Требуется macOS 10.11 или новее для функций MT2
  36. Плагины 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)

    • Исправляет чтение состояния батареи на многих устройствах (позволяет читать поля EC длиной более 8 бит)
  37. BrightnessKeys

    (opens new window)

    • Автоматически исправляет горячие клавиши яркости
  38. Пожалуйста, обратитесь к 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) 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) 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

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

    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) Broadwell-E Skylake-X N/A

    # Ноутбук

    Platforms CPU EC Backlight I2C Trackpad AWAC USB IRQ
    Clarksfield и Arrandale N/A SSDT-EC

    (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) Broadwell Skylake SSDT-EC-USBX

    (opens new window) N/A Kaby Lake Coffee Lake (8th Gen) и Whiskey Lake SSDT-PNLF-CFL

    (opens new window) Coffee Lake (9th Gen) Comet Lake Ice Lake SSDT-RHUB

    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 (на английском)

    Источник

    Читайте также:  Ubuntu или windows для майнинга
Оцените статью