• Become a Premium Member for $25/year with no ads to improve your community experience.

ASUS PRIME Z370-A I Intel Core i7-8086K I 16GB RAM I Intel UHD 630 I OpenCore

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
8,025
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
13.x
Bootloader
  1. OpenCore (UEFI)
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
ASUS PRIME Z370-A I Intel Core i7-8086K I 16GB RAM I Intel UHD 630 I OpenCore

Overview


ASUS PRIME Z370-A Guide featuring Intel Core i7-8086K and Intel UHD 630 IGPU using OpenCore. This guide can be used as a reference for any 300 Motherboard chipset with very few changes.


Components


GIGABYTE Z370 AORUS Gaming 3

Already Owned

Sapphire AMD RX 580 8GB

ADATA - 250GB PCIe NVMe - M.2 Internal SSD (MZ-V6E250BW)

LG 32" Full HD IPS Monitor with HDMI, and Display Port (LG 22MP58VQ-P)

Dell KM636 Wireless Keyboard & Mouse Combo



Comments


The Build
As the new 500 series Motherboard are out, with Thunderbolt 4 so i decided to test Thunderbolt 4. The idea of this build is to use Built-In Thunderbolt. The idea of this build is compact, paired with an i9 10900F running @ 2.9GHz stock speed, having a AMD RX 5700XT 8GB from Sapphire, good power supply with 600W, normal power consumption and a solid performance packed in ITX Build.

Already have a build with MSI Z490I UNIFY and same amount of PCIe slots were needed so the ultimate choice was Z590I UNIFY. It's an ITX motherboard offering support for 10th and 11th Gen. CPUs along with the Thunderbolt 4 support. The motherboard offers built-in Type-C Display. A solid audio codec (Realtek ALC4080), 2.5Gb/s LAN, PCIe 4.0 support for faster data transfer rate. Along with all these, the motherboard supports various features.

Summary


FeaturesStatus
GraphicsYES
Built-in AudioYES
DP/HDMIYES
DP/HDMI AudioYES
EthernetYES
WiFi/BTYES
AirDropYES
HandoffYES
Power ManagementYES
App StoreYES
iMessageYES
FaceTimeYES
iCloudYES
USB 2.0, 3.0, 3.1 and USB Type-C PortsYES

Not working

Everything works like a charm.

Bootable Media Creation


To create Bootable USB for macOS Big Sur, follow the steps below.

1. Download macOS Big Sur from App Store.
2. Plug USB to your system.
3. Open Disk Utility and erase the USB Flash Drive with following parameters
4. Close Disk Utility.
5. Open Terminal and type:
Code:
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/USB
6. Enter your password
7. Press (Y) to confirm and then press enter key and it will start to erase the disk and will create macOS Bootable USB.

Once the process completes, close the terminal. The USB Flash Drive will be renamed as Install macOS Big Sur

Note :
  • At this point, the bootable USB can be only used to boot Mac only. In order to boot the computer using the USB, follow the steps below.
Preparing OpenCore Bootloader


To prepare OpenCore boot loader, you need to download OpenCore.
Download the Release folder followed by the release version.
When extracting, you'll get 4 folders which has been listed below.

DirectoriesDescription
DocsContains documentation, change log, a sample config.plist, and ACPI Samples for OpenCore.
IA32Contains OpenCore EFI, 32-bit OpenCore Boot Loader.
UtilitiesContains several utilities.
X64Contains OpenCore EFI, 64-bit OpenCore Boot Loader.

1. Copy X64 to your working directory and follow the steps below

Adding Required SSDTs
SSDTs are mandatory which allows several important fixes and is required to boot the system.

SSDT NameNotes
SSDT-EC-USBX
  • This SSDT fixes EC and USB Power.
  • This SSDT is required for proper USB Power.
SSDT-PLUG
  • This SSDT enables Power Management function.
  • This SSDT is required for a proper CPU and GPU Power Management.

2. From the Docs/Acpi Samples/Binaries directory, copy the above SSDTs to EFI/OC/ACPI.

Adding Required Drivers
Drivers are mandatory which allows several important function and is required to boot the system.

Driver NameRequiredNotes
OpenRuntime.efiYES
  • Runtime driver including several other drivers merged such as ApfsDriverLoader.
  • OpenRuntime.efi is a replacement for AptioMemoryFix.efi driver.
OpenHfsPlus.efiYES
  • Provides reading of HFS+ Volumes/drives in OpenCore Boot Picker.
OpenCanopy.efiOptional
  • Provides GUI functionality for OpenCore Boot screen.
  • This driver is required if you need GUI or theme for OpenCore.
AudioDxe.efiOptional
  • Provides Boot Chime support.
  • Only required if you want to use Boot Chime


3. From the EFI/OC directory, just keep the above drivers and delete rest of the drivers.

