What is kext mac os x

What is kext mac os x


Last Updated on February 23, 2016

Kext files are essentially drivers for Mac OS X. «Kext» stands for Kernel Extension; kext files «extend» Mac OS X’s kernel, the core part of the operating system, by providing additional code to be loaded when your computer boots. «Hackintoshes» often require special kexts to enable sound, ethernet, and more. Some Hackintosh-specific kexts are modified versions of existing Mac OS X kexts, such as AppleHDA.kext. Other kexts are extra additions to the normal list of kexts that OS X runs on startup. In the end, all of these Hackintosh kexts serve the same purpose: to add support to hardware that isn’t officially supported by Apple.

Technically, kexts aren’t individual files. In fact, .kext «files» are essentially packaged like .zip files. If you copy a .kext file onto a Windows installation, it becomes a folder. That’s because that’s what kexts are— folders. Much like Apple’s .app files, you can access the inside of a kext by right-clicking the kext file and clicking «Show Package Contents». Once you’ve entered the contents of the kext file, you will be able to edit the plist (settings) files and make other modifications, if necessary. Editing the contents of kext files is occasionally necessary to activate certain graphics card kexts or fix glitchy kexts. However, we won’t go into that process here.

Location of Kexts

  • Most kext files within Mac OS X are located in /System/Library/Extensions by default.
  • The popular post-installation tool Multibeast (which is essentially just a collection of kexts packaged with an installer) places its kexts in /Library/Extensions.
  • Clover Bootloader, which is now the most popular bootloader for Hackintoshes, also keeps a couple of kexts within its EFI partition, in /EFI/CLOVER/kexts. However, these kexts aren’t meant to be fiddled with— they’re just the bare minimum number of kexts required to boot Mac OS X, in case you need to use Clover as a rescue tool of sorts.
  • Before the release of Mac OS X Lion, Hackintosh-specific kexts used to be installed to /Extra/Extensions, but that folder is now outdated (unless you are using the myHack installation tool).

SEE ALSO: How to manually install kexts with Kextbeast

Источник

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

§ Введение

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

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

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

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

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

Kext Utility

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

Читайте также:  Калибровка размера экрана windows 10

