Jump to content

[GUIDE] OpenCore and macOS Catalina in Z390 Aorus Elite


1 post in this topic

Recommended Posts

OpenCore as boot manager instead of Clover on a PC with Z390 Aorus Elite motherboard, i3 9100 Coffee Lake, RX 580 graphics card and macOS Catalina, with iMac19,1 SMBIOS, with integrated graphics card enabled and not configured in the config.plist file and USB port map specific for this motherboard.
 

Clover and OpenCore

Today we have 2 projects to boot macOS on compatible PCs: Clover and OpenCore (OC onwards). Clover is a mature project, started in 2011 by SergeySlice, capable of booting macOS, Windows and Linux in UEFI mode; currently it seems to be a little behind OC, a recent project started in 2019 by vit9696 and Download-Fritz among others under the name Acidanthera.
Clover is easier to configure. New versions are released at the CloverHackyColor GitHub website. It has an installer package. I have used it on my Hackintosh for 5 years and so far it has worked excellent.
OC is more difficult to configure, the number of options is greater and has some new ones to learn. It is considered to be slightly faster than Clover and its ability to inject extensions or patches at boot is higher. With the added advantage that some of the solutions that have appeared recently come from OC developers so it seems that their future evolution is clearer than in the case of Clover.
I have switched from Clover to OC on my PC with Z390 Aorus Elite board, i3 9100 Coffee Lake, Radeon RX 580 graphics card and macOS Catalina. The learning curve has been steeper than in the case of Clover but, once properly configured, it works very well. The general impression is that some things require more work in OC but it also offers other possibilities that Clover lacks. Not forgetting that, to this day, OC allows to start the beta versions of macOS Big Sur but Clover is not yet capable of doing so.

Migrate from Clover to OC

The main differences are:

  • EFI-Clover-ACPI-patched folder is now EFI-OC-ACPI
  • EFI-Clover-drivers-UEFI folder is now EFI-OC-Drivers
  • EFI-Clover-kexts-Other folder is now EFI-OC-Kexts
  • There is no EFI-Clover-Themes folder but there is an EFI-OC-Resources folder containing folders and files required to display the OC menu with graphical interface
  • The main configuration file has the same name, config.plist, it is in EFI-OC-config.plist and its structure is different from Clover. Once this file has been built, there is a website of the OC developers (OpenCore Sanity Checker) where to check the integrity and suitability of config.plist, at least in terms of the parameters used by the OC's specific version used, at the present time it is 0.6.2 and the official site of the project is called Dortania.
    Mackie100 has a program designed to configure config.plist graphically much more comfortably than in text mode, it is called OpenCore Configurator, equivalent to Clover Configurator but specific for this platform, the most recent version is 2.15.2.0 suitable for 0.6.2, I have tested it and it works very well although on the net there are comments rejecting its use and encouraging the editing of config.plist in text mode. Among its many advantages is that of checking at startup if the config.plist file, which is XML type, is well formed, which can avoid errors with messages after BIOS such as "OC: Failed to parse configuration!" since, if this file is not well constructed, OC does not start.

 

My Clover and OC Files


OC's ACPI folder contains the same SSDT files as Clover's patched folder:

  • SSDT-AWAC.aml: for errors in system clock on Z390 chipsets among others. This file is equivalent to another called SSDT-RTC0.aml, SSDT-AWAC tries to activate the old macOS compatible RTC clock and SSDT-RTC0 creates a fake compatible RTC clock if it does not exist.
  • SSDT-PMC.aml: native NVRAM on systems that lack it, for example Z390 chipsets. It is equivalent to SSDT-NVRAM.aml, both have the same function.
  • SSDT-USBX.aml: to get USB3 ports working at its correct power.
  • SSDT-PLUG.aml: to configure the plugin-type=1 parameter on the first processor (power management on the CPU).
  • SSDT-USBW.aml: to get out of sleep with a single touch instead of 2 touches on USB mouse or keyboard.

 

Drivers folder differs from Clover's, it contains 3 files:

  • HfsPlus.efi: for volumes with HFS Plus file system. It can be replaced by VBoxHfs.efi but you cannot use both at the same time.
  • OpenCanopy.efi: allows you to have a graphical interface in OC menu.
  • OpenRuntime.efi: required to activate NVRAM among other functions. Mandatory.

 

Kexts folder also keeps same extensions as in Clover:

  • AppleALC.kext
  • IntelMausi.kext
  • Lilu.kext
  • USBMap.kext
  • USBWakeFixup.kext
  • VirtualSMC.kext
  • WhateverGreen.kext
  • XHCI-unsupported.kext.