Notes :
  • All the drivers can be found at: X64/EFI/OC/Drivers

Adding Required Kexts
In order to boot into the installation, you need to add the necessary kexts. Follow the steps below to place the necessary kexts.

Kext NameRequiredNotes
LiluYES
  • Provides arbitrary patching.
VirtualSMCYES
  • Emulates Apple hardware. VirtualSMC is a successor of FakeSMC.
  • This kext requires "Lilu.kext" to function.
WhateverGreenYES
  • Provides GPU patching on macOS.
  • This kext requires "Lilu.kext" to function.
AppleALCYES
  • Provides Audio support on macOS.
  • This kext requires "Lilu.kext" to function.
NVMeFixYES
  • Provides NVMe Power Management.
  • This kext requires "Lilu.kext" to function.
USBInjectAllYES
  • Enables USB ports for mapping USB ports further.
  • It's advised to map the USB ports during the post-install for a better USB speed, improved sleep/wake and hotplug.
XHCI-unsupportedYES
  • Enables Unsupported USB ports.
AtherosE200EthernetYES
  • Provides support for Atheros Ethernet Controller.


1. Download the above kexts.
2. Extract the kexts from the RELEASE folder.
3. Copy the kexts to: /EFI/OC/Kexts

Notes
:
  • Do not download the project files. The pre-built binaries/downloads are available in the README.md section. Make sure you read it carefully.
  • Download the latest version for better support.
  • Use the kext from RELEASE folder and RELEASE.zip file.
  • Do not place unnecessary kexts here. It might prevent booting the installer.
  • Only use basic kexts which is required to boot off the installer. You can install the rest required kexts at the time of post-installation.
  • The VirtualSMC package includes Battery and Sensors plugins (SMCBatteryManager.kext, SMCDellSensors.kext, SMCLightSensor.kext, SMCProcessor.kext, and SMCSuperIO.kext). You do not need these kexts for booting the installer.

Creating OpenCore config.plist

To create config.plist, follow the steps below.
Copy sample.plist from Docs to your working directory and rename it to config.plist. The only changes to the config.plist has been described below. The rest will remain completely untouched.

ACPI>Add


This section is for adding the DSDT and SSDT files for your system. The following changes are needed.

SSDT NameNotes
SSDT-EC-USBX
  • This SSDT fixes EC and USB Power.
  • This SSDT is required for proper USB Power.
SSDT-PLUG
  • This SSDT enables Power Management function.
  • This SSDT is required for a proper CPU and GPU Power Management.

ACPI>Patch


This section is used for device renames such as USB, Graphics and Audio. The following changes are needed.

Table Signature*FindReplaceCommentEnabledNotes
DSDT5045475047465830Rename PEGP to GFX0 (Graphics)YES
  • Renames PEGP to GFX0 for a better power management.
  • This rename is required for implementing discrete GPU Power Management.
DSDT48454349494D4549Rename HECI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4D45495F494D4549Rename MEI to IMEI (PAVP)*YES
  • Renames MEI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.

Booter>Quirks


This section allows to apply certain Booter quirks. The following changes are needed.

QuirksValueNotes
AvoidRunTimeDefragYES
  • Fixes certain UEFI runtime services such as date time, NVRAM, power control, etc.
DevirtualiseMmioYES
  • Remove runtime attribute from select MMIO regions.
  • This option reduces stolen memory footprint from the memory map by removing runtime bit for known memory regions.
EnableSafeModeSlideYES
  • Patch bootloader to have KASLR enabled in safe mode.
  • This quirk requires ProvideCustomSlide to be enabled.
EnableWriteUnprotectorYES
  • Allows write access to UEFI runtime services code.
ProvideCustomSlideYES
  • Provide custom KASLR slide on low memory.
  • This option forces macOS to use a pseudo random value among the available ones.
RebuildAppleMemoryMapYES
  • Generates Memory Map which is compatible with macOS.
SetupVirtualMapYES
  • Setup virtual memory at SetVirtualAddresses.
  • Fixes several virtual address issues and tends to fix early Kernel Panics.
SyncRuntimePermissionsYES
  • Update memory permissions for runtime environment.

Note:
  • The values which have been not discussed above, that will remain disabled.

Kernel>Add


This section is for adding and blocking kexts. This also defines the order of the kexts and the architecture of each kext. The following changes are needed.

ArchBundlePath*ExecutablePathPlistPathEnabledNotes
AnyLilu.kext**Contents/MacOS/LiluContents/Info.plistYES
  • Provides arbitrary patching.
AnyVirtualSMC.kext**Contents/MacOS/VirtualSMCContents/Info.plistYES
  • Emulates Apple hardware.
  • VirtualSMC is a successor of FakeSMC.
  • This kext requires Lilu.kext to function.
