Компьютерные подсказки для начинающих

Kext для сетевой карты. EFIStudio, Kext Helper b7, OSx86Tools.Основные программы для Хакинтоша и Мака

Вместо эпиграфа:
Говорим драйвер - подразумеваем кекст

Честно говоря, сегодня будет не совсем полноценный, так сказать, шаг. Но от этого он будет не менее полезным. И задумывался он как ответ на некоторые вопросы, появляющиеся в комментариях. Я постараюсь дать несколько полезных советов и развеять некоторые страхи. Или не развеять. В общем посмотрим, что получится 🙂

Предыдущие 3 части можно найти или по тэгу .

Развеивание страхов

Руководствуясь своим каким-никаким опытом, я могу предположить, что наибольшее нервное напряжение возникает в случае какого-либо некорректного действия пользователя, в результате которого вроде как нормально работающая система перестает загружаться. Что же делать в этом случае?

  1. Прежде всего, нужно вспомнить - что же такого было поставлено, что система перестала грузиться?
  2. Попробовать загрузиться в safe mode. Для этого перед загрузкой вместо всяких ключей (-v или -s) вводим help и внимательно читаем. По-моему, могут помочь ключи -F (игнорирование файла конфигурации) и наш главный козырь -x (загрузка в безопасном режиме с использованием стандартных драйверов).
  3. Если загрузиться в safe mode получилось - то руками удалить то, что устанавливалось. Обычно все кексты лежат в /System/Library/Extensions/ .
  4. Почитать форум InsanelyMac и найти там детальную инструкцию установки драйверов для своей видео-карты, сетевого адаптера или любого другого оборудования. Поверьте, в 95% случаев вы точно узнаете - где все взять и как его установить. Либо вы узнаете, что для этого оборудования драйвера нет.

А вот теперь самое главное:

Если система сломалось, а до этого работала - не бойтесь отформатировать раздел и заново установить более-менее «рабочую» конфигурацию Leopard’a . Обычно все проблемы возникают, и их можно решить, в самом начале, до момента постоянного пользования Хакинтошем.

Это нормальная практика, ничего тут такого удивительного нет. Большинство людей, с которыми я общался, в самом начале переустанавливали систему не менее 15-30 раз. Поэтому запаситесь терпением.

Удаление видео-драйверов

Этот пункт я вынес отдельно потому что у меня для вас есть небольшой сюрприз. В описании уже устаревшего (10.5.2) есть отдельный абзац посвященный этой проблеме:

If you have problems on reboot with video (blue or black screen):
All you have to do is just press F8 at Darwin’s prompt and then type -s (single user mode) then at root type mount -uw / and /movevideodrivers then it will be prompt to move video drivers by class (nvidia ; ati ; or intel gma) voila! type yes to confirm or enter to skip !

Что в переводе значит следующее:

Если у вас появились проблемы с видео (голубой или черный экран): все что вам надо -это загрузиться с ключем -s (в single user mode), потом от рута запустить 2 команды: mount -uw / и /movevideodrivers . После этого у вас спросят какой видео-драйвер у вас стоит (nvidia, ati или intel gma). Отвечаем yes для подтверждения и нажимаем enter для пропуска. Вуаля! Система грузится.

Все бы ничего, но этот скрипт был доступен только для Kalyway и больше ни для какой другой сборки. Я очень долго его искал и наконец-то подготовил вам сюрприз. Перед тем, как ставить драйвера для видео скачайте и положите в / (рутовый раздел) вот - да-да, это тот самый movevideodrivers . После этого нужно будет зайти в терминал и выставить ему права на запуск. Если я правильно помню, хватит такой команды:

sudo chmod +x /movevideodrivers

Все, после этого можно будет экспериментировать с видео. И сейчас я расскажу как.

Pacifist - наше всё

Утилита предназначена для работы с пакетами.pkg, образами.iso и.dmg, кучей архивов вроде.zip, .tar, .tar.gz и пр. Кроме этого, он еще умеет открывать установочные диски (а в нашем случае - любой диск с любой сборкой). В добавок, он может извлекать лишь некоторые пакеты из архивов. Именно эта функция нам и нужна.

Программа платная (shareware) и стоит 20$, но в бесплатном режиме придется всего лишь подождать определенное время перед возможностью работать (секунд 20). А функционал вроде не урезанный.