USBMap.kext defines the mapping of USB ports for this board to not exceed the limit of 15 imposed by macOS. This extension only has an Info.plist file (Show package content-Contents) with the ports that macOS must load at startup and in the IOKitPersonalities section it must refer to the type of Mac that we have configured, for example if we have iMacPro1,1 in SMBIOS, in this section this model must also appear (in 2 different lines). By modifying this parameter we can use the same USB port map with different SMBIOS.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <!-- (CFBundle keys) -->
    <key>IOKitPersonalities</key>
    <dict>
        <key>iMac19,1-XHC</key>
        <dict>
            <!-- (ports list) -->
            </dict>
            <key>model</key>
            <string>iMac19,1</string>
        </dict>
    </dict>
    <key>OSBundleRequired</key>
    <string>Root</string>
</dict>
</plist>

USBWakeFixup.kext is complementary to SSDT-USBW.aml.

Resources folder contains files required for graphical interface of the OC menu. Font and Image folders are of interest. Image contains icons that OC will use to display different partitions and file systems in the boot menu. OpenCanopy.efi has a default theme but on the net there are sites with other icon themes. I like chris1111's Gold theme and it's the one included in my EFI folder (this and other themes are available at chris1111's github site).

gold.png.e7986a9c27c752959c666d67e349b3c0.png

 

Config.plist file differs from clover and requires specific training, these are the options I use. Remember that they are for version 0.6.2 of OC.

ACPI
SSDT files are added and Quirks are left blank.

Booter
These Quirks are marked:
AvoidRuntimeDefrag
Devirtualise Mmio
EnableSafeModeSlide
ProtectUefiServices
ProvideCustomSlide
RebuildAppleMemoryMap
SetupVirtualMap
SyncRuntimePermissions
.

DeviceProperties
Blank since I have SMBIOS configured as iMacPro1,1, integrated graphics card enabled in BIOS and RX 580 card as primary, this way I have H264 and HEVC video encoding-decoding.

Kernel

Kernel / Add

Kexts we have in kexts folder are added.

Kernel / Patch
3 patches are added: Hot plug SATA, Orange Desktop icons and TRIM for SSD.

kernel-patch.png.014973fbedb7d10b0f85133b0dc4db19.png

 

Kernel / Scheme
FuzzyMatch selected. KernelArch and KernelCache in Auto.

Kernel / Quirks
These Quirks are marked:
AppleCpuPmCfgLock
AppleXcpmCfgLock
DisableLinkeditJettison
DisableIoMapper
DummyPowerManagement
PanicNoKextDump

PowerTimeoutKernelPanic.

Misc
Boot / Debug / Security tabs as in the pics.

misc-boot.png.5f327690c68de5b6bda8f36ecd044609.png

misc-debug.png.77060c624ad71b082229b5661c427ed3.png

misc-security.png.e5ac21e7af93837785c69b525c8ab995.png

 

NVRAM
OpenCore usually creates the required entries for this section. In case it is not, configure it as in the pics. There are 3 sections: Add, Delete and LegacySchema.

Note: csr-active-config = 67000000 equals SIP disabled. If you want to enable SIP, it must be csr-active-config = 00000000.

nvram-add1.png.d7ac790e12f527d706e5e2b0158caba2.png

nvram-add2.png.9f48298e13cdafa95b61b030c8a9359e.png

nvram-add3.png.4ac34ae7814c09588765042d69ed900d.png

nvram-delete1.png.bbedf79e18d64785e77aac98e764decc.png

nvram-delete2.png.7148e87337b7a831669f12a4fc985b1b.png

nvram-delete3.png.8121817a512277187608c877a68c6a16.png

nvram-legacyschema1.png.fc8001cfdeafc92765239ad10da09c13.png

nvram-legacyschema2.png.9ea4dc58d0a3e982ff6720147f427434.png

 

PlatformInfo
Here you configure SMBIOS parameters. I choose iMac19,1. Check the "Add this section to config.plist" box. At the bottom, check all boxes (Automatic, UpdateDataHub, UpdateNVRAM, UpdateSMBIOS) and in UpdateSMBIOSMode select Create.

UEFI
It has 7 tabs (APFS, Audio, Drivers, Input, Output, ProtocolOverrides and ReservedMemory) that are configured as in the images (OCQuirks section included).

Note: EnableJumpstart and JumpstartHotPlug must be selected in order to boot from the recovery partition.

uefi-apfs.png.58604f064a22f76c3022fde775d0dfc8.png

uefi-audio.png.e907ecf7b7b98b2f6d2d000c88689161.png

uefi-drivers.png.6aca7c8c0838acda16364e89a0b20188.png

uefi-input.png.c41eed68d249cc871885d8e2e9e17a02.png

uefi-output.png.30d57f3ec07761d4af6bc597f2a0d7b7.png

uefi-protocoloverrides.png.1d5e25b45875257d27526aeca1f49ff5.png

uefi-reservedmemory.png.8f9f0337c7049b87f47427b035b4d87f.png

uefi-quirks.png.4744f06edf12c4355af6dccf49af26e4.png

nvram-bootargs.png

 

EFI folder attached.

 

EFI-0.6.2.zip

Edited by miliuco
×
×
  • Create New...