Поговорим о представленных на сайте Custom DSDT. Вот вы нашли от своей материнской платы файл DSDT(dsl) - это по сути текстовый файл, и в таком виде, в жизни вашего хакинтош, он участвует косвенно, до момента, пока с ним не поступят должным образом.
Что же с ним делать, рассмотрим в данной статье, и возможные нюансы.
- Первое, что понадобится - это компилятор iASL (Скачать\Download)
- Положить на "рабочий стол" скачанный файл(iasl), и в терминале выполнить команду: sudo mv ~/Desktop/iasl /usr/bin/
Теперь можно компилировать нужный dsl файл, лучше всего показать как это должно выглядеть в терминале:
Для просмотра DSL файла, рекомендуем использовать редактор MaciASL.
Полученный DSDT.aml должен лежать по пути: EFI\EFI\CLOVER\ACPI\patched\
Нюансы:
Когда вы работаете с кастомным DSDT, в конфиге не должно быть никаких патчей и фиксов, всё что нужно, уже присутствует в нашем DSDT.
Единственный фикс DSDT, который может понадобится - это FixRegions, но во многих представленных DSDT, отсутствует зависимость от адресов OperationRegion.
Если нужно, включаем в config.plist: ACPI - DSDT - Fixes - FixRegions - YES
Так же наличие в config.plist - раздела Patches, влияет на текущий DSDT.aml. Т.е. если делаете переименование устройства через раздел Patches (например EHC1 -> EH01), то в DSDT.aml устройство будет уже иметь имя не EHC1, а EH01, и тут нужно понимание, что это переименование делаете собственноручно и осознанно.
На этом пожалуй всё.
Good Hack
А если есть готовый dsdt.aml,от моей материнской платы,точно такой-же ревизии и версии bios?
DSDT есть всегда и готовый, в момент выпуска матери с завода.
Только он под винду, для мака достаточно патчей коловером.
Так вот тут на сайте - есть кастомные дсдт, где вырезан лишний код, и оставлен тот, который нужен только для Макос.
Т.е. вместо оригинального дсдт длинной 50 тыс. строк, здесь лежит опыт и знания, готовые кастомные дсдт длинной кода - в 1 тыс. строк.
Это в 50 раз меньше оригинала:)
Спасибо за совет! Я посмотрел,но вроде у вас нет под Asrock Z87 Extreme6...по-этому и задал этот вопрос.
А разве DSDT не меняется в зависимости от версии BIOS?
Нет, для macOS можно сказать не меняется.
Если говорить о чём то более конкретном, то возьмём Z370, и версию биос F4, всё отлично грузилось без патчей в конфиге.
И вот выходит версия F12 с поддержкой процессоров 9ххх, при этом получаем стоп при загрузке.
Что изменилось? - Device (RTC)
При кастомном дсдт, после обновы биоса, проблема бы не всплыла, но на таких чипсетах смысл в дсдт несколько отпал.
В общем DSDT меняется, но не в лучшую сторону как правило.
А что касается operationregion, адреса которого могут поплыть с новым биос, то это решается соответствующим фиксом в конфиге.
"Полученный DSDT.aml должен лажать по пути: EFI\EFI\CLOVER\ACPI\patched\"
Он там может и лАжать, но лучше бы просто лЕжал))
Спасибо, поправили:)
..а зачем при компиляции в команде iasl -oi Asus\ P8B75-V.dsl обратный слеш в имени файла??..у меня не получается скомпилировать, ругается на ошибку((
GIGABYTE GAB75MD3H.dsl 21: DefinitionBlock ("DSDT.aml", "DSDT", 2, "GIGABYTE", "B75MD3H", 0x00000012)
Error 6156 - Invalid OEM ID ^ (Length cannot exceed 6 characters)
1.Потренируйтесь в терминале походить по директориям, все директории где в названии есть пробел, ставится перед пробелом обратный.
2. Переведите в гугле "Length cannot exceed 6 characters". Название GIGABYTE и B75MD3H - сократите до 6 букв. Старый компилятор позволял это, в новом надо приводить к 6 буквам. Эти названия не влияют ни на что можно что угодно писать.
..спасибо за ответ, уяснил)
..только сдается мне, что беда с 0х00000012, если это OEM ID((
Скачал, сократил до GIGA и B75M, error ушла..., не надо выдумывать, ответ уже дан, и он правильный...
Здравствуйте, после первой в статье команды выдаёт: mv: rename /Users/user/Desktop/iasl to /usr/bin/iasl: Read-only file system
Что делать
Вообще-то, в мире unix-подобных систем к которым, несомненно, относится и macOS, не принято устанавливать утилиты сторонних разработчиков в /usr/bin. Там должно находиться только то, что поставляется разработчиком системы. А для утилит сторонних разработчиков предназначен /usr/local/bin. Вот там самое место для iasl. Прошу прощения за некоторый перфекционизм.)
Файл GA-X58A-UD7.dsl . Сокращал как только можно, все равно выдает ошибку Error 6156 — Invalid OEM ID ^ (Length cannot exceed 6 characters)...
Ответ кроется в самом вопросе, немного мозги включить, будет только на пользу.
А просто ответить не судьба? Сокращал до шести знаков, переименовывал и т.д. т.п.
Вот честно, не судьба, ибо даже на лайфе никто готовым уже не делится, а вы пришли на готовенькое, ещё права качать решили?
Про донат я в принципе молчу, и про время, сколько его нужно на изучение, чтобы делать такие DSDT, а вас элементарно здороваться не научили, не мы к вам пришли, а вы к нам...
И да, не могу увы прикрепить скрин, дабы показать, что нет там ошибок, и что ответ в вопросе. Совет прежний, включить мозги, или идти делать самому с нуля!