AnyWhateverGreen.kext**Contents/MacOS/WhateverGreenContents/Info.plistYES
  • Provides GPU patching on macOS.
  • This kext requires Lilu.kext to function.
AnyAppleALC.kext**Contents/MacOS/AppleALCContents/Info.plistYES
  • Enables onboard/built-in Audio.
  • This kext requires Lilu.kext to function.
AnyUSBInjectAll.kextContents/MacOS/USBInjectAllContents/Info.plistYES
  • Enables USB ports.
  • It's advised to map the USB ports during the post-install for a better USB speed, improved and sleep/wake.
AnyXHCI-unsupported.kextContents/Info.plistYES
  • Enables Unsupported USB ports.
AnyAtherosE2200Ethernet.kextContents/MacOS/AtherosE2200EthernetContents/Info.plistYES
  • Required for Atheros Killer E2500 Onboard Ethernet Chip

Notes:
  • All the plugins must load after loading it's dependencies otherwise the kext will no longer function even when loaded in OS X/macOS.
  • The mandatory kexts must be loaded in sorted order as shown in the above table.
  • *Indicates BundlePath i.e. Name of the Kext
  • **Indicates mandatory kexts.
  • All the added kexts must exists in the EFI/OC/Kexts directory.
  • The options which have been not discussed above, that will remain untouched.

Kernel>Scheme
This section allows settings related to Kernel. The following changes are needed.

OptionsValueNotes
FuzzyMatchYES
  • Enables checksum ignore with kernel cache instead of using latest cache available.
  • This setting allows matching the latest kernel cache with a suitable architecture when the kernel cache without suffix is unavailable, improving macOS 10.6 boot performance on several platforms.
KernelArchAuto
  • Determines Kernel Architecture.
KernelCacheAuto
  • Determines Kernel Cache.

Kernel>Quirks
This section allows to apply certain Kernel quirks. It provides settings related to Kernel and several other options related to BIOS/UEFI and USB ports. The following changes are needed.

QuirksValueNotes
AppleCpuPmCfgLockYES
  • Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in AppleIntelCPUPowerManage- ment.kext, commonly causing early kernel panic, when it is locked from writing.
  • Enable this quirk if you cannot disable CFG-Lock in BIOS/UEFI.
AppleXcpmCfgLockYES
  • Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in XNU kernel, commonly causing early kernel panic, when it is locked from writing (XCPM power management).
  • Enable this quirk if you cannot disable CFG-Lock in BIOS/UEFI.
DisableIoMapperYES
  • Disables IOMapper support in XNU (VT-d), which may conflict with the firmware implementation.
  • This option is a preferred alternative to deleting DMAR ACPI table and disabling VT-d in firmware preferences, which does not break VT-d support in other systems in case they need it.
  • Enable this quirk if you cannot disable VT-d in BIOS/UEFI.
PanicKNoextDumpYES
  • Prevent kernel from printing kext dump in the panic log preventing from observing panic details.
PowerTimeoutKernelPanicYES
  • Disables kernel panic on setPowerState timeout.
  • Fixes kernel panics related to power changes with Apple drivers in macOS Catalina, most notably with digital audio.
XhciPortLimitYES
  • Enables 15 port limit patch.
  • This quirk is a temporary solution and is advised to map your USB ports during post-installation.
DisableLinkeditJettisonYES
  • Disables __LINKEDIT jettison code.
  • Provides more reliable performance without keepsyms=1
  • This quirk is required for macOS Big Sur.

Note:
  • The values which have been not discussed above, that will remain disabled.

NVRAM>Add


This section is for adding NVRAM properties, boot args and configuring SIP. The following changes are needed.


UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • debug=0x100
  • keepsyms=1
  • alcid=11
STRING
  • Adds boot args which provides several functions.
-v
  • Enables verbose mode. Helpful to track the installation progress or when booting.
debug=0x100
  • This disables macOS's watchdog which helps prevents a reboot on a kernel panic.
keepsyms=1
  • This is a companion setting to debug=0x100 that tells the OS to also print the symbols on a kernel panic.
  • This can give some more helpful insight as to what's causing the panic itself.
alcid=11
  • Sets Layout ID = 11 for Onboard/Built-In Audio.
csr-active-config
  • 00000000
DATA
  • Defines SIP type.
00000000
  • Enables SIP completely. (0x0)
  • It's advised to configure SIP via recovery using "csrutil."
  • For more information on SIP, check the SIP disabling guide.
prev-lang:kbden-US:0STRING
  • Sets Keyboard language.



PlatformInfo


This section allows to set SMBIOS. It's an important section and has various impact on your system. The following changes are needed.

Suggested SMBIOS

SMBIOSCPU
iMac 19,2Intel Coffee Lake for i5

Using OpenCore Configurator, generate a SMBIOS under PlatformInfo section and configure the options as outlined below.

Platform Info>DatHub - Generic - PlatformNVRAM

DataHub


OptionValueNotes
Add this section in config.plistYESAdds DataHub field

Generic

OptionsValueNotes
Add this section in config.plistYESAdds Generic field
from SMBIOSYES
ProcessorType0
  • Sets SMBIOS Processor Type.
  • This will override your actual CPU type.
  • It's recommended to set this option to "0" to detect the original CPU by macOS instead of using SMBIOS CPU Type.
SystemMemoryStatusAuto
  • Indicates whether system memory is upgradable in PlatformFeature. This controls the visibility of the Memory tab in About This Mac.
Auto
  • Use the original PlatformFeature value.
  • It's recommended to set this option to "Auto."
Upgradable
  • Explicitly unset PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
Soldered
  • explicitly set PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
SpoofVendorYESSets SMBIOS vendor fields to Acidanthera

PlatformNVRAM

OptionValueNote
Add this section in config.plistYESAdds PlatformNVRAM field

For more information on Comet Lake config.plist, check the post linked below.

SMBIOS

OptionValueNote
Add this section in config.plistYESAdd SMBIOS field.


Installing OpenCore EFI


Now, as the EFI is completely prepared, it's time for the installation of OpenCore on the Bootable USB Flash Drive.

1. Mount the EFI partition of your Bootable USB Flash Drive.
2. Copy the EFI from your working directory to EFI partition of your Bootable USB Flash Drive.

Now you’ve successfully installed OpenCore, the required drivers, kexts and config.plist and the USB Flash drive is ready to boot off your computer.

UEFI Settings


The next step is to configure the BIOS. To access your BIOS/UEFI, press and hold Delete key on your Keyboard and then set the following.
  • Set Optimized Defaults.
  • Set X.M.P. Memory Profile to Profile 1.
  • Set Fast Boot to Disabled.
  • Set Windows 8/10 Features to Other OS.
  • Set Initial Display Output to IGFX.
  • Set Intel Platform Trust Technology (PTT) to Disabled.
  • Set Network Stack to Disabled.
  • Set XHCI Hand-Off to Enabled.
  • Set SATA Mode to AHCI.
  • Set VT-d option to Disabled.
  • Set Internal Graphics to Auto.
  • Save & Exit Setup.

Installation


The installation step is simple.
Plug your Bootable USB Flash Drive to the target system.
Turn on your system.
3. Boot to Boot Menu using F12
4. Select your USB Flash Drive with the UEFI prefix and press enter to boot.
5. When at OpenCore menu, select ResetNVRAM and boot from it.
6. Repeat step no. 5.
7. When at OpenCore menu, boot using Install macOS Big Sur. It will take couple of minutes to boot into installer screen. Once you reach the installer, select your preferred language and continue.
8. On top, click on Utilities and then select Disk Utility.
9. When at Disk Utility, click on View and select Show all Devices.
10. Select your target SSD. Do not select the partition
11. Click on Erase button and erase the drive with following parameters.

NameMacintosh HD
FormatAPFS
SchemeGUID Partition Map

12. Close Disk Utility.
13. Select Install macOS and continue with the options.
14. Select Macintosh HD and click on Install.

This will take couple of minutes and will restart at "Less than a minute is remaining". Upon completion, the system will automatically restart. The System will restart to complete the installation. Here it ends the first phase of the installation.

After installation, boot it using USB, but this time select Macintosh HD.
The first boot maybe slower as the caches are not build yet. Once the caches are built, it will boot normally.
When you're at the welcome screen, continue with the basics options such as Keyboard setup, Network, Computer Account and Privacy settings.

Now the installation is complete, but the drive isn't bootable yet. You need to complete the Post Installation

Post Installation


Now, configuring the Post Installation. There is not much to do for the postinstallation except configuring Thunderbolt 4 Hotplug and the boot from system drive. Everything rest is fully functional.

Boot from System Drive
This is one of the most important part as it allows to boot it using the system drive without any need of installation USB.

1. Mount the EFI Partition of your System drive and the Bootable USB. Both the EFI partition of your Hard Drive and USB Flash Drive will be mounted on your Desktop.
2. Assuming that you’ve mounted your EFI Partition, continue the following.
3. Open your EFI Partition of your Hard Drive.
4. Select EFI folder and then move to Trash.
5. Open your EFI Partition of your macOS Bootable USB.
6. Copy the EFI folder from your macOS Bootable USB to your EFI Partition of your Hard Drive.

By using this method, you’ll be easily able to install OpenCore Boot loader on your System Drive.

Restart your System
After completing the post installation, restart your System.
 

Forum statistics

Threads
1,839
Messages
17,150
Members
26,385
Latest member
AmbientSkai