1coolappdad
New member
- Joined
- Jun 2, 2024
- Messages
- 20
- Motherboard
- Asus
- CPU
- i9
- Graphics
- Radeon RX 5700 XT
- OS X/macOS
- 11.0.x
- Bootloader
- OpenCore (UEFI)
- Mac
- Mac Pro
- Mobile Phone
- Android
- iOS
Hello
After following this guide, step by step, was finally able to create the opencore boot and was able to boot to USB, however, after selecting install it reads a message that OS can not be installed on this system. My specs are the exact 100% same as yours just not sure what i am missing. Shall i share config.plist?
Hello,ASUS PRIME Z690M-PLUS D4 - i9 12900KF - 128GB RAM - AMD RX 5700XT - Thunderbolt HotPlug - OpenCore
Overview
ASUS PRIME Z690M-PLUS D4 Build featuring Latest Intel Core i9 12900KF, Thunderbolt 3 and AMD RX 5700 XT using OpenCore. This Build is especially for Music Production offering multiple Thunderbolt ports supporting daisy chain, Cinema Display for a robust workflow. This guide can be used as a reference for any 600 series Motherboard with very few changes.
Components
Component Model Number Motherboard ASUS PRIME Z690M-PLUS D4 Processor Intel Core i9-12900KF RAM Patriot Viper Steel 3200MHz 1288GB DDR4 RAM (4x32GB) Graphics PowerColor AMD RX 5700XT 8GB SSD Team Force 4TB PCIe NVMe SSD Audio Realtek ALC897 Display Ethernet Intel I219-V Wireless/Bluetooth Fenvi BCM94360CD Thunderbolt GIGABYTE GC-Titan Ridge v2.0
Already Owned
Fractal Design Define 7XL (CC-9011078-WW)
LG 32" Full HD IPS Monitor with HDMI, and Display Port (LG 22MP58VQ-P)
Antec HCG Gold 750W Power Supply
Dell KM636 Wireless Keyboard & Mouse Combo
Comments
The Build
As the new 600 series Motherboard is out, I decided to test it and check the performance on a Hack. The idea of this build is to utilize Thunderbolt and use it for production.
Due to the easy availability of Z690 and the number of NVMe slots that were needed, the ultimate choice was ASUS Z690M-PLUS D4. It's a mATX motherboard offering support for 12th Gen. CPUs. PCIe 4.0 supports a faster data transfer rate. Along with all these, the motherboard supports 3x PCIe 4.0 NVMe and built-in WiFi.
On this Motherboard, the Audio Codec is not so great, offering ALC897. In addition, this Motherboard only offers 4xSATA 6.0Gb/s ports. An addition of 2.5Gb/s LAN would make it awesome but considering the budget, it's still a good go as these two were not the needs for this build.
Summary
Features Status Graphics YES Built-in Audio YES DP/HDMI YES DP/HDMI Audio YES Ethernet YES WiFi/BT YES AirDrop YES Handoff YES Thunderbolt 3 YES, with full HotPlug Thunderbolt Dock YES, with full HotPlug eGPU YES, with full HotPlug Power Management YES App Store YES iMessage YES FaceTime YES iCloud YES USB 2.0, 3.0, 3.1 and USB Type-C Ports YES
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:
6. Enter your passwordCode:sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/USB
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 :
Preparing OpenCore Bootloader
- 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.
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.
Directories Description Docs Contains documentation, change log, a sample config.plist, and ACPI Samples for OpenCore. IA32 Contains OpenCore EFI, 32-bit OpenCore Boot Loader. Utilities Contains several utilities. X64 Contains 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 Name Notes SSDT-EC-USBX
- This SSDT fixes EC and USB Power.
- This SSDT is required for proper USB Power.
SSDT-RTC0
- This SSDT serves series RTC patch.
- This SSDT is required for RTC compatibility.
SSDT-PMC
- This SSDT is required for NVRAM support.
- This SSDT is required for all 300 series motherboards except Z370.
- This SSDT fixes NVRAM and can fix sleep/wake, restart/shut down issues.
- This SSDT can also fix black screen after macOS finishes loading. This applies to IGPU, NVIDIA and AMD.
SSDT-PLUG-ALT
- This SSDT enables Power Management function for Alder Lake CPUs.
- This SSDT is required for 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 Name Required Notes OpenRuntime.efi YES
- Runtime driver including several other drivers merged such as ApfsDriverLoader.
- OpenRuntime.efi is a replacement for AptioMemoryFix.efi driver.
OpenHfsPlus.efi YES
- Provides reading of HFS+ Volumes/drives in OpenCore Boot Picker.
OpenCanopy.efi Optional
- Provides GUI functionality for OpenCore Boot screen.
- This driver is required if you need GUI or theme for OpenCore.
AudioDxe.efi Optional
- Provides Boot Chime support.
- Only required if you want to use Boot Chime
2. 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 Name Required Notes Lilu YES
- Provides arbitrary patching.
VirtualSMC YES
- Emulates Apple hardware. VirtualSMC is a successor of FakeSMC.
- This kext requires "Lilu.kext" to function.
WhateverGreen YES
- Provides GPU patching on macOS.
- This kext requires "Lilu.kext" to function.
AppleALC YES
- Provides Audio support on macOS.
- This kext requires "Lilu.kext" to function.
NVMeFix YES
- Provides NVMe Power Management.
- This kext requires "Lilu.kext" to function.
USBInjectAll YES
- 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-unsupported YES
- Enables Unsupported USB ports.
IntelMausi YES
- Enables Intel Family onboard 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 Name Notes SSDT-RTC0
- This SSDT serves series RTC patch.
- This SSDT is required for RTC compatibility.
SSDT-EC-USBX
- This SSDT is required for proper USB Power.
- This SSDT fixes EC and USB Power.
SSDT-PMC
- This SSDT is required for NVRAM support.
- This SSDT is required for all 300 series motherboards except Z370.
- This SSDT fixes NVRAM and can fix sleep/wake, restart/shut down issues.
- This SSDT can also fix black screen after macOS finishes loading. This applies to IGPU, NVIDIA and AMD.
SSDT-PLUG-ALT
- This SSDT enables Power Management function for Alder Lake CPUs.
- 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* Find Replace Comment Enabled Notes DSDT 50454750 47465830 Rename PEGP to GFX0 (Graphics) YES
- Renames PEGP to GFX0 for a better power management.
- This rename is required for implementing discrete GPU Power Management.
DSDT 48454349 494D4549 Rename 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.
DSDT 4D45495F 494D4549 Rename 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.
DSDT 48444153 48444546 Rename 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.
Quirks Value Notes AvoidRunTimeDefrag YES
- Fixes certain UEFI runtime services such as date time, NVRAM, power control, etc.
- Apart from Apple and VMware, this quirk is required by rest of the firmwares.
- It's recommended to "enable" this quirk.
DevirtualiseMmio YES
- 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.
EnableSafeModeSlide YES
- Patch bootloader to have KASLR enabled in safe mode.
- This quirk requires ProvideCustomSlide to be enabled.
- This quirk can be helpful if you're unable to boot into safe mode.
ProvideCustomSlide YES
- Provide custom KASLR slide on low memory.
- This option forces macOS to use a pseudo random value among the available ones.
RebuildAppleMemoryMap YES
- Generates Memory Map which is compatible with macOS.
- Since several types of firmware come with incorrect memory protection tables, this quirk often comes paired with SyncRuntimePermissions.
SyncRuntimePermissions YES
- Update memory permissions for runtime environment.
- The need for this quirk is indicated by early boot failures. Only firmware released after 2017 is typically affected.
ProvideMaxSlide 0
- Provide maximum KASLR slide when higher ones are unavailable.
Note:
- The values which have been not discussed above will remain disabled.
DeviceProperties
This section is used for adding device properties. This includes PCI Devices information such as Graphics, Audio, WiFi, Ethernet and other controllers. No any changes are needed.
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.
Arch BundlePath* ExecutablePath PlistPath Enabled Notes Any Lilu.kext** Contents/MacOS/Lilu Contents/Info.plist YES
- Provides arbitrary patching.
Any VirtualSMC.kext** Contents/MacOS/VirtualSMC Contents/Info.plist YES
- Emulates Apple hardware.
- VirtualSMC is a successor of FakeSMC.
- This kext requires Lilu.kext to function.
Any WhateverGreen.kext** Contents/MacOS/WhateverGreen Contents/Info.plist YES
- Provides GPU patching on macOS.
- This kext requires Lilu.kext to function.
Any AppleALC.kext** Contents/MacOS/AppleALC Contents/Info.plist YES
- Enables onboard/built-in Audio.
- This kext requires Lilu.kext to function.
Any USBInjectAll.kext** Contents/MacOS/USBInjectAll Contents/Info.plist YES
- Enables USB ports.
- It's advised to map the USB ports during the post-install for a better USB speed, improved and sleep/wake.
Any XHCI-unsupported.kext** Contents/Info.plist YES
- Enables Unsupported USB ports.
Any IntelMausi.kext** Contents/Info.plist YES
- Enables Intel Family onboard Ethernet Controller.
Notes:
Kernel>Emulate
- 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.
This section allows to spoof your CPU ID if you're using an unsupported CPU such as Intel Pentium(s) and Celeron(s). As there is no support for Alder Lake yet, CPU spoofing is needed in order to boot the system. The following changes are needed.
CPU Cpuid1Data Cpuid1Mask Notes Intel Alder Lake 55060A00 00000000 00000000 00000000 FFFFFFFF 00000000 00000000 00000000
- Spoof as an Intel Comet Lake CPU
Kernel>Scheme
This section allows settings related to Kernel. The following changes are needed.
Options Value Notes FuzzyMatch YES
- 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.
KernelArch Auto
- Determines Kernel Architecture.
KernelCache Auto
- 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.
Quirks Value Notes AppleCpuPmCfgLock YES
- 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.
AppleXcpmCfgLock YES
- 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.
DisableIoMapper YES
- 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.
DisableLinkeditJettison YES
- Disables __LINKEDIT jettison code.
- Provides more reliable performance without keepsyms=1
- This quirk is required for macOS Big Sur.
PanicNoKextDump YES
- Prevent kernel from printing kext dump in the panic log preventing from observing panic details.
PowerTimeoutKernelPanic YES
- Disables kernel panic on setPowerState timeout.
- Fixes kernel panics related to power changes with Apple drivers in macOS Catalina, most notably with digital audio.
ProvideCurrentCpuInfo YES
- Fixes CPU Topology
- This quirk is required for Alder Lake CPUs.
XhciPortLimit YES
- Enables 15 port limit patch.
- This quirk is a temporary solution and is advised to map your USB ports during post-installation.
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.
UUID Key Value Type Notes 7C436110-AB2A-4BBB-A880-FE41995C9F82 boot-args
- -v
- alcid=1
- agdpmod=pikera
- debug=0x100
- keepsyms=1
STRING -v
- Adds boot args which provides several functions.
alcid=xx
- Enables verbose mode. Helpful to track the installation progress or when booting.
- Sets Layout ID = 1 for Onboard/Built-In Audio.
agdpmod=pikera
debug=0x100
- Fixes Black Screen at boot for NAVI GPUs.
- If you're using and AMD NAVI based GPU, you'll need to use this boot arg.
keepsyms=1
- This disables macOS's watchdog which helps prevents a reboot on a kernel panic.
- 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.
csr-active-config
- 00000000
DATA 00000000
- Defines SIP type.
- 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:kbd en-US:0 STRING
- 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
SMBIOS CPU iMacPro 1,1 Intel Alder Lake for i3 and i5 MacPro 7,1 Intel Alder Lake for i7 and i9
Using OpenCore Configurator, generate a SMBIOS under PlatformInfo section and configure the options as outlined below.
Platform Info>DatHub - Generic - PlatformNVRAM
DataHub
Option Value Notes Add this section in config.plist YES Adds DataHub field
Generic
Options Value Notes Add this section in config.plist YES Adds Generic field from SMBIOS YES ProcessorType 0
- 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.
SystemMemoryStatus Auto Auto
- Indicates whether system memory is upgradable in PlatformFeature. This controls the visibility of the Memory tab in About This Mac.
Upgradable
- Use the original PlatformFeature value.
- It's recommended to set this option to "Auto."
Soldered
- Explicitly unset PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
- explicitly set PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
SpoofVendor YES Sets SMBIOS vendor fields to Acidanthera
PlatformNVRAM
Option Value Note Add this section in config.plist YES Adds PlatformNVRAM field
For more information on Comet Lake config.plist, check the post linked below.
![]()
GUIDE - How to Create OpenCore Config.plist file for booting macOS on Intel Desktops
How to Create OpenCore Config.plist file for booting macOS on Intel Desktops An EliteMacx86 Exclusive Guide - This guide covers creation of config.plist for booting macOS on Intel Desktops for OpenCore as a bootloader. Overview The config.plist is a system configuration file for the...elitemacx86.com
SMBIOS
Option Value Note Add this section in config.plist YES Add 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 the 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.
Installing Thunderbolt Card
The next step is to install Thunderbolt Card.
PCIe Slot PCIe Device Slot 1 AMD RX 5700 XT Slot 2 None Slot 3 None Slot 4 1xGIGABYTE GC-Titan Ridge v2.0
Notes:
- The Titan Ridge Card will have the THB_C Cable jumper and USB 2.0 Header connected.
- The Titan Ridge card is flashed with NVM33 custom firmware.
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.
Settings Value SATA Emulation AHCI Network Boot Disabled Virtualization Technology Enabled Legacy Support Enabled Secure Boot Disabled Fast Boot Disabled
Once the UEFI is set up, Save & Exit Setup.
For Thunderbolt Settings, refer to the guide linked below.
![]()
GUIDE - How to Enable ThunderBolt on macOS
How to Enable ThunderBolt 2, Thunderbolt 3 and Thunderbolt 4 on maOS [Clover/OpenCore] An EliteMacx86 Exclusive Guide - This guide covers implementation of Thunderbolt 2, Thunderbolt 3 and Thunderbolt 4 on macOS using Clover and OpenCore. Overview This guide covers the implementation of...www.elitemacx86.com
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.
Name Macintosh HD Format APFS Scheme GUID 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 a 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 ends the first phase of the installation.
After installation, boot it using USB, but this time select Macintosh HD.
The first boot may be slower as the caches are not built 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 post-installation except configuring Thunderbolt 3 Hotplug and the boot from the system drive. Everything rest is fully functional.
Thunderbolt 3 Hotplug
As of now, the Thunderbolt already works with the exception of HotPlug. To implement the Hotplug, follow the steps below.
1. Open IOReg and find the Thunderbolt Node. For PCIe Slot #4, the address is PC00.RP21.PXSX
2. Grab the Thunderbolt Titan Ridge SSDT from 3. Adjust the address in the SSDT.
4. Save the SSDT.
For more depth information on Thunderbolt 3, refer to the guide linked below.
![]()
GUIDE - How to Enable Thunderbolt 3 Hotplug on macOS
How to Enable Thunderbolt 3 Hotplug on macOS [Clover/OpenCore] An EliteMacx86 Exclusive Guide - This guide covers the implementation of Thunderbolt™ 3 Hotplug on macOS for single and multiple Thunderbolt 3 Cards. Overview An EliteMacx86 Exclusive Guide - In our previous post, we covered a...elitemacx86.com
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 for installation USB. By using this method, you’ll be easily able to install the OpenCore Boot loader on your System Drive.
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.
7. Download the SSDT-DTPG.
8. Copy SSDT-DTPG and Thunderbolt SSDT to ESP/EFI/OC>ACPI
9. Open your config.plist and add the SSDT entries.
10. Save your config.plist
Restart your System
After completing the post-installation, restart your System
Benchmark
Hardware Encoding and Decoding
View attachment 3984
After following this guide, step by step, was finally able to create the opencore boot and was able to boot to USB, however, after selecting install it reads a message that OS can not be installed on this system. My specs are the exact 100% same as yours just not sure what i am missing. Shall i share config.plist?