DSDT Фон:
ACPI (Advanced Configuration and Power Interface) — это открытая отраслевая спецификация, совместно разработанная компаниями Hewlett-Packard, Intel, Microsoft, Phoenix и Toshiba. настроить устройства материнской платы и управлять их питанием. Википедия:
Таблицы позволяют описать аппаратное обеспечение системы в независимой от платформы манере и представлены либо в виде структур данных с фиксированным форматом, либо в виде AML. Основная таблица AML — это DSDT (таблица дифференцированного описания системы) . DSDT — самая большая и важная таблица, поскольку именно в ней описываются устройства материнской платы. Поскольку DSDT вместе с другими таблицами ACPI хранится в BIOS, описывается только встроенное оборудование. Цель состоит в том, чтобы обойти эту часто ошибочную таблицу из-за оптимизации для Windows с помощью пользовательской таблицы, в которой объявления настраиваются в соответствии с потребностями Mac OS X, чтобы максимизировать совместимость. Использование для хакинтошей Загрузив отредактированный DSDT через загрузчик Chameleon вместо заводского, можно добиться следующих результатов:
подделка идентификаторов устройств с помощью DSDT может заменить устаревшие/инжекторные кексы
обновления могут отключать модифицированные или устаревшие/инжекторные кексы, но не могут отключать исправления DSDT.
Редактирование DSDT может включить сон, встроенный спидстеп
обширные правки могут ускорить процесс загрузки
Мне это действительно нужно? Нет, чтобы получить функциональный Hackintosh, вам не нужен DSDT. Но наличие такой таблицы может сделать вашу систему более стабильной и легкой (редактирование этой одной таблицы заменит множество дополнительных файлов). Как извлечь DSDT Mac OS X: убедитесь, что пользовательский/модифицированный DSDT еще не введен. Clover bootloader — использование графического интерфейса В графическом интерфейсе Clover нажмите кнопку F4 , а затем загрузите OS X в обычном режиме. Когда OS X уже инициализирована, смонтируйте/откройте раздел EFI, и вы сможете найти все свои таблицы ACPI в /EFI/Clover/ACPI/origin/ Linux — через Терминал и Live-CD/DVD:
Код:
cat /proc/acpi/dsdt > dsdt.aml
Windows:
AIDA64 или аналогичные инструменты .dsl / .aml — компиляция и декомпиляция При извлечении из системы DSDT и другие таблицы находятся на машинном языке ACPI (расширение файла .aml).
Чтобы внести изменения, DSDT необходимо декомпилировать (расширение файла .dsl). Программа для компиляции и декомпиляции таблиц ACPI называется iASL. Последнюю версию для Mac OS X можно скачать: iaslMe MaciASL (with updated iasl5 15.10.2014) только iasl5 (latest version 15.10.2014) (просто переименуйте его в iasl, если хотите поместить в /usr/bin) Ошибки компиляции: Использование более новых версий iASL, чем исходный DSDT, часто приводит к ошибкам компиляции. Чтобы исправить ошибки и адаптировать новые рекомендации по коду, также загляните в эту тему . Редактирование DSDT Файлы DSDT.dsl можно редактировать в любом текстовом редакторе. Мы поговорим об исправлениях DSDT в следующем посте в этой теме, но это может занять некоторое время, потому что мы хотим дать подробные объяснения и справочную информацию, чтобы сделать исправления доступными для любого оборудования. Хороший метод — использовать Textmate и выбрать подсветку разметки C++. Существуют также утилиты, включающие компилятор iasl, например: DSDTEditor DSDTSE.
DSDT editor and patcher
El Coniglio выпустила этот редактор DSDT с возможностью автоматической установки исправлений. Окна основного редактора позволяют пользователю открыть файл DSL или извлечь DSDT из IOReg. Он имеет некоторые полезные ресурсы, такие как подсветка синтаксиса, дерево навигации и некоторые параметры, которые поставляются с компонентом текстового редактора, который он использует, например сопоставление регулярных выражений, автоматическое завершение, переход к паре и т. д. Окно патчера анализирует скриптовый язык, представляющий патчи. Пользователь может предварительно просмотреть изменения перед их применением. Этот «язык» позволяет нам писать динамические патчи, которые можно применять в различных ситуациях. Более конкретные команды могут быть написаны по мере необходимости. На данный момент это реализованные команды (которые могут быть разделены знаком ";")
syntax: into [ ... ] begin [action_argument] end (will be applied to the first occurrence) into_all [ ... ] begin [action_argument] end (will be applied to all occurrences) where type: DefinitionBlock, Scope, Method, Device, Processor, ThermalZone, All property: label -- first argument for the constructor of selected type name_adr -- Name (_ADR) value name_hid -- Name (_HID) value code_regex -- regular expression to match the code of the selected type (not other types inside of it) code_regex_not -- regular expression NOT to match the code of the selected type (not other types inside of it) parent_label -- parent label parent_type -- parent type parent_adr -- parent _ADR value parent_hid -- parent _HID value action: insert -- inserts the provided code to the type set_label -- sets the label replace_matched -- replaces the matched code for the property with the provided code. Regex groups are inserted with %1, %2, ... up to %9 replaceall_matched -- same as replace_matched but will affect all matches remove_matched -- removes the matched code removeall_matched -- removes all the ocurrencies of the matched code remove_entry -- removes the entry and all children nodes replace_content -- replaces the content of the object (everything inside its main brackets) store_%8 -- stores the matched group 1 into %8 store_%9 -- stores the matched group 1 into %9 note: replacer will always consider the last provided value
MaciASL - Самый актуальный редактор DSDT. После того, как вы применили исправления, вам нужно сохранить DSDT как .aml, например: DSDT.aml . Почему чужие файлы DSDT могут вызывать проблемы Даже небольшие аппаратные различия приведут к разным таблицам и могут вызвать проблемы. Чтобы убедиться, что модифицированный DSDT совместим с вашей системой, сравните два файла. Следующие строки могут вызвать проблемы:
Если эти значения в вашем DSDT отличаются, замените шестнадцатеричные значения в другом измененном DSDT собственными значениями. Проверка загрузки пользовательского DSDT: Сначала убедитесь, что ваш файл называется DSDT.aml и находится в папке /DSDT.aml или /Extra/DSDT.aml.
Вы создали/имели собственный DSDT и не видите никаких изменений, и вы не уверены, что DSDT используется и внедряется загрузчиком. Вот несколько способов проверить загрузку DSDT: Используйте bdmesg. bdmesg поставляется с загрузчиком Chameleon и находится в /usr/bin. bdmesg можно запустить из терминала после запуска, чтобы вы могли проверить, что делает Chameleon, пока он загружает ваш Hackintosh. Выдержка из вывода bdmesg, последняя строка показывает загрузку DSDT.aml: