Как вытащить dsdt на mac os
An EliteMacx86 Exclusive Guide - This guide covers extraction of ACPI sets, (commonly known as DSDT and SSDTs) using Clover.
Overview
Extracting DSDT/SSDTs is very easy and has minimal requirements. To extract the DSDT/SSDT, follow the steps below.
- Install Clover Bootloader either on your System Drive or any USB.
- Boot into Clover, when at Clover welcome screen, Press F4 to extract the ACPI files. It might take few minutes.
- Boot to Mac.
- You can find the extracted ACPI files in : EFI/CLOVER/ACPI/origin
- You can patch your DSDT and SSDTs.
- Sometimes it looks like it has stuck but the process runs in the background so wait for the process to complete.
- The extracted files are the native/unpatched ACPI files. You'll need to patch these.
New member
How to Extract DSDT/SSDTs
An EliteMacx86 Exclusive Guide - This guide covers extraction of ACPI sets, (commonly known as DSDT and SSDTs) using Clover.
Overview
Extracting DSDT/SSDTs is very easy and has minimal requirements. To extract the DSDT/SSDT, follow the steps below.
- Install Clover Bootloader either on your System Drive or any USB.
- Boot into Clover, when at Clover welcome screen, Press F4 to extract the ACPI files. It might take few minutes.
- Boot to Mac.
- You can find the extracted ACPI files in : EFI/CLOVER/ACPI/origin
- You can patch your DSDT and SSDTs.
- Sometimes it looks like it has stuck but the process runs in the background so wait for the process to complete.
- The extracted files are the native/unpatched ACPI files. You'll need to patch these.
I have Installed Clover Bootloader on Windows System Drive.
Then I Boot into Clover,
when at Clover welcome screen, I Pressed F4 to extract the ACPI files and it seems to be stuck here. not sure how long it should take as it has been over 15 minutes of waiting.
Установка Clover установщиком
Ручная установка
- Идем в терминал, и даем команду "diskutil list", смотрим номер раздела, на который будем устанавливать загрузчик.
В моем случае это раздел EFI на флешке, он же - disk0s1.
- Господа, прошу обратить внимание на то, что у меня схема разделов в примере GUID, и нет ни одного раздела в FAT32 кроме самого EFI. Если же вы решите оставить MBR и отформатировать всю флешку в FAT32 то вам может потребоваться для успешного старта загрузчика сделать раздел активным (этот случай будет рассмотрен ниже).
- Монтируем раздел, на который только что установили загрузочный сектор sudo mkdir /Volumes/EFI/
sudo mount_msdos /dev/diskDsP/ /Volumes/EFI/
Настройка
Добавте дополнительные строчки в секцию ACPI, файла /EFI/config.plist:<key>FixDsdtMask</key>
<string>0xFFFF</string>
Удалите /EFI/ACPI/patched/DSDT.aml если получаете панику ядра.
Все значения масок показыны ниже. Для хорошей работы некоторых патчей нужен патч DTGP (0x0001).
Маски 0x00FF:
0000 0000 0000 0001 = 0x0001 = FIX_DTGP
0000 0000 0000 0010 = 0x0002 = FIX_WARNING
0000 0000 0000 0100 = 0x0004 = FIX_SHUTDOWN
0000 0000 0000 1000 = 0x0008 = FIX_MCHC
0000 0000 0001 0000 = 0x0010 = FIX_HPET
0000 0000 0010 0000 = 0x0020 = FIX_LPC
0000 0000 0100 0000 = 0x0040 = FIX_IPIC
0000 0000 1000 0000 = 0x0080 = FIX_SBUS
Маски 0xFF00:
0000 0001 0000 0000 = 0x0100 = FIX_DISPLAY
0000 0010 0000 0000 = 0x0200 = FIX_IDE
0000 0100 0000 0000 = 0x0400 = FIX_SATA
0000 1000 0000 0000 = 0x0800 = FIX_FIREWIRE
0001 0000 0000 0000 = 0x1000 = FIX_USB
0010 0000 0000 0000 = 0x2000 = FIX_LAN
0100 0000 0000 0000 = 0x4000 = FIX_WIFI
1000 0000 0000 0000 = 0x8000 = FIX_HDA
0000 0000 1111 1111 = 0x00FF = Включение исправления по маске: бит(0)
бит(7).
1111 1111 0000 0000 = 0xFF00 = Включение исправления по маске: бит(8)
бит(15). Нужно включить метод DTGP (0xFF01) в первую очередь.
Сборка Clover
Сборка Clover вручную
/src/edk2/Clover/HFSPlus/X64/HFSPlus.efi
./cbuild.sh -xcode -ia32 -release
Этот скрипт создает Clover32, но он нужен также и для того, чтобы EDK2 сконфигурировалась. Теперь мы эту конфигурацию должны скорректировать.
/src/gmp-5.0.4
mkdir build
cd build
../configure --prefix=/opt/local
make
sudo make install
cd
/src/mpfr-3.1.0
mkdir build
cd build
../configure --prefix=/opt/local --with-gmp=/opt/local
make
sudo make install
cd
/src/mpc-0.9
mkdir build
cd build
../configure --prefix=/opt/local --with-gmp=/opt/local --with-mpfr=/opt/local
make
sudo make install
So to start, we'll need to get a copy of your DSDT from your firmware. The easiest way is grabbing the DSDT.aml SSDTTime dumped for us earlier but here are some other options:
- Supports both Windows and Linux for DSDT dumping
- 8. Dump DSDT - Automatically dump the system DSDT
- In command prompt run path/to/acpidump.exe -b -n DSDT -z , this will dump your DSDT as a .dat file. Rename this to DSDT.aml
Do note that all ACPI patches from clover/OpenCore will be applied to the DSDT with the above 2 methods
- Supports both Windows and Linux for DSDT dumping
- 4. Dump DSDT - Automatically dump the system DSDT
- F4 in Clover Boot menu
- DSDT can be found in EFI/CLOVER/ACPI/origin , the folder must exist before dumping
With OpenCore, we have 2 options:
- You already need a bootable OpenCore USB to get this dump
- This also requires a DEBUG version of 0.5.9
For the latter, you just need to replace the following files with DEBUG version
- EFI/BOOT/
- BOOTx64.efi
- Bootstrap.efi
- OpenRuntime.efi
- OpenCore.efi
For the former, you can actually skip the ACPI section, return to the OpenCore guide
(opens new window) and finish making the USB. Once booted to the picker, you can shut off the PC and check your USB:
And voila! You have a DSDT! Now you can continue on with making SSDTs
For this, we'll want to grab acpidump.efi
(opens new window) and add this to EFI/OC/Tools and in your config under Misc -> Tools with the argument: -b -n DSDT -z and select this option in OpenCore's picker.
If OpenCore is having issues running acpidump.efi from the boot picker, you can call it from the shell with OpenShell
(opens new window) (reminder to add to both EFI/OC/Tools and in your config under Misc -> Tools ):
Слово «Кекст» — транскрипция английского сокращения Kext от Kernel extension, т.е. расширение ядра. В виде кекстов реализованы все драйверы для macOS. Большинство самих же кекстов реализовано в виде специальных установочных пакетов, при запуске которых потребуется лишь ввести пароль, а всё остальное сделают за вас скрипты. Почти так же, как и с привычной установкой драйверов на ОС Windows.
Но не всегда всё так легко. Порой достается просто файл с расширением .kext. А в случае с хакинтошем, следует и вовсе готовиться к тому, что, возможно, придётся перепробовать несколько разных кекстов, прежде чем определенная аппаратная часть ПК заработает правильно.
Установка кекстов в macOS состоит из трёх этапов:
- Копировании в папку System/Library/Extensions.
- Настройке прав доступа.
- Удалении и пересоздании кэша кекстов для загрузки системы.
§ Установка кекстов
Kext Utility
Есть два способа установки кекстов — ручной и автоматический. Я рекомендую автоматический, поскольку он гораздо проще. В этом мне помогает отличная программа Kext Utility. Она делает за меня все три описанных выше этапа установки кекстов.
Есть несколько способов работы с Kext Utility:
- перетаскивание одного или нескольких кекстов в окно программы;
- запуск вхолостую, запускающий проверку прав доступа к уже установленным кекстам и пересозданию их кэша.
Установка в папку Clover
Не всегда требуется устанавливать кексты в системную папку macOS: на хакинтоше есть еще одно место с кекстами — в папке Clover. Обычно там располагаются кексты, необходимые для работы хакинтоша. Выбор места для установки следует делать исходя из документации к кексту. Большое количество кекстов, загружаемых через Clover, может замедлить загрузку системы.
-
Откройте папку кекстов в Clover: EFI > CLOVER > Kexts > Other.
В папке Clover/Kexts/Other располагаются кексты для всех версий macOS. Рекомендуется копировать кексты именно в эту папку.
§ Удаление кекстов
Удаление из системной папки
- Выберите в строке меню пункт «Переход к папке» и введите путь к системной папке: /System/Library/Extensions
С помощью сочетания ⌘ + Shift + . (точка) можно отображать скрытые файлы в macOS и таким же способом их скрывать.
Помимо основной папки с кекстами в macOS, которая располагается в папке System/, есть еще одно место, где хранятся кексты — /Library/Extensions. Но оно используется гораздо реже и кекстов там немного.
Удаление из папки Clover
В случае, если целевой кекст располагается в папке Clover, просто удалите его оттуда и перезагрузите компьютер.
Читайте также:
For those with Clover installed previously, this is a simple way to get your ACPI tables: