Поговорим о представленных на сайте Custom DSDT. Вот вы нашли от своей материнской платы файл DSDT(dsl) - это по сути текстовый файл, и в таком виде, в жизни вашего хакинтош, он участвует косвенно, до момента, пока с ним не поступят должным образом.

Что же с ним делать, рассмотрим в данной статье, и возможные нюансы.

  • Положить на "рабочий стол" скачанный файл(iasl), и в терминале выполнить команду: sudo mv ~/Desktop/iasl /usr/bin/

Теперь можно компилировать нужный dsl файл, лучше всего показать как это должно выглядеть в терминале:

Переход в папку Downloads, где лежит Asus P8B75-V.dsl файл, и его компилирование.
На выходе получаем DSDT.aml

Для просмотра 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

5/5 - (2 голоса)

18 Replies to “Компиляция DSDT

  1. А если есть готовый dsdt.aml,от моей материнской платы,точно такой-же ревизии и версии bios?

    1. DSDT есть всегда и готовый, в момент выпуска матери с завода.
      Только он под винду, для мака достаточно патчей коловером.
      Так вот тут на сайте - есть кастомные дсдт, где вырезан лишний код, и оставлен тот, который нужен только для Макос.
      Т.е. вместо оригинального дсдт длинной 50 тыс. строк, здесь лежит опыт и знания, готовые кастомные дсдт длинной кода - в 1 тыс. строк.
      Это в 50 раз меньше оригинала:)

      1. Спасибо за совет! Я посмотрел,но вроде у вас нет под Asrock Z87 Extreme6...по-этому и задал этот вопрос.

    1. Нет, для macOS можно сказать не меняется.
      Если говорить о чём то более конкретном, то возьмём Z370, и версию биос F4, всё отлично грузилось без патчей в конфиге.
      И вот выходит версия F12 с поддержкой процессоров 9ххх, при этом получаем стоп при загрузке.
      Что изменилось? - Device (RTC)
      При кастомном дсдт, после обновы биоса, проблема бы не всплыла, но на таких чипсетах смысл в дсдт несколько отпал.
      В общем DSDT меняется, но не в лучшую сторону как правило.
      А что касается operationregion, адреса которого могут поплыть с новым биос, то это решается соответствующим фиксом в конфиге.

  2. "Полученный DSDT.aml должен лажать по пути: EFI\EFI\CLOVER\ACPI\patched\"

    Он там может и лАжать, но лучше бы просто лЕжал))

  3. ..а зачем при компиляции в команде 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. 1.Потренируйтесь в терминале походить по директориям, все директории где в названии есть пробел, ставится перед пробелом обратный.
      2. Переведите в гугле "Length cannot exceed 6 characters". Название GIGABYTE и B75MD3H - сократите до 6 букв. Старый компилятор позволял это, в новом надо приводить к 6 буквам. Эти названия не влияют ни на что можно что угодно писать.

  4. Здравствуйте, после первой в статье команды выдаёт: mv: rename /Users/user/Desktop/iasl to /usr/bin/iasl: Read-only file system
    Что делать

  5. Вообще-то, в мире unix-подобных систем к которым, несомненно, относится и macOS, не принято устанавливать утилиты сторонних разработчиков в /usr/bin. Там должно находиться только то, что поставляется разработчиком системы. А для утилит сторонних разработчиков предназначен /usr/local/bin. Вот там самое место для iasl. Прошу прощения за некоторый перфекционизм.)

  6. Файл GA-X58A-UD7.dsl . Сокращал как только можно, все равно выдает ошибку Error 6156 — Invalid OEM ID ^ (Length cannot exceed 6 characters)...

      1. А просто ответить не судьба? Сокращал до шести знаков, переименовывал и т.д. т.п.

        1. Вот честно, не судьба, ибо даже на лайфе никто готовым уже не делится, а вы пришли на готовенькое, ещё права качать решили?
          Про донат я в принципе молчу, и про время, сколько его нужно на изучение, чтобы делать такие DSDT, а вас элементарно здороваться не научили, не мы к вам пришли, а вы к нам...

          И да, не могу увы прикрепить скрин, дабы показать, что нет там ошибок, и что ответ в вопросе. Совет прежний, включить мозги, или идти делать самому с нуля!

Добавить комментарий

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

5 × 1 =