Так вот, после того, как мы запустим утилиту и выберем «Open Apple install disk» Pacifist просканирует его и покажет весь список пакетов в виде дерева каталогов. Структура дерева будет примерно соответствовать аналогичному меню при выборе . По этой структуре (или поиском в приложении) можно найти интересующий нас драйвер, и нажав на кнопку Install установить его в систему. При этом придется ввести свой пароль.

После этого перезагружаемся - если опять черный/голубой экран - используем /movevideodrivers и заново пытаемся установить подходящий драйвер.

Установка kext’ов

Для начала отмечу, что kext’ы (kernel extension) - это расширение ядра системы. В Windows аналогичным понятием являются драйверы. Бывает, что на том же InsanelyMac в качестве дополнению к посту является рабочий кекст для запуска wifi, видео или сетевого адаптера. Установить его можно вручную (но это сопряжено с некоторой головной болью), а можно воспользоваться утилитой Kext Helper B7 (обычно она идет в комплекте с любой сборкой).

После этого нужно будет перезагрузиться и проверить - корректно ли установился драйвер. А вот удалять кексты нужно руками из папки /System/Library/Extensions/ .

Некоторые решения поставляются уже в виде.pkg - обычного инсталлятора. Поэтому установить драйвер будет еще проще.

Удачной установки 😉


Рассказывая об установке 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. Так что маководы тоже не застрахованы от работы с кекстами. Если же у вас хакинтош, приготовьтесь к тому, что вам придётся перепробовать десятки разных кекстов, прежде чем вы заставите свой компьютер работать именно так, как хочется вам.

Как все устроено



Полагаю, мало кто из винюзеров задумывался над тем, как устроен драйвер, куда он устанавливается и как взаимодействует с системой. Написание и редактирование драйверов на взгляд обычного пользователя кажется чем-то за гранью фантастики. Еще бы, большинство драйверов упаковано в exe, снабжено красивыми установщиками, причем настолько красивыми, что пользователю и делать только остается, как со всех согласиться и перезагрузиться. Лишь в крайнем случае пользователь вместо красивой обертки получает кучу dll-ек, которую нужно ставить через Диспетчер устройств. В случае с хакинтошем главная проблема - это тотальная нехватка драйверов. При чем зачастую ввиду отсутствия официальной поддержки готового решения днем с огнем не сыщешь. Хотя не все безнадежно, иногда для того, чтобы завести упрямый сетевой адаптер или звуковую карту, достаточно немного подредактировать кекст. Как это делается? Для начала взглянем изнутри на такой типовой кекст, как . Он отвечает за работу клавиатуры, мыши и тачпада. Важный кекст. Что он из себя представляет?


Для начала это не файл. Но и не совсем папка. Это бандл (bundle). Это, надо сказать, типично Apple-вское явление, при котором папка с определенным расширением и структурой начинает вести себя как файл. При двойном щелчке по кексту в маке, мы получим сообщение с меню с выбором программы для запуска, в других системах мы увидим лишь папку с “расширением” .kext. Чтобы посмотреть потроха кекста в маке, нужно щелкнуть правой кнопкой по нему и выбрать пункт “Показать содержимое пакета”. Внутри мы увидим папку Contents, далее MacOS, Plugins, Resourses, Info.plist.


В папке MacOS находится исполняемый бинарник без расширения. Это и есть сам драйвер. Его тоже можно патчить (часто это делается скриптами), но для этого нужно быть специалистом несколько иного уровня. Оставим его. В папке Resourses мы увидим языковые модули с расширением.lproj (ничего не напоминает, пользователь iPhone?). Еще есть файл Info.plist. Собственно, он нам и нужен, поскольку именно его правка и снимает множество проблем. Так же есть Plugins. Эта папка есть не во всех кекстах, только в “сложных”. А поскольку этот кекст охватывает три совершенно разных устройства, под каждое из них есть свой кекст с аналогичной структурой. Иногда еще в папке с кекстом можно найти файлик versions.plist. Там записываются данные о версии драйвера. В частности он есть в AppleIntelCPUPowerManagemant.kext, отвечающий за управление питанием. Но нас интересует в первую очередь Info.plist.