Есть несколько способов работы с 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, просто удалите его оттуда и перезагрузите компьютер.

    Источник

    Что такое кексты и что с ними делать?

    В нашем цикле статей об установке Mac OS X на PC-компьютеры мы уже касались темы драйверов Mac OS X, а сегодня поговорим об этом подробнее, т.к. иметь дело с кекстами приходится не только владельцам хакинтошей, но и обладателям настоящих Маков (правда, приходится чуть реже).

    Забавное слово «кекст» — транскрипция английского сокращения kext от «kernel extension», т.е. расширение ядра. В виде кекстов реализованы практически все драйверы для Mac OS X. При загрузке системы ядро Mac OS подхватывает все кексты из специального кэша, а этот кэш, в свою очередь, периодически создаётся на базе системной папки для расширений ядра. Непонимание механизма работы Mac OS X с кекстами чревато большими проблемами с загрузкой компьютера.

    Традиционно ответим на скептический вопрос «зачем это нужно?». Если у вас не хакинтош и если вы не планируете подключать к Маку никакого дополнительного оборудования от посторонних производителей (экзотические сканеры, мыши и клавиатуры, модемы и т.п.) — то действительно незачем.

    Дело в том, что большинство драйверов для Мака реализованы в виде специальных установочных пакетов (с расширениями .pkg или .mpkg), при запуске которых от вас потребуется лишь ввести пароль, а всё остальное сделают скрипты.

    Автоматический установщик кекстов

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

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

    Каждый из этапов жизненно важен: без первого система не увидит кексты и не включит их в кэш, без второго вам грозят зависания или паника ядра и «серый экран смерти», а без третьего вы не увидите никаких изменений в системе — никакие дополнительные устройства просто не подцепятся при загрузке.

    Есть два способа установки кекстов — ручной и автоматический. Сегодня мы покажем вам автоматический, потому что он гораздо проще, а наша статья адресована и пользователям Маков, и владельцам хакинтошей. А вопросы ручной установки драйверов в систему мы рассмотрим в нашем «хакинтошном» цикле, т.к. это требует некоторых дополнительных знаний от пользователя.

    За автоматизацию установки кекстов следует сказать большое спасибо нашему соотечественнику по имени cVad, который создал для хакинтошного сообщества программку Kext Utility. Она умеет абсолютно всё, что связано с кекстами: установку, исправление прав доступа, запаковку кэша. От пользователя потребуется ввести пароль и подождать некоторое время до завершения всех служебных процедур.

    При всех этих талантах утилита от cVad имеет только одну кнопку в интерфейсе. Есть несколько способов работы с этой программой:

    1) Перетаскивание кекста на значок программы: в этом случае начнётся полный комплекс процедур по установке кекста в систему.

    2) Перетаскивание сразу нескольких кекстов на значок программы: утилита установит кексты по очереди.

    3) Запуск самой утилиты. В этом случае будет запущена проверка прав доступа к уже установленным кекстам и перестроение кэша.

    На этом возможности не заканчиваются, просто остальные функции программы полезны лишь владельцам хакинтошей. О них мы поговорим в соответствующем цикле статей.

    Пока идут служебные процедуры, в окне программы крутится индикатор-ромашка, а вам предлагается созерцать лог происходящих событий (конечно, если вы там что-то понимаете):

    Kext Utility за работой

    По завершении кнопка Cancel изменит своё название на Quit. После перезагрузки все новые устройства, для которых вы установили кексты, должны опознаться системой.

    P.S. Небольшое отступление для пользователей Snow Leopard. В новой операционке механизм работы с кекстами осложняется тем, что теперь есть две архитектуры для расширений ядра: 32-разрядная и 64-разрядная. 32-битные кексты ни в какую не захотят работать в 64-битном режиме системы. Помните об этом при загрузке и установке. Подробнее о 64-битности в Snow Leopard можете почитать вот здесь.

    Мы рекомендуем каждому владельцу Mac OS (а особенно — пользователям хакинтошей) иметь на своём компьютере эту полезнейшую утилиту. Она сэкономит вам немало времени и сил на возню с кекстами, правами доступа и прочей специфической для Маков рутиной.

    Источник

    Кексты. Описание и установка

    Все про Макинтош (Хакинтош)

    Рассказывая об установке OS X, нельзя не коснуться темы кекстов. В сообществе Apple, объединенном принципом Think Different, любят называть привычные вещи другими именами. И кексты тому не исключение. Что же это такое? Слово “кекст” происходит от английского kext или kernel extension, т.е. расширение ядра. В виде кекстов реализованы практически все драйверы для OS X. Они используются для работы различных устройств в OS X. Но это не единственное их назначение, также, например, есть кексты отвечающие за правильные выключение и перезагрузку системы, переход в режим сна, за экономию энергии системой (Power Management) и многие другие функции. При загрузке системы ядро mach_kernel подгружает все кексты из специального кэша, а этот кэш, в свою очередь, периодически создаётся на базе системной папки для расширений ядра — /System/Library/Extensions. Важно понимать, что без правильно подобранной конфигурации кекстов нормальная работа OS X не возможна. Вообще тема кекстов распространена в гораздо большей степени в хаксообществе, нежели среди маководов. Apple не приветствует вмешательство пользователей в работу системы на низком уровне. А копаться в «самой совершенной в мире компьютерной операционной системе» — это удел хакинтошников. Отчасти это справедливо, поскольку большинство драйверов в OS X либо уже встроены (ассортимент маков все же не очень богат и комплектация в общих чертах типовая), либо реализованы в виде специальных установочных пакетов (с расширениями .pkg или .mpkg), при запуске которых от вас потребуется лишь ввести пароль, а всё остальное сделают скрипты. Apple way во всем. Хотя и не всегда всё так гладко: иногда при подключении периферии от посторонних производителей вам может достаться просто файл с расширением .kext. Так что маководы тоже не застрахованы от работы с кекстами. Если же у вас хакинтош, приготовьтесь к тому, что вам придётся перепробовать десятки разных кекстов, прежде чем вы заставите свой компьютер работать именно так, как хочется вам.

    По своей структуре это обычный xml, поэтому открывать его можно как в обычном тестовой редакторе, так и в утилите типа PlistEditor. В файле есть определенные ключи (key) и строковые значения (string). В подавляющем большинстве случаев хакинтошников интересует раздел IOKitPersonalities, в котором заданы параметры работы устройства, а также id оборудования и производителя. Это очень важный момент, поскольку очень часто драйвер физически может работать с вашим устройством, но банально не подгружается, поскольку id вашего оборудования не совпадает с id устройств, записанных в Info.plist. Правка id помогает завести формально неподдерживаемые ревизии wifi-адаптеров, картридеров, звуковых карт и прочего оборудования. Во многом случаях есть готовые инструкции по правке Info.plist или работе со скриптами-патчами. И пусть это вас не смущает, поскольку сложного здесь ничего нет. После правки кекста нужно, как всегда, восстановить права доступа через Дисковую утилиту и перезагрузиться.

    Помимо довольно простой структуры драйверов у маков есть еще одно достоинство — это довольно простая установка кекстов. В общем виде установка кекста сводится к трем действиям:
    1. Копирование кекста в папку /System/Library/Extensions*
    2. Исправление прав доступа
    3. Удаление и переформирование кэша ядра для загрузки системы

    *Сразу оговорюсь, что в случае с загрузчиком типа Chameleon некоторые кексты можно класть в /Extra/Extensions

    Последний пункт можно обойти в случае загрузки с ключем UseKernelCache=No. Что нам это дает? Правильно, это дает возможность оперативно менять кексты даже если система не грузится и даже если у вас другого мака под рукой нет. Так то, даже драйвера в макось при необходимости можно устанавливать папочным способом, хоть и не рекомендуется. Второй пункт частично решается ключем -f (тот же ApplePS2Controller может работать и без лечения прав). По крайней мере при наличии совместимых кекстов ключи -f и -s позволят вам загрузиться в консоль и поправить права доступа. Лечение прав на примере FakeSMC уже рассматривалось в предыдущей статье OS X 10.8. Заметки по установке .
    В случае ручной установки кекстов на “живой” системе все действия можно проделать в Терминале:
    sudo -s (получаем права суперпользователя)
    Password: (вводим пароль)
    cp -r -v путь/к/кексту.kext /System/Library/Extensions/ (копируем кекст в /S/L/E)
    rm -r -v /System/Library/Caches/com.apple.kernelcaches/kernelcache
    rm -r -v /System/Library/Extensions/Caches/*
    rm -r -v /System/Library/Extensions.mkext (чистим кэш)
    chown -R root:wheel /System/Library/Extensions/* (устанавливаем владельцем пользователя root и группу wheel)
    chmod -R 755 /System/Library/Extensions/* (лечим права)

    Для еще большего упрощения жизни пользователей OS X придуманы также автоматические средства установки. Самым известным из них является простенькая программка Kext Utility . Она умеет практически всё, что связано с кекстами: установку, исправление прав доступа, перепаковку кэша. От пользователя потребуется ввести пароль и подождать некоторое время до завершения всех служебных процедур.

    При всех этих талантах утилита от имеет только одну кнопку в интерфейсе (воистину Apple way!). Есть несколько способов работы с этой программой:

    1) Перетаскивание кекста на значок программы: в этом случае начнётся полный комплекс процедур по установке кекста в систему.

    2) Перетаскивание сразу нескольких кекстов на значок программы: утилита установит кексты по очереди.

    3) Запуск самой утилиты. В этом случае будет запущена проверка прав доступа к уже установленным кекстам и перестроение кэша.

    Пока идут служебные процедуры, в окне программы крутится индикатор-ромашка, а вам предлагается созерцать лог происходящих событий. По завершении работы Kext Utility кнопка Cancel изменит своё название на Quit. После перезагрузки все новые устройства, для которых вы установили кексты, должны опознаться системой.

    Помимо команд для собственно установки в OS X есть ряд полезных команды для работы с уже установленными кекстами. Приведу краткий перечень (команды выполняются в консоли или Терминале с правами суперпользователя).
    Для просмотра загруженных кекстов — kextstat
    Для загрузки нужного кекста — kextload /System/Library/Extensions/Имя_файла.kext
    Для выгрузки кекста : sudo kextunload /System/Library/Extensions/Имя_файла.kext

    Привожу описание лишь некоторых кекстов, поскольку их много.

    Источник

    Читайте также:  Gigabyte bios прошивка под windows
Оцените статью