An EFI folder that could boot macOS Mojave cannot necessary boot macOS Catalina due to changes in the way AppleACPIEC behaves which require it to be either disabled, renamed or spoofed to boot macOS Catalina on most hackintosh motherboards. Not addressing EC in Catalina can cause hagging with verbose outputs such as Waiting on root device… or AE_NOT_FOUND that will prevent you from booting Catalina.
All equipment facilities installed on Apple MacBookPro9,2 are listed below. In order to facilitate the search for the necessary driver, choose one of the Search methods: either by Device Name (by clicking on a particular item, i.e. Intel(R) 7 Series/C216 Chipset Family Management Engine Interface - 1E3A) or by Device ID (i.e. PCI VEN8086&DEV1E3A). Background: I bought a $2499 MacBook Pro in October. I setup a boot camp partition with Windows XP Home which I only used for playing Team Fortress. Last week my MacBook Pro was stolen. I got a new one (same model) and installed Windows XP Home via boot camp. Everything seems to work. ACPI stands for “ Advanced Configuration and Power Interface. ” It is one of the most commonly used methods to control the power stages of a PC and all of the attached accessories. ACPI allows for such functions as going into sleep mode, amongst others. ACPI defines a generic, extensible table-passing mechanism, plus specific tables for describing the platform to the operating system. Table structures and headers, including ID and checksum fields, are defined in the ACPI 5.0 specification.
Hackintosh Catalina EC Patching
- The option to disable AppleACPIEC currently has issues and is only for those using the OpenCore method of hackintoshing and not Clover, leaving us with the option to fake or rename our EC device which is needed .for AppleBusPower to function.
- Renaming EC – Recommended for laptop use as this still loads AppleACPIEC which is not used or compatible with a desktop but still works.
- Faking EC is done turning off the real EC one and setting a fake one up by placing a patched SSDT-EC.aml file in EFI/CLOVER/ACPI/patched.
- Recommended by the community for desktops, do not use for laptops.
- The downside to this method is if you change the hardware in your system i.e. swapping out the motherboard or computer trying to get the Catalina installer to load. The SSDT will need to be remade for a specific machines hardware before being able to boot while the specific rename patch tends to be similar across motherboard generations i.e. a Gigabyte Z370 motherboard and an ASUS Z390 motherboard will have the same EC rename. In that case starting with the rename method might be a better solution to start with.
To do either fix you’ll want to generate a DSDT:
- Generate a DSDT table by restarting computer and entering Clover Bootloader
- Press F4 will cause a DSDT to be generated and placed in EFI/CLOVER/ACPI/origin
- Reboot back into macOS and Mount EFI partition
Acpi Mac Catalina
#1 Renaming EC Method
- Renaming EC adds a simple Hex patch under Acpi -> Patches of config.plist from this table:
Comment Find* [HEX] Replace [HEX] change EC0 to EC 4543305f 45435f5f change H_EC to EC 485f4543 45435f5f change ECDV to EC 45434456 45435f5f - Only one of these three patches is used at a time. DO NOT enable multiple at the same time or you may not be able to boot
- To find out which patch is correct for you’re computer can either guess by adding one at a time and trying to boot Catalina or you can simply check the DSDT you generated by following steps 1-6:
- Download MaciASL
- Open EFI/CLOVER/ACPI/origin/
- Open DSDT.aml with MaciASL
- Use ⌘F to open the Find search bar
- Search for PNP0C09 it will be in a bracketed under a device named Device (EC0) or Device (H_EC) or Device (ECDV)
- Some computers will return two device results for PNP0C09 to find out which is the correct device it must contain an _HID, _CRS and _GPE in its brackets for example:
(_HID, EisaId ('PNP0C09'))
// _HID: Hardware IDName (_CRS, ResourceTemplate ()
// _CRS: Current Resource SettingsName (_GPE, 0x16)
// _GPE: General Purpose EventsIn this example EC0 is the correct EC as it contains a _HID, _CRS and _GPE value, therefore the patch used will be rename EC0 to EC
- Once you figure out what patch you need from the table add it by opening config.plist with Clover Configurator and placing the patch under Acpi Patches:
If you are using the EFI from https://hackintosher.com/guides/guide-to-fresh-installing-macos-catalina-on-a-hackintosh/ I’ve included the patches in config.plist already however they are all disabled by default enable the one that is right for you by unchecking disabled.
Here’s the table again:
Comment Find* [HEX] Replace [HEX] change EC0 to EC 4543305f 45435f5f change H_EC to EC 485f4543 45435f5f change ECDV to EC 45434456 45435f5f
Maciasl Acpi 6.1
#2 Faking EC Method
Acpi Machine
- Download SSDT-Time and unzip the folder
- Open SSDTTime-master folder
- Right-click open SSDTTime.command
- This will open Terminal
- Please make a selection: 2
- Drag and drop a DSDT.aml or origin folder
- SSDTTime will automatically open a Results folder
- Copy SSDT-EC.aml from the Results folder and place it in EFI/CLOVER/ACPI/patched
- Note: The patched folder not the origins folder
- If you have any issues getting SSDTTime to work use the rename method instead.