По своей структуре это обычный 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 уже рассматривалось в предыдущей статье .
В случае ручной установки кекстов на “живой” системе все действия можно проделать в Терминале:
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/* (лечим права)

diskutil repairpermissions /

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

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

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

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

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

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

Манипуляции с кекстами в консоли



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

Описание кекстов



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

1. Управление питанием

Fakesmc.kext- это эмулятор System Management Controller (SMC) для OS X с открытым кодом. Без этого кекста OS X не запустится на PC. В дополнение к нему модули-индикаторы ACPISensors.kext и IntelCPUMonitor.kext.

AppleIntelCPUPowerManagement - это стандартный кекст для процессоров Intel, отвечающий за управление питанием. В случае полной совместимости будет работать из коробки, в случае неполной - потребуется или патч, или полное отключение. Использование оригинального AppleIntelCPUPowerManagement.kext возможно, если ваш процессор поддерживает инструкции SSE4 и использовании отредактированного DSDT (должна быть исправлена HPET-секция)

NullCPUPowerManagement.kext - отключает оригинальный AppleIntelCPUPowerManagement.kext.

OpenHaltRestart.kext - с этим кекстом выключение/перезагрузка компьютера проходит правильно (выключаются кулеры, жесткие диски и т.д.).

EvOreboot.kext - Аналог OpenHaltRestart.kext

Sleepenabler.kext - восстанавливает работу сна, если вы используете NullCPUPowerManagement.kext (AppleIntelCPUPowerManagement.kext отключен).

EvOSpeedStep.kext - позволяет системе использовать технологию SpeedStep для вашего процессора. С помощью нее при простое частота вашего процессора понижается, снижается его энерпотребление, тепловыделение. Сама частота увеличивается пропорционально нагрузке на процессор. Но этот кекст работает не всегда, также при включенном SpeedStep производительность снижается.

VoodooBattery.kext и AppleSmartBatteryManager.kext - кексты для отображения заряда батареи на ноутбуках. До Mac OS X 10.6 работали полностью самостоятельно, начиная с Mac OS X 10.7, требуется правка DSDT.

2. Видео

AppleIntelHDGraphics.kext и AppleIntelHDGraphicsFB.kext - оригинальные кексты для видеокарт Intel HD3000 и выше. Если у вас именна эта серия видеокарт, то замена скорее всего не потребуется

GeForce.kext, NVDAGF100Hal.kext, NVDAResman.kext - оригинальные кексты для видеокарт NVidia различных серий.

nvinject.kext, nvenabler.kext, nvkush.kext, natit.kext и другие - инжекторы видеокарт NVidia, то есть ваша видеокарта работает корректно (можно выставлять разрешение, частоту обновления, поворот изображения)

FramebufferDisabler.kext - модифицированный Generic disabler.kext для отключения "framebuffer" кекстов: NVDAResman.kext, ATIFramebuffer.kext, AppleIntelIntegratedFramebuffer.kext, которые вызывают панику ядра при загрузке с установочного диска или в уже установленную систему, в которой не работает графическое ускорение.

EVOenabler.kext - инжектор любой видеокарты, то есть ваша видеокарта работает корректно (можно выставлять разрешение, частоту обновления, поворот изображения). Чтобы настроить этот кекст под свою видеокарту, вам необходимо изменить имеющиеся значения в Info.plist на свои. По умолчанию прописана ATI 4890.

3. Звук

AppleHDA.kext - оригинальный кекст на звук. Совместим с большим количеством карт Realtek серии ALC. Кексты на звук следует по кодеку, скажем, ALC269 и т.п. Часто требует патча под конкретную звуковую карту.

VoodooHDA.kext - кекст, позволяющий работать большинству звуковых кодеков. Не совместим с AppleHDA.kext (вызывает панику ядра, если AppleHDA не выключить через HDADisabler или удалить). По качеству исполнения хуже оригинального AppleHDA и менее стабильный.

4. Сетевые карты и wifi

AttansicL1eEthernet.kext - необходим для работы сетевых карт на чипе Attansic L1e.

SKGE.kext - с помощью него работают некоторые сетевые карты на чипе Marvell, в частности Marvell Yukon 88E8001.

RealtekRTL81xx.kext - кекст под сетевые карты Realtek серий 81xx/82xx

IO80211Family.kext - стандартный кекст для wifi-адаптеров. Совместим с карточками с чипсетами Atheros и Broadcom. Для отдельных серий карточек может потребовать правка id в Info.plist.

5. SATA/IDE

IOATAFamily.kext - добавляют поддержку PATA (IDE) устройств большинству компьютеров. Также позволит вам использовать SATA устройства без включенного AHCI-режима на большинстве материнских плат с чипсетами ICH6/7/8/9/10.

JMicronATA.kext - необходим для правильной работы контролера JMicron ATA (IDE) в системах с 4 гигабайтами оперативной памяти и больше.

AHCIPortInjector.kext - добавляет поддержку AHCI-контролеров, которые не поддерживаются стандартным кекстом (для ICH9 и предыдущих поколений ICH чипсетов).

LegacyAppleAHCIPort.kext - отображает название вашего SATA контролера вместо Unknown AHCI controller в System Profiler.

LegacyJMicronATA.kext - добавляют поддержку IDE на контролере JMicron большинству компьютеров.

ApplePS2Controller.kext и AppleACPIPS2Nub.kext - стандартные кексты для PS/2 клавиатур, мышек и тачпадов. Зачастую для работы требуется патч.
PS2Controller

VoodooPS2Controller.kext - кексты для безнадежных PS/2 клавиатур, мышек и тачпадов. Начиная с Mac OS X 10.7 прекратил развиваться.

Post scriptum


Все скриншоты из статьи сделаны на реальной рабочей системе. Кексты и описания взяты с ресурса .
Alex_G_Sam Alex_G_Sam

После установки MacOS 10.7 Lion необходимо установить драйверы оборудования и программы. Начнем с драйверов (kexts). Как только система установилась, перед пользователем открывается следующий вид:

Чистый рабочий стол, Dock-панель, расположенная в нижней части экрана, а также Панель Задач в непривычной нам, верхней, части экрана. Первое, куда следует кликать – Системные настройки:

В открывшемся окне желательно просмотреть и настроить под себя все возможное.

Допустим, что у нас не определилась сетевая карта. Установка драйвера идет несколько иначе, чем в Windows.

Совет: драйвера к оборудованию лучше всего искать на сайте kexts.com. На сайте все драйвера лежат в группах и Вам не составит труда найти нужный вам. Скачанные драйвера, как правило, имеют расширение *.pkg. В таком случае вам необходимо только установить его, дважды кликнув мышью. Их можно достать из окна браузера и из Dock. Если драйвер имеет подобный вид: «VIA.kext», необходимо скопировать его в папку Система/Библиотеки/Extensions. Если вы не сможете скопировать файл сюда напрямую, то советую воспользоваться программой Kext Installer. После копирования kext в папку обязательно необходимо восстановить права. Для этого заходим в Launchpad – утилиты – дисковая утилита. Кликаем на системный диск – проверить права доступа. Если найдутся ошибки – Восстановить права доступа.

Думаю, что у многих есть принтер, на который тоже необходимо найти драйвер. Именно этим мы сейчас и займемся.

У меня имеется устройство Canon i-sensys mf4018. Для него у производителя имеются драйвера. Посмотрите, вполне возможно, что для вашего устройства таковые драйвера также имеются в наличии. Если вам повезло – то скачивайте их с сайта производителя оборудования. После окончания загрузки файл можно получить либо в Dock – загрузки, либо в браузере, нажав кнопку:

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

Примечание: система спросит у вас разрешения открыть исполняемый файл и попросит ввести пароль администратора для установки:

Внимание: после установки оборудования система потребует перезагрузки!

Таким образом происходит установка всех программ для Mac .

Hakintosh: Мультимедиа

Пришла пора рассказать об играх на Хакинтош. Смотрите сами – мы уже установили программы, настроили оборудование, теперь осталось только проверить мультимедиа-часть. Показывать возможности и мощность компьютера под управлением Mac я не стану. Скажу лишь то, что, установив Хакинтош на свой компьютер, мы получили тот же самый Maс. Я проверял на работоспособность такие игры как AngryBirds, Most Wanted, Counter Strike и Asphalt6. Компьютер показал неплохие результаты. Быстродействие игр не только не уступает скорости работы в Windows, но и превосходит ее, пусть и незначительно.

Просмотр фильмов, проигрывание музыки, редактирование изображений – все это также остается доступным под MacOS 10.7 Lion на PC. Единственное замечание – для просмотра видео лучше всего установить VLC – проигрыватель, а музыку стандартный iTunes проигрывает на 5. Для редактирования изображений я использую Adobe Photoshop CS5 – хочу отметить, что работает он также хорошо, как и в Windows-среде (что неудивительно, учитывая его корни).

Вывод: проделывая данный труд мы смогли получить дешевый Macintoch. Подытожим – если вы не хотите выкладывать несколько тысяч долларов на дорогостоящий Mac – Hakintosh – вот что вам нужно! При желании можно добиться того, что вы не сможете отличить свой Хакинтош и Mac.

Kext, или расширения ядра (от английского Kernel Extensions) – это компонент системы, из множества которых и формируется структура ОС.
Все кексты стоит устанавливать из папки Release, если нет необходимости в отладке.
Последние версии подходят под все версии ОС, начиная от 10.6.3, если иное не указано в описании самого кекста.
Указанные здесь расширения так или иначе написаны или переписаны для работы из EFI, поэтому устанавливать их в систему не целесообразно, а порой даже вредно.

Общие кексты.

VirtualSMC (vit9696) - github.com

Новейший эмулятор SMC с поддержкой SMC второго поколения. . Из мониторинга присутствуют сенсоры на ЦПУ, батарея ноутбуков, автояркость на ноутбуках при наличии аппаратной поддержки, вентиляторы десктопов, Для мониторинга частот ЦПУ – требуется установленный Intel® Power Gadget.

Программы для мониторинга: iStat Menus или HWMonitorSMC2
Проект разрабатывается но пользоваться уже можно.

FakeSMC и сенсоры (Slice2009 / Vector sigma) -

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


FakeSMC
и сенсоры (Kozlek / RehabMan v6.26) - bitbucket.org

Чуть более старая но не менее актуальная версия монитора.

Содержит чуть более большую но в то же время и чуть более старую базу чипов.


FakePCIID
и плагины (RehabMan) - bitbucket.org

Начиная с Haswell , любое приложение или сервис может проверить PCI-ID, не смотря на то, что было сообщено на этапе инициализации.
FakePCIID перехватывает эти запросы, и возвращает значение, которое мы указали через FakeID в клевере, или другим образом.
Плагины для FakePCIID имеют очень разносторонний функционал, вся работа описана .


ACPIBatteryManager
(RehabMan) - bitbucket.org

Драйвер для отображения состояния батареи на ноутбуках.
Часто требуются дополнительные патчи DSDT, о работе с которыми рассказано .


ACPIDebug
(RehabMan) - bitbucket.org

Тем, кто знает, что это за кекст, объяснять его работу не нужно.
А тем, кто не знает - он и не нужен.
Инструкция - bitbucket.org .


BrcmPatchRAM
(the-darkvoid, RehabMan) - bitbucket.org

Подгружает прошивку Bluetooth’а для чипов Broadcom.
Инструкция - bitbucket.org .

Lilu и плагины.


Lilu
(vit9696) - github.com

Патчер кекстов и процессов. Ни на что не влияет сам по себе, действует только с соответствующими плагинами, которые указаны ниже.
Некоторые плагины здесь не указаны, т.к. они выходят часто, и некоторые очень узконаправлены.
Все известные плагины - github.com .
Информация - github.com .


AppleALC
(vit9696) - github.com

Кекст для динамического патчинга AppleHDA. Достаточно правильного Layout’а, и звук работает.
Таблица поддерживаемых кодеков и лейаутов - github.com .
Инструкции - github.com

WhateverGreen v1.2.5 = (Shiki + IntelGraphicsFixup + NvidiaGraphicsFixup )

WhateverGreen (vit9696) - github.com

Производит необходимые для AMD GPU патчи.
Заводит сон, создаёт фреймбуфер «на ходу», загружает 8000+ карты без Intel HD .
Не кекст, а сказка для радеона!
Инструкции - github.com .

Shiki //

Патчер пользовательского уровня для DRM-защищённого соединения.
То есть, позволяет воспроизводить фильмы/клипы в iTunes, и подобные операции.

IntelGraphicsFixup (lvs1974) //

Многогранный патч для Intel HD график Ivy и выше.
Решает разбитие яблока при загрузке, отключает PAVP для Haswell графики, и так далее.


HibernationFixup
(lvs1974) - github.com

Патч, разрешающий использовать 3 и 25 моды сна.
Установить моду сна можно командой: sudo pmset -a hibernationmode 25
Подробнее о модах сна можно найти в обсуждениях на applelife.ru и insanelymac.com
Страница проекта -github.com


IntelGraphicsDMVTFixup
(BarbaraPalvin) - github.com

Патч для изменения необходимого количества выделенной памяти (DMVT) для Intel HD график Broadwell и выше.
Рекомендуется использовать только в случае, если вы не можете изменить свой DMVT.
Также необходимо выключить патчи, которые позволяли это обходить, и пересобрать кэш.
Страница проекта - github.com .


NightShiftUnlocker
(Austere-J) - github.com

Разрешает использования NightShift (10.12.4+) на SMBios’ах, которые его не поддерживают (2011 год и ниже).
Страница проекта - github.com .

Сетевые кексты.


AtherosE2200
v.2.2.2 (Meize) - vk.com , insanelymac.com

Поддерживает все модели Atheros, паника на upload починена.


Broadcom NetXtreme 57xx
заводится методом Fake ID.

FakePCIID указан выше, в пакете идёт плагин для BCM57XX_as_BCM57765 .


IntelMausiEthernet
v.2.4.0 (Meize) - vk.com , insanelymac.com

Поддерживает все модели Intel.


Marvell Yukon 88E8056
v.1.0.0 - vk.com , insanelymac.com

Поддерживает Yukon 88E8xxx. В любом случае они уже вымерли.


RealtekRTL8111
v.2.2.2 (Meize) - vk.com , insanelymac.com

Звуковые кексты.


AppleALC
(vit9696) - github.com

Плагин для Lilu, который вынесен выше в отдельную категорию кекстов. Информация о нём там же.

Патченные AppleHDA (Mirone) -

На данный момент этот способ устарел морально, и все платформы уже присутствуют в AppleALC.
Вряд ли мы будем перерабатывать эту статью. Перейдите либо на AppleALC, либо на VoodooHDA.


VoodooHDA
(Voodoo Team) -

Универсальный драйвер звука. Помогает завести практически любой звук.
Например, HDMI-звук на Nvidia Pascal, или ALC269 без перебора кучи лейаутов.
Помните – вуду даёт отличный звук после отличной настройки!
Инструкция - applelife.ru .


CodecCom
m ander (TimeWalker, RehabMan) - bitbucket.org

Сodec Commander используется в качестве решения, которое позволяет запускать внешний усилитель EAPD на HDA кодеках ноутбуков и некоторых ITX плат. Обычно такие усилители сидят на ноде колонок или наушников. Когда кодек теряет питание, усилитель EAPD тоже теряет питание и включить его обратно без дополнительной помощи невозможно. Также, с помощью hda-verb, можно управлять состоянием нод через терминал или aml-таблицу. Инструкция по настройке будет позже на сайте, включая очень интересные PDFки.
Информация - bitbucket.com .

USB–кексты.


USBInjectAll
(RehabMan) - bitbucket.org

Для «ленивого» завода USB на 10.11+. //Завод USB через инжекцию IOKit’a скоро будет на нашем сайте.
Пояснение - bitbucket.org .


XHCIMux
(RehabMan) - входит в комплект FakePCIID, указанный выше.

Включает виртуальную шину EHCI (USB2.0) на Интел-контроллерах поколения Haswell и выше.


GenericUSBXHCI
(Zenith432, RehabMan) - bitbucket.org

Завод большинства XHCI-контроллеров для 10.10 и ниже.
Так же работает и на 10.11+, в случае стороннего контроллера.
Инструкция -

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

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

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

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

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

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

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

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

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

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

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

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

ATHEROSL1CETHERNET AR813X, AR815X

Кекст подходит для всех систем, начиная от 10.7 и заканчивая уже любимой 10.10.5. Поддерживаются сетевые карты от Atheros, указанные здесь:

AR8131, AR8132;
AR8151, AR8152;

  • Рекомендуем положить кекст в Кловер после установки. Можно установить с помощью Kext Utility или Kext Wizard (до 10.10.5);
  • Перезагрузиться;
  • Радоваться!

Обратите внимание, нахождение данного сетевого кекста в папке Clover во время установки может вызвать проблемы.

NULLETHERNET.KEXT (АКТУАЛЬНАЯ ВЕРСИЯ: 2014/R.1016)

Данный кекст предоставляет возможность завести AppStore и iCloud даже без карты Ethernet и Wi-Fi. Достаточно просто установить кекст, и проинжектировать устройство-пустышку в DSDT (патч для этого также лежит в папке), и произвести завод облачных сервисов, будто у нас есть Ethernet, через usb-свистки и прочее оборудование.

Устанавливайте, только если уверенны в его необходимости.

VOODOOPS2CONTROLLER.KEXT (ВЕРСИЯ: 2016/R.0616)

Voodoops2controller – кекст, который заставит работать порты PS2 на компьютере, а так же клавиатуру и тачпад на ноутбуке. Вещь незаменимая, если у вас не ELAN/Synaptic, или же вы просто нуждаетесь в установке – просто закиньте этот текст в SLE или же в “/EFI/CLOVER/kexts/10.x”, и радуйтесь рабочей клавиатурой, мышкой и трекпадом.

Если не закинуть рядом с кекстом VoodooPS2Daemon, в последних версиях из GitHUB паника неизбежна. Т.к. это утилита – ее нужно выполнить из консоли, и убедится, что если у вас версия выше 1.7.4 – что отсутствуют файл
/System/Library/Extensions/AppleACPIPS2Nub.kext
/System/Library/Extensions/ApplePS2Controller.kext
--
Если версия 1.7.8 и выше – обязателен к установке рядом с кекстом VoodooPS2Daemon, и его выполнении в консоли.

SYNAPTIC TOUCHPAD (ВСЕ ВЕРСИИ)

Данный кекст обеспечит максимальную работоспособность вашего Synaptic-тачпада и клавиатуры.

Схема установки:


Скачать нужную ревизию;

ELAN SMARTTOUCHPAD PS2 (ВСЕ ВЕРСИИ)

Данный кекст обеспечит максимальную работоспособность вашего ELAN-тачпада и клавиатуры.
Схема установки:
Удалить все предыдущие кексты из /S/L/E, /E/C/k/10.x, и из прочих мест, где могут быть кексты;
Скачать нужную ревизию;
Установить с помощью Kext Utility или Kext Wizard (до 10.10.5), или положить в кловер.
Разные кексты под разную аппаратную версию (это можно посмотреть в AIDA64 на Win):

  • Рекомендуем положить кекст в Кловер. Можно установить с помощью Kext Utility или Kext Wizard (до 10.10.5);
  • Перезагрузиться;
  • При отсутствии результата пофиксить права на диске, или же включить Fix_LAN;

ATHEROS AR81X1, AR81X2 V1.0.2

Кекст подходит для всех систем, начиная от 10.6.8 и заканчивая уже любимой 10.10.5. Поддерживаются сетевые карты от Atheros:

AR8131, AR8132;
AR8141, AR8142;
AR8151, AR8152;
AR8161, AR8162;
AR8171, AR8172.

Обратите внимание, в версиях выше 10.10.5 может вызывать панику ядра.

GenericUSBXHCI. kext

Кекст, необходимый для завода USB 3.0 на ненативных материнских платах и 99% ноутбуков. Так же исправляет кракозябры в названии при отображении флэшек и внешних жестких дисков в Finder.

Работает во версиях, включая Sierra 10.12.6. В High Sierra не испытывал.

HFSPlus.efi

Ускоряет загрузку загрузчика Clover. В комплекте с официальным Кловером идет драйвер VboxHFS.efi, который лицензионно чистый и понимает линки, но работает медленнее, чем эппловский HFSplus.efi.

VoodooHDA

VoodooHDA.kext – звуковой драйвер, заменяющий оригинальный AppleHDA.kext. Самый простой способ завести звук на хакинтоше.

Список поддерживаемых звуковых карт:

2-х канальные: ALC231, ALC260, ALC262, ALC268, ALC269, ALC272
6-ти канальные: ALC662, ALC663, ALC665
8-ми канальные: ALC1150, ALC861, ALC861-VD-GR, ALC880, ALC882, ALC883, ALC887, ALC888, ALC888T, ALC885, ALC888S, ALC888S-VC, ALC888S-VD, ALC889, ALC892, ALC898

Если у вас не сохраняются настройки VoodooHDA при выходе из системы или после перезагрузки. Рекомендую два варианта:

Вариант 1:

  • Удалить установленную версию;
  • Установить VoodooHDA-v2.8.2;
  • Перезагрузить;
  • Добавить VoodooHDASettingsLoader.app в автозагрузку;
  • Скачать последнюю версию кекста с сайта разработчиков;
  • Установить последнюю версию с помощью Kext Utility;
  • Снова перезагружаем и радуемся отличному звуку и работающему сохранению настроек VoodooHDA!

Вариант 2:

Перебираем версии пока не добьемся желаемого сохранения и отличного звучания.

Verde.kext

Для владельцев видео карт Radeon потребуется Verde.kext, при установке всех версий выше 10.9.5 без него видео карта не заведется, будете наблюдать черный экран после загрузки системы.

RealtekRTL8111

Поддерживает сетевые карты Realtek RTL8111/8168 B/С/D/Е/F/G.

Работает во всех версиях начиная с 10.8 до 10.12.6(Включительно).

ACPIBatteryManager.kext (RehabMan версия: 2016/R0628)

ACPIBatteryManager – кекст для отображения батарейки в системе. Часто зависим от правок в DSDT.

FakePCIID и плагины (RehabMan)

Начиная с Haswell, любое приложение или сервис может проверить PCI-ID, не смотря на то, что было сообщено на этапе инициализации.
FakePCIID перехватывает эти запросы, и возвращает значение, которое мы указали через FakeID в клевере, или другим образом.
Плагины для FakePCIID имеют очень разносторонний функционал, вся работа описана .

ACPIDebug (RehabMan)

Тем, кто знает, что это за кекст, объяснять его работу не нужно.
А тем, кто не знает - он и не нужен.

BrcmPatchRAM (the-darkvoid, RehabMan)

Подгружает прошивку Bluetooth’а для чипов Broadcom.

Kext Lilu и плагины

Патчер кекстов и процессов. Ни на что не влияет сам по себе, действует только с соответствующими плагинами, которые указаны ниже.
Некоторые плагины здесь не указаны, т.к. они выходят часто, и некоторые очень узконаправлены.
Все известные плагины - github.com .
Информация - github.com .

Кекст для динамического патчинга AppleHDA. Достаточно правильного Layout’а, и звук работает.
Таблица поддерживаемых кодеков и лейаутов - github.com .
Инструкции - github.com

Патчер пользовательского уровня для DRM-защищённого соединения.
То есть, позволяет воспроизводить фильмы/клипы в iTunes, и подобные операции.
Инструкция - github.com .

Производит необходимые для AMD GPU патчи.
Заводит сон, создаёт фреймбуфер «на ходу», загружает 8000+ карты без Intel HD .
Не кекст, а сказка для радеона!
Инструкции - github.com .

Патчит компонент CoreDisplay, разрешая большие разрешения для Intel HD и Nvidia график.
В момент написания этой страницы мы не имели подтверждения его работоспособности.
Инструкция - github.com .

Патч, разрешающий использовать 3 и 25 моды сна.
Установить моду сна можно командой: sudo pmset -a hibernationmode 25
Подробнее о модах сна можно найти в обсуждениях на applelife.ru и insanelymac.com
Страница проекта - .


IntelGraphicsDMVTFixup
(BarbaraPalvin) - github.com

Патч для изменения необходимого количества выделенной памяти (DMVT) для Intel HD график Broadwell и выше.
Рекомендуется использовать только в случае, если вы не можете изменить свой DMVT.
Также необходимо выключить патчи, которые позволяли это обходить, и пересобрать кэш.
Страница проекта - github.com .

Разрешает использовать Nvidia-графики на SMBios’ах, контролируемых AppleGraphicsDevicePolicy.kext.
Страница проекта - .

Разрешает использования NightShift (10.12.4+) на SMBios’ах, которые его не поддерживают (2011 год и ниже).
Страница проекта - github.com .

Звуковые кексты

AppleALC (vit9696) - github.com

Плагин для Lilu, который вынесен выше в отдельную категорию кекстов. Информация о нём там же.

На данный момент этот способ устарел морально, и все платформы уже присутствуют в AppleALC.
Вряд ли мы будем перерабатывать эту статью. Перейдите либо на AppleALC, либо на VoodooHDA.

Универсальный драйвер звука. Помогает завести практически любой звук.
Например, HDMI-звук на Nvidia Pascal, или ALC269 без перебора кучи лейаутов.
Помните – вуду даёт отличный звук после отличной настройки!
Инструкция - applelife.ru .


CodecCom
m ander (TimeWalker, RehabMan) - bitbucket.org

Сodec Commander используется в качестве решения, которое позволяет запускать внешний усилитель EAPD на HDA кодеках ноутбуков и некоторых ITX плат. Обычно такие усилители сидят на ноде колонок или наушников. Когда кодек теряет питание, усилитель EAPD тоже теряет питание и включить его обратно без дополнительной помощи невозможно. Также, с помощью hda-verb, можно управлять состоянием нод через терминал или aml-таблицу. Инструкция по настройке будет позже на сайте, включая очень интересные PDFки.
Информация -

Понравилась статья? Поделитесь с друзьями!
Была ли эта статья полезной?
Да
Нет
Спасибо, за Ваш отзыв!
Что-то пошло не так и Ваш голос не был учтен.
Спасибо. Ваше сообщение отправлено
Нашли в тексте ошибку?
Выделите её, нажмите Ctrl + Enter и мы всё исправим!