EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,611
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS

How to Install macOS On PC Without Mac | Hackintosh | No Mac Required | Step By Step Guide​


Booting the OS X/macOS installers on a non-Apple computer can be challenging for new users. This guide is for those who wish to use OpenCore as a Bootloader and it covers a complete process to boot the OS X/macOS installer on your target Desktop or Laptop using the OpenCore bootloader. This guide supports both Intel and AMD Desktops and Intel Laptops with UEFI/Legacy boot mode. Of course, the hardware compatibility must be taken care of. Those who are not using OpenCore, can update their configuration for OpenCore and continue to use it. It is advised to create a configuration from scratch without the involvement of someone's else configuration and files.
  • If you're having a computer that is UEFI capable, follow the UEFI instructions.
  • If you're having a system that doesn't have UEFI capabilities, then follow the Legacy instructions.
OpenCore is almost always changing to support recent versions of macOS and newer computers. It is complex and more difficult to setup OpenCore when you are not familiar with all the components and a variety of options that can be used to configure the OpenCore for booting into macOS. The purpose of this guide is to show how to create a macOS Bootable USB and install OpenCore on it which can be used to install macOS on a target computer.

Requirements


Hardware Information
You should have at least the following information to match against the compatibility
  • Motherboard Chipset Series
  • CPU Model and Generation
  • GPU Model
  • Storage Devices and their configuration
  • Laptop/Desktop model if its branded/OEM
  • Ethernet chip Model
  • WiFi/BT Model
A Compatible Hardware
This guide requires compatible hardware to work. Even if you manage to install OS X/macOS, some features may work partially or may not even work. See the compatibility section for more information.

Storage Devices and Space
  • A Compatible HDD or SSD (NVMe/PCIe/2.5inch SSD) for installation.
  • At least 16GB of USB if you're going to use macOS to create the Bootable USB using Offline Method.
  • At least 2GB of USB if you're going to use macOS, Windows or Linux to create the Bootable USB using Online Method.
  • At least 30GB of space for OS X/macOS installation on the target Drive.
Internet Connection
An internet connection is required to download the files. If using Online Method for Installation, you'll also require a compatible working Ethernet or WiFi connection with a proper speed. USB based WiFi Dongles and USB to LAN Adapters may not work in this case. If you do not have a compatible Ethernet or WiFi Card, you can use HoRNDIS to tether your Android's Mobile Data.

Gathering System Details


Before you start, get to know about your hardware. Starting your journey without knowing your hardware will make your journey difficult with no chance of success. Also when seeking support on this forum, the hardware details should be present in your profile. Before asking for support, make sure your profile includes the hardware details.

Read here:

Compatibility Check

Once you have gathered the system details, the next is to perform a compatibility check against the hardware you have. This step is important as it will give you an exact idea of whether your system is compatible or not, what exact hardware is compatible, what hardware needs to be replaced with a compatible one, and whether you can proceed with the purpose of installing macOS or not. To check whether your hardware is compatible or not, simply match your hardware from the compatibility list given below.

If you determine that your hardware is compatible, you can proceed to the next step. If not, you'll have to replace the hardware with a compatible one if you're willing to have a perfect setup.

CPU Compatibility

GPU Compatibility

Storage Compatibility

Network Compatibility

Thunderbolt Compatibility
 
Last edited:

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,611
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Creating macOS Bootable USB

If you determine that your hardware is compatible according to the above-provided compatibility lists, you can start by creating a Bootable USB for your target computer.

A macOS Bootable USB can be made either online or offline. Depending on your choice, select one from below

MethodNotes
Online
  • Online installers use a recovery image approx 700MB in size and once booted, the macOS is downloaded from Apple servers once installation starts.
  • Can be made in macOS/Windows/Linux
  • Requires a compatible Ethernet or WiFi to download the macOS during the installation process
Offline
  • Offline installers are full installers.
  • Can be made in macOS only

Now, depending on the Operating System you have, choose one of the below options to create the Bootable USB.


For macOS users


For users with macOS computers, there are two methods available which are discussed below.

Method #1: Using Full Installer (Offline Method)

STEP 1: Downloading macOS

There are two ways to download the macOS installer on a computer with macOS. Depending on the macOS version you want to download, follow the instructions given below

macOS High Sierra 10.13 and newer

The very first step os to download macadmin-scripts. To download macadmin-scripts, follow the steps below.

1. Visit macadmin-scripts on your Mac computer.
2. Click on the Code button and then select Download Zip.

Screen Shot 2022-06-07 at 8.22.40 PM.png


3. Extract the .zip file to your working directory.
4. Assuming the extracted folder is in your Download directory, type the following commands
5. Open Terminal and type
Code:
cd Downloads/macadmin-scripts-main

and then press enter key.

6. Type
Code:
sudo ./installinstallmacos.py

and then press enter key. When prompted for a password, enter your password. You'll get a list of available products for download.

Code:
Downloading https://swscan.apple.com/content/catalogs/others/index-11-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog...
Downloading http://swcdn.apple.com/content/downloads/20/55/001-51042-A_2EJTJOSUC2/rsvf13iphg5lvcqcysqcarv8cvddq8igek/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/20/55/001-51042-A_2EJTJOSUC2/rsvf13iphg5lvcqcysqcarv8cvddq8igek/001-51042.English.dist...
No server metadata for 002-23589
Downloading https://swdist.apple.com/content/downloads/05/24/002-23589-A_ZQQIIUQAXQ/zn8n836sojdlmlvqdu7n2k4gj8roqmcysu/002-23589.English.dist...
Downloading http://swcdn.apple.com/content/downloads/59/18/001-15219-A_EE9FN7UHJA/efuz3h0zlmx4qlinf4bxlguigo9jvhcr55/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/59/18/001-15219-A_EE9FN7UHJA/efuz3h0zlmx4qlinf4bxlguigo9jvhcr55/001-15219.English.dist...
Downloading http://swcdn.apple.com/content/downloads/34/54/041-88800-A_HLMBDM42FL/anrmoj880qkj0lbybqm0c3830p70nawjrv/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/34/54/041-88800-A_HLMBDM42FL/anrmoj880qkj0lbybqm0c3830p70nawjrv/041-88800.English.dist...
Downloading http://swcdn.apple.com/content/downloads/41/23/061-26578-A_FF0C6M87LS/ylvl0phx6uy3i444qt9p57n8wz0xnylmd9/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/41/23/061-26578-A_FF0C6M87LS/ylvl0phx6uy3i444qt9p57n8wz0xnylmd9/061-26578.English.dist...
No server metadata for 071-78704
Downloading https://swdist.apple.com/content/downloads/43/16/071-78704-A_U5B3K7DQY9/cj9xbdobsdoe67yq9e1w2x0cafwjk8ofkr/071-78704.English.dist...
Downloading http://swcdn.apple.com/content/downloads/61/24/001-57224/0o1xetys5n505gocjsil5qo0p4kg939elb/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/61/24/001-57224/0o1xetys5n505gocjsil5qo0p4kg939elb/001-57224.English.dist...
No server metadata for 002-79225
Downloading https://swdist.apple.com/content/downloads/49/07/002-79225-A_68Z2X28AVV/jfmg28xxxarr9av7ry0iefvst7cyl0qdhb/002-79225.English.dist...
Downloading http://swcdn.apple.com/content/downloads/23/45/001-36735-A_IRCLJ5YYKF/z8vka6xfykydycui5b7atpc52btxmbffdn/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/23/45/001-36735-A_IRCLJ5YYKF/z8vka6xfykydycui5b7atpc52btxmbffdn/001-36735.English.dist...
Downloading http://swcdn.apple.com/content/downloads/08/44/041-90855-A_452WLVQACP/mzfvoi59bljh3w4w4lvwenfk0r1a2f7212/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/08/44/041-90855-A_452WLVQACP/mzfvoi59bljh3w4w4lvwenfk0r1a2f7212/041-90855.English.dist...
No server metadata for 012-22320
Downloading https://swdist.apple.com/content/downloads/44/35/012-22320-A_AOID136T4U/g33x1akyjzjpkpe7z0xn7nguoakljpe3a8/012-22320.English.dist...
Downloading http://swcdn.apple.com/content/downloads/06/50/041-91758-A_M8T44LH2AW/b5r4og05fhbgatve4agwy4kgkzv07mdid9/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/06/50/041-91758-A_M8T44LH2AW/b5r4og05fhbgatve4agwy4kgkzv07mdid9/041-91758.English.dist...
Downloading http://swcdn.apple.com/content/downloads/01/28/061-86291-A_JPEIWIOZES/enpozvvbmj3mj2dhulhevlt8b429qd5kw0/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/01/28/061-86291-A_JPEIWIOZES/enpozvvbmj3mj2dhulhevlt8b429qd5kw0/061-86291.English.dist...
No server metadata for 012-06873
Downloading https://swdist.apple.com/content/downloads/16/08/012-06873-A_636SHHRD4L/528ojpmw00mulgfjsz9k50modkj31a9v0p/012-06873.English.dist...
Downloading http://swcdn.apple.com/content/downloads/26/37/001-68446/r1dbqtmf3mtpikjnd04cq31p4jk91dceh8/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/26/37/001-68446/r1dbqtmf3mtpikjnd04cq31p4jk91dceh8/001-68446.English.dist...
Downloading http://swcdn.apple.com/content/downloads/10/06/001-36801-A_9MBEQ97Z9M/672a1q4u8978ize3s15ygivp2dqwmk10qb/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/10/06/001-36801-A_9MBEQ97Z9M/672a1q4u8978ize3s15ygivp2dqwmk10qb/001-36801.English.dist...
Downloading http://swcdn.apple.com/content/downloads/17/32/061-26589-A_8GJTCGY9PC/25fhcu905eta7wau7aoafu8rvdm7k1j4el/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/17/32/061-26589-A_8GJTCGY9PC/25fhcu905eta7wau7aoafu8rvdm7k1j4el/061-26589.English.dist...
Downloading http://swcdn.apple.com/content/downloads/37/41/001-04366/a6boefh8b6bee4k2x6v5lwyfjr7od2ica3/InstallAssistantAuto.smd...
Downloading https://swdist.apple.com/content/downloads/37/41/001-04366/a6boefh8b6bee4k2x6v5lwyfjr7od2ica3/001-04366.English.dist...
 #      ProductID    Version    Build   Post Date  Title
 1      001-15219    10.15.5  19F2200  2020-06-15  macOS Catalina
 2      001-68446    10.15.7    19H15  2020-11-11  macOS Catalina
 3      012-22320     11.6.7   20G630  2022-06-16  macOS Big Sur
 4      001-36801    10.15.6  19G2021  2020-08-12  macOS Catalina
 5      001-04366    10.15.4  19E2269  2020-05-04  macOS Catalina
 6      002-23589     11.6.1   20G224  2021-12-01  macOS Big Sur
 7      061-86291    10.15.3  19D2064  2020-03-23  macOS Catalina
 8      041-91758    10.13.6    17G66  2019-10-19  macOS High Sierra
 9      041-88800    10.14.4  18E2034  2019-10-23  macOS Mojave
10      061-26589    10.14.6   18G103  2019-10-14  macOS Mojave
11      001-51042    10.15.7     19H2  2020-09-24  macOS Catalina
12      001-36735    10.15.6  19G2006  2020-08-06  macOS Catalina
13      002-79225     12.3.1   21E258  2022-04-11  macOS Monterey
14      001-57224    10.15.7     19H4  2020-10-27  macOS Catalina
15      041-90855    10.13.5   17F66a  2019-10-23  Install macOS High Sierra Beta
16      061-26578    10.14.5  18F2059  2019-10-14  macOS Mojave
17      071-78704     11.5.2    20G95  2021-08-18  macOS Big Sur
18      012-06873       12.4    21F79  2022-05-24  macOS Monterey

Choose a product to download (1-18):

7. Depending on the macOS version you want to install, Type the number left to the macOS version and press enter key. The script will start downloading the files. Once the download is completed, you'll see the following screen.

Code:
Downloading http://swcdn.apple.com/content/downloads/16/08/012-06873-A_636SHHRD4L/528ojpmw00mulgfjsz9k50modkj31a9v0p/Info.plist...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  5174  100  5174    0     0  15262      0 --:--:-- --:--:-- --:--:-- 15307
Downloading http://swcdn.apple.com/content/downloads/16/08/012-06873-A_636SHHRD4L/528ojpmw00mulgfjsz9k50modkj31a9v0p/InstallInfo.plist...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   188  100   188    0     0    652      0 --:--:-- --:--:-- --:--:--   652
Downloading http://swcdn.apple.com/content/downloads/16/08/012-06873-A_636SHHRD4L/528ojpmw00mulgfjsz9k50modkj31a9v0p/InstallAssistant.pkg...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 11.2G  100 11.2G    0     0  30.7M      0  0:06:15  0:06:15 --:--:-- 34.8M
Downloading https://swdist.apple.com/content/downloads/16/08/012-06873-A_636SHHRD4L/528ojpmw00mulgfjsz9k50modkj31a9v0p/InstallAssistant.pkm...
Downloading http://swcdn.apple.com/content/downloads/16/08/012-06873-A_636SHHRD4L/528ojpmw00mulgfjsz9k50modkj31a9v0p/BuildManifest.plist...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 2024k  100 2024k    0     0  2164k      0 --:--:-- --:--:-- --:--:-- 2164k
Downloading http://swcdn.apple.com/content/downloads/16/08/012-06873-A_636SHHRD4L/528ojpmw00mulgfjsz9k50modkj31a9v0p/MajorOSInfo.pkg...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1260k  100 1260k    0     0  1610k      0 --:--:-- --:--:-- --:--:-- 1607k
Downloading https://swdist.apple.com/content/downloads/16/08/012-06873-A_636SHHRD4L/528ojpmw00mulgfjsz9k50modkj31a9v0p/MajorOSInfo.pkm...
Downloading http://swcdn.apple.com/content/downloads/16/08/012-06873-A_636SHHRD4L/528ojpmw00mulgfjsz9k50modkj31a9v0p/UpdateBrain.zip...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 3111k  100 3111k    0     0  2985k      0  0:00:01  0:00:01 --:--:-- 2985k
Making empty sparseimage...
installer: Package name is macOS Monterey
installer: Installing at base path /private/tmp/dmg.9GAsKe
installer: The install was successful.
*********************************************************
*** Working around a very dumb Apple bug in a package ***
*** postinstall script that fails to correctly target ***
*** the Install macOS.app when installed to a volume  ***
*** other than the current boot volume.               ***
***       Please file feedback with Apple!            ***
*********************************************************
Product downloaded and installed to /Users/elitemacx86/Install_macOS_12.4-21F79.sparseimage
Making read-only compressed disk image containing Install macOS Monterey.app...
........................................................................
created: /Users/elitemacx86/Install_macOS_12.4-21F79.dmg
Disk image created at: ./Install_macOS_12.4-21F79.dmg
elitemacx86@Elites-iMac-Pro ~ %

8. Quit Terminal
9. You'll find the macOS Installer in a DMG file in /Users/yourusername directory
10. Mount the dmg file by double clicking it.
11. Once mounted, move the Install macOS.app to the /Applications folder of your Mac.

STEP 2: Preparing Installer
Once you have the macOS Installer, you can prepare the installer. To prepare the installer, we'll use createinstallmedia command.

1. Insert your USB Flash Drive
2. Open Disk Utility. The Disk Utility is located at /Applications/Utilities/Disk Utility
3. Select your USB Flash Drive in the left pane and click on Erase button, at the top and a popup will appear.
4. Under Name type USB
5. Under Format select Mac OS X Extended (Journaled)
6. Under Scheme select GUID Partition Map and click on Erase.
7. When done, click on Done.
8. Launch terminal, located at /Applications/Utilities/Terminal.
9. Depending on the OS X/macOS version you want to install, Copy and paste the following sudo command in the Terminal.

Code:
macOS Monterey:
sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/USB

macOS Big Sur:
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/USB

macOS Catalina:
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB

macOS Mojave:
sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/USB

macOS High Sierra:
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB

macOS Sierra:
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ Sierra.app

OS X El Capitan:
sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app

OX X Yosemite:
sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ OS\ X\ Yosemite.app

OS X Mavericks:
sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ OS\ X\ Mavericks.app --nointeraction

10. When prompted, enter your password.
11. 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 itself as per the OS X/macOS Installer

NOTES:
  • macOS Installer must exist in the Applications folder
  • For High Sierra and Later, 16GB USB Flash Drive is recommended

Method #2: Using Recovery Image (Online Method)


STEP 1: Downloading macOS
You'll need to have the exact Recovery image of the target OS you want to install. To download the recovery image, follow the steps below.

1. Download OpenCore Pkg from the downloads section of this forum.
2. Extract the downloaded file to your Desktop.
3. Open Terminal and move into the OpenCore directory using
Code:
cd Desktop/OpenCore-0.X.X-RELEASE/Utilities/macrecovery

NOTE:
  • Replace the X with the OpenCore version.

4. Depending on the macOS version you need (See Recovery Table below), type the command.

Recovery Table

OS VersionCommand
OS X Lion./macrecovery.py -b Mac-C3EC7CD22292981F -m 00000000000F0HM00 download
OS X Mountain Lion./macrecovery.py -b Mac-7DF2A3B5E5D671ED -m 00000000000F65100 download
OS X Mavericks./macrecovery.py -b Mac-F60DEB81FF30ACF6 -m 00000000000FNN100 download
OS X Yosemite./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVW00 download
OS X El Capitan./macrecovery.py -b Mac-FFE5EF870D7BA81A -m 00000000000GQRX00 download
macOS Sierra./macrecovery.py -b Mac-77F17D7DA9285301 -m 00000000000J0DX00 download
macOS High Sierra./macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300 download
macOS Mojave./macrecovery.py -b Mac-7BA5B2DFE22DDD8C -m 00000000000KXPG00 download
macOS Catalina./macrecovery.py -b Mac-CFF7D910A743CAAF -m 00000000000PHCD00 download
macOS Big Sur./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 download
Latest Version./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 -os latest download

5. Once the download is completed, you'll see something like below
Code:
Downloading 694-44177...
Saving http://oscdn.apple.com/content/downloads/43/08/002-55353/wjqymtilqz139hpcx4lu2i2h5ndrmuydno/RecoveryImage/BaseSystem.dmg to BaseSystem.dmg...
Download complete!
Saving http://oscdn.apple.com/content/downloads/43/08/002-55353/wjqymtilqz139hpcx4lu2i2h5ndrmuydno/RecoveryImage/BaseSystem.chunklist to BaseSystem.chunklist...
Download complete!
Verifying image with chunklist...
Image verification complete!

You can find BaseSystem.dmg and BaseSystem.chunklist in OpenCore/Utilities/macrecovery directory.

NOTE:
  • Depending on the macOS version, the script will either download BaseSystem or RecoveryImage files.

STEP 2: Preparing Installer
Once you have the Recovery image, you can create the installer. To prepare the installer, follow the steps below

1. Insert your USB Flash Drive (less than 64GB ) into your Mac.
2. Open Disk Utility. The Disk Utility is located at /Applications/Utilities/Disk Utility
2. Select your USB Flash Drive in the left pane and click on Erase button, at the top and a popup will appear.
3. Under Name type EFI
4. Under Format select MS-DOS (FAT)
5. Under Scheme select Master Boot Record, and click on Erase.
6. When done, click on Done and close Disk Utility.
7. Now open your USB Flash Drive in Finder and create a folder named com.apple.recovery.boot
8. Copy BaseSystem.dmg and BaseSystem.chunklist downloaded above to com.apple.recovery.boot directory.


For Windows users


STEP 1: Downloading macOS
You'll need to have the exact Recovery image of the target OS you want to install. To download the recovery image, follow the steps below.

1. Install Python
2. Download OpenCore Pkg from the downloads section of this forum.
3. Extract the downloaded file to your Desktop.
4. Move into the OpenCore-0.X.X-RELEASE/Utilities directory
5. Right click on macreceovery folder and select Copy as path

Screenshot 2022-07-15 104158-min.png


6. Open Command Prompt with Administrator Privileges

Screenshot 2022-07-15 104112-min.png


Screenshot 2022-07-15 104244-min.png


7. Type cd and then paste the path you copied earlier in step 5 and then press enter key. The command would be the following

Code:
cd "C:\Users\Your User Name\Desktop\OpenCore-0.X.X-RELEASE\Utiities\macrecovery"

Screenshot 2022-07-15 104630-min.png

NOTE:
  • Replace the X with the OpenCore version.
  • Replace Your User Name with your actual username

8. Depending on the macOS version you need (See Recovery Table below), type the command.

Recovery Table

OS VersionCommand
OS X Lion./macrecovery.py -b Mac-C3EC7CD22292981F -m 00000000000F0HM00 download
OS X Mountain Lion./macrecovery.py -b Mac-7DF2A3B5E5D671ED -m 00000000000F65100 download
OS X Mavericks./macrecovery.py -b Mac-F60DEB81FF30ACF6 -m 00000000000FNN100 download
OS X Yosemite./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVW00 download
OS X El Capitan./macrecovery.py -b Mac-FFE5EF870D7BA81A -m 00000000000GQRX00 download
macOS Sierra./macrecovery.py -b Mac-77F17D7DA9285301 -m 00000000000J0DX00 download
macOS High Sierra./macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300 download
macOS Mojave./macrecovery.py -b Mac-7BA5B2DFE22DDD8C -m 00000000000KXPG00 download
macOS Catalina./macrecovery.py -b Mac-CFF7D910A743CAAF -m 00000000000PHCD00 download
macOS Big Sur./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 download
Latest Version./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 -os latest download


Screenshot 2022-07-15 104834-min(1).png

9. Once the download is completed, you'll see something like below

Screenshot 2022-07-15 105224-min.png

You can find BaseSystem.dmg and BaseSystem.chunklist in OpenCore-0.X.X-RELEASE/Utilities/macrecovery directory.

Screenshot 2022-07-15 105246-min.png

NOTE:
  • Depending on the macOS version, the script will either download BaseSystem or RecoveryImage files.

STEP 2: Preparing Installer
Once you have the Recovery image, you can create the installer. To prepare the installer, follow the steps below

1. Insert your USB Flash Drive (less than 64GB) into your Windows Computer.
2. Download Rufus.
3. Open Rufus and under Device select your target USB Flash Drive
4. Under Boot selection select Non Bootable
5. Under Volume label type EFI
6. Under File System select Large FAT32 (default) and click on START.

Screenshot 2022-07-16 090447-min.png

7. When prompted, click on OK

Screenshot 2022-07-16 094256-min.png

Once erased, you'll see the READY status in Rufus

Screenshot 2022-07-16 094323.png

8. When done, click on Close to close Rufus.
9. Now open your USB Flash Drive in Explorer
10. Delete autorun.ico and autorun.inf file from the USB Flash Drive
11. Create a folder named com.apple.recovery.boot in root of the USB Flash Drive
12. Copy BaseSystem.dmg and BaseSystem.chunklist downloaded above into com.apple.recovery.boot directory.

For Linux users


STEP 1: Downloading macOS
You'll need to have the exact Recovery image of the target OS you want to install. To download the recovery image, follow the steps below.

1. Download OpenCore Pkg from the downloads section of this forum.
2. Extract the downloaded file
3. Move into the OpenCore-0.X.X-RELEASE/Utilities directory
4. Right click on macreceovery folder and select Copy

Screenshot from 2022-07-17 21-31-09-min.png
5. Open Terminal

Screenshot from 2022-07-17 21-32-11-min.png

Screenshot from 2022-07-17 21-32-39-min.png
6. Type cd and then paste the path you copied earlier in step 4 and then press enter key. The command would be the following

Code:
cd /home/tech/Downloads/OpenCore-0.X.X-RELEASE/utilities/macrecovery

Screenshot from 2022-07-17 21-33-56-min.png

NOTE:
  • Replace the X with the OpenCore version.
  • Replace Your User Name with your actual username

7. Depending on the macOS version you need (See Recovery Table below), type the command.

Recovery Table

OS VersionCommand
OS X Lion./macrecovery.py -b Mac-C3EC7CD22292981F -m 00000000000F0HM00 download
OS X Mountain Lion./macrecovery.py -b Mac-7DF2A3B5E5D671ED -m 00000000000F65100 download
OS X Mavericks./macrecovery.py -b Mac-F60DEB81FF30ACF6 -m 00000000000FNN100 download
OS X Yosemite./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVW00 download
OS X El Capitan./macrecovery.py -b Mac-FFE5EF870D7BA81A -m 00000000000GQRX00 download
macOS Sierra./macrecovery.py -b Mac-77F17D7DA9285301 -m 00000000000J0DX00 download
macOS High Sierra./macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300 download
macOS Mojave./macrecovery.py -b Mac-7BA5B2DFE22DDD8C -m 00000000000KXPG00 download
macOS Catalina./macrecovery.py -b Mac-CFF7D910A743CAAF -m 00000000000PHCD00 download
macOS Big Sur./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 download
Latest Version./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 -os latest download

Screenshot from 2022-07-17 21-34-53-min.png
8. Once the download is completed, you'll see something like below

Screenshot from 2022-07-17 23-09-16-min.png
You can find BaseSystem.dmg and BaseSystem.chunklist in OpenCore-0.X.X-RELEASE/Utilities/macrecovery directory.

Screenshot from 2022-07-17 23-11-19-min.png
NOTE:
  • Depending on the macOS version, the script will either download BaseSystem or RecoveryImage files.

STEP 2: Preparing Installer
Once you have the Recovery image, you can create the installer. To prepare the installer, follow the steps below

1. Insert your USB Flash Drive (less than 64GB) into your Ubuntu Computer.
2. Open Disks
Screenshot from 2022-07-18 03-57-51-min.png
For Unallocated Disks

1. For USB Drives which is unallocated, click on the Settings button and then click on Next

Screenshot from 2022-07-18 03-58-01-min.png

2. Under Volume Name, type EFI
3. Under Type, select For use with all systems and devices (FAT) and click on Create
Screenshot from 2022-07-18 03-58-15-min.png
4. Once erased, you'll see the created partition in Disks
Screenshot from 2022-07-18 03-58-56-min.png
5. Click on the play button to mount the USB Flash Drive
Screenshot from 2022-07-18 04-02-22-min.png

For USB with existing Data

1. For USB Drives which is unallocated, click on the Settings button and then click on the Format button


Screenshot from 2022-07-18 04-00-56-min.png
2. Click on Format

Screenshot from 2022-07-18 04-01-16-min.png

3. Once erased, you'll see the created partition in Disks

Screenshot from 2022-07-18 03-58-56-min.png
4. Click on the play button to mount the USB Flash Drive
Screenshot from 2022-07-18 04-02-22-min.png
Now open your USB Flash Drive in Explorer
Create a folder named com.apple.recovery.boot in the root of the USB Flash Drive
Copy BaseSystem.dmg and BaseSystem.chunklist downloaded above into com.apple.recovery.boot directory.
 
Last edited:

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,611
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Preparing OpenCore


To prepare the OpenCore Bootloader, you need to download OpenCore Pkg. Follow the steps below to prepare OpenCore for your target system.

1. Download OpenCore Pkg. The OpenCore Pkg comes in two variants. DEBUG and RELEASE.

VersionNotes
DEBUG
  • Helps in debugging boot issues
  • Can add some delay in boot times
  • Recommended for debugging purposes.
RELEASE
  • Not much help for debugging boot issues.
  • Troubleshooting is difficult
  • Recommended for production use.

2. Download the RELEASE folder followed by the release version.
3. Extract the zip. When extracting, you'll get 4 folders which have been listed below.

DirectoriesDescription
DocsContains documentation, a change log, a sample config.plist, and ACPI Samples for OpenCore.
IA32Contains OpenCore EFI, 32-bit OpenCore Boot Loader.
Required for OS X 10.4.1 through 10.4.7
UtilitiesContains several utilities.
X64Contains OpenCore EFI, 64-bit OpenCore Boot Loader.
Required for OS X 10.8 and newer

1. Depending on your System Type, copy the EFI folder from IA32 (For 32-bit CPU) and X64 (For 64-bit CPU) to your working directory and you should have the following structure.

Code:
EFI
├── BOOT
│   └── BOOTx64.efi
└── OC
    ├── ACPI
    ├── Drivers
    │   ├── AudioDxe.efi
    │   ├── BIOSVideo.efi
    │   ├── CrScreenshotDxe.efi
    │   ├── HiiDatabase.efi
    │   ├── NvmExpressDxe.efi
    │   ├── OpenCanopy.efi
    │   ├── OpenHfsPlus.efi
    │   ├── OpenLinuxBoot.efi
    │   ├── OpenPartitionDxe.efi
    │   ├── OpenRuntime.efi
    │   ├── OpenUsbKbDxe.efi
    │   ├── Ps2KeyboardDxe.efi
    │   ├── Ps2MouseDxe.efi
    │   ├── ResetNvramEntry.efi
    │   ├── ToggleSipEntry.efi
    │   ├── UsbMouseDxe.efi
    │   └── XhciDxe.efi
    ├── Kexts
    ├── Resources
    │   ├── Audio
    │   ├── Font
    │   ├── Image
    │   └── Label
    ├── Tools
    │   ├── BootKicker.efi
    │   ├── ChipTune.efi
    │   ├── CleanNvram.efi
    │   ├── ControlMsrE2.efi
    │   ├── CsrUtil.efi
    │   ├── GopStop.efi
    │   ├── KeyTester.efi
    │   ├── MmapDump.efi
    │   ├── OpenControl.efi
    │   ├── OpenShell.efi
    │   ├── ResetSystem.efi
    │   ├── RtcRw.efi
    │   └── TpmInfo.efi
    └── OpenCore.efi

Directory Structure

Directories and FilesNotes
BOOT
Bootx64.efi
  • Initial bootstrap loaders, which load OpenCore.efi. BOOTx64.efi is loaded by the firmware by default consistent with the UEFI specification. However, it may also be renamed and put in a custom location to allow OpenCore coexist alongside operating systems, such as Windows, that use BOOTx64.efi files as their loaders. Refer to the LauncherOption property for details.
ACPI
  • Directory for storing ACPI Files (DSDT and SSDTs)
  • Only keep files with the .aml extension
Drivers
  • Directory for storing drivers (UEFI and Legacy Drivers)
  • Only keep files with the .efi extension
Kexts
  • Directory for storing Kernel Extensions aka Drivers
  • Only keep files with the .kext extension
Resources
  • Directory for storing media resources such as Audio and GUI, including fonts, icons, and images for Boot Picker for use by OpenCanopy.
Tools
  • Directory for storing tools
OpenCore.efi
  • Main booter application responsible for operating system loading. The directory OpenCore.efi resides in is called the root directory, which is set to EFI\OC by default. When launching OpenCore.efi directly or through a custom launcher, however, other directories containing OpenCore.efi files are also supported.

Cleaning Up


A clean-up is required as by default, OpenCore includes numerous Drivers, Resources and Tools for several purposes and all of them may not be required by a particular System.

Drivers
Drivers are mandatory which allows several important functions and is required to boot the system, including Recovery. By default, OpenCore includes numerous drivers for different purposes. You need to use the drivers required by your system. Depending on the System Type you have, only keep the drivers as instructed below and delete the rest of the drivers from the EFI/OC/Drivers directory. You can find all the unlinked drivers in the EFI/OC/Drivers directory.

Driver NameRequiredNotes
AudioDxe.efiOptional
  • Provides Boot Chime support.
  • Only required if you want to use Boot Chime
BiosVideo.efiOptional
  • CSM video driver implementing graphics output protocol based on VESA and legacy BIOS interfaces.
  • Used for UEFI firmware with fragile GOP support (e.g. low resolution).
  • Requires ReconnectGraphicsOnConnect. Included in OpenDuet out of the box.
CrScreenshotDxe.efiOptional
  • Screenshot driver
  • Required for taking screenshots of BIOS, UEFI Shell, UEFI Apps, and UEFI Bootloaders using F10.
  • Saves screenshot to the root of the ESP or any available writeable Filesystem
HiiDatabase.efiOptional
  • HII services support driver from MdeModulePkg.
  • This driver is included in most types of firmware starting with the Ivy Bridge generation.
  • Some applications with GUI, such as UEFI Shell, may need this driver to work properly.
NvmExpressDxe.efiOptional
  • NVMe support driver from MdeModulePkg.
  • This driver is included in most firmware starting with the Broadwell generation.
  • Used for Haswell and older Systems, where no NVMe driver support is available and NVMe SSD is installed.
OpenCanopy.efiOptional
  • Provides GUI functionality for OpenCore Boot screen.
  • This driver is required if you need GUI for OpenCore.
OpenHfsPlus.efiYES
  • HFS File System Driver with bless support.
  • Provides reading of HFS+ Volumes/drives in OpenCore Boot Picker.
  • Without HFSPlus.efi driver, you won't be able to see any HFS+ volumes including your macOS USB Installer. Recovery and installation drive for macOS Sierra and prior in OpenCore Boot Picker.
  • This driver is an alternative to a closed source HfsPlus driver commonly found in Apple firmware.
HfsPlusLegacy.efiOptional
  • Provides reading of HFS+ Volumes/drives in OpenCore Boot Picker.
  • Required for Sandy Bridge and older Systems.
HfsPlus32.efiOptional
  • Similar to HfsPlusLegacy
  • Required for 32-bit CPUs.
OpenLinuxBoot.efiOptional
  • OpenCore plugin implementing OC_BOOT_ENTRY_PROTOCOL to allow direct detection and booting of Linux distributions from OpenCore, without chainloading via GRUB.
OpenNtfsDxe.efiOptional
OpenPartitionDxe.efiOptional
  • Partition management driver with Apple Partitioning Scheme support.
  • Required to boot into Recovery on OS X 10.7 to 10.9
OpenRuntime.efiYES
  • Runtime driver including several other drivers merged such as ApfsDriverLoader.
  • OpenRuntime.efi is a replacement for AptioMemoryFix.efi driver.
  • Required for booting and proper functioning of OpenCore
OpenUsbKbDxe.efiOptional
  • USB keyboard driver adding support for AppleKeyMapAggregator protocols on top of a custom USB keyboard driver implementation. This is an alternative to builtin KeySupport, which may work better or worse depending on the firmware.
  • Required for FileVault
  • Required for OpenCore on Legacy Systems. Not recommended on Ivy Bridge and later.
Ps2KeyboardDxe.efiOptional
  • PS/2 keyboard driver from MdeModulePkg.
  • Required for PS2 Keyboard
  • Requires KeySupport to be enabled.
Ps2MouseDxe.efiOptional
  • PS/2 mouse driver from MdeModulePkg.
  • Required for PS/2 Mouse
  • Some very old laptop firmware may not include this driver but it is necessary for the touchpad to work in UEFI graphical interfaces such as OpenCanopy.
ResetNvramEntry.efiYES
  • Provides Reset NVRAM support.
  • Required since OpenCore 0.8.1 and later
ToggleSipEntry.efiOptional
  • Provides a boot entry for enabling and disabling System Integrity Protection (SIP) in OpenCore picker.
UsbMouseDxe.efiOptional
  • Similar to OpenUSBKbDxe
  • Required for Legacy Systems using DuetPkg
XhciDxe.efiOptional
  • XHCI USB controller support driver from MdeModulePkg.
  • This driver is included in most types of firmware starting with the Sandy Bridge generation.
  • Used for Sandy Bridge and older Systems, where no XHCI driver support is available and an external USB 3.0 PCI Card is installed.

Drivers for UEFI-based Systems​

  • OpenRuntime.efi
  • OpenHfsPlus.efi
  • OpenCanopy.efi
  • AudioDxe.efi
  • ResetNvramEntry.efi

Drivers for Legacy based Systems​

  • OpenRuntime.efi
  • HfsPlusLegacy.efi
  • OpenUsbKbDxe.efi
  • UsbMouseDxe.efi
  • OpenCanopy.efi
  • AudioDxe.efi
  • ResetNvramEntry.efi
NOTES:
  • OpenCore and Drivers should be from the same RELEASE version and should not mismatch.
  • UEFI Drivers from Clover are not supported with OpenCore. See Switching Clover to OpenCore if you're using Clover and want to switch to OpenCore.

Tools
Tools are of great use but are for specific purposes only and most of them are optional. Although, it will not harm even if you keep these tools. However, to reduce the size and have less clutter, it is advised to delete the tools which you don't need. For debugging and later use, it is recommended to keep these tools. You can either keep them or delete them as per your preferences. These standalone tools helps to debug the firmware and hardware.

Tool NameRequiredNotes
BootKicker.efiOptionalEnter Apple BootPicker menu (exclusive for Macs with compatible GPUs).
ChipTune.efiOptionalTest BeepGen protocol and generate audio signals of different styles and lengths.
CleanNvram.efiOptionalReset NVRAM alternative bundled as a standalone tool.
ControlMsrE2.efiOptionalCheck CFG Lock (MSR 0xE2 write protection) consistency across all cores and change such hidden options on selected platforms.
CsrUtil.efiOptionalSimple implementation of SIP-related features of Apple csrutil.
GopStop.efiOptionalTest GraphicsOutput protocol with a simple scenario.
KeyTester.efiOptionalTest keyboard input in SimpleText mode.
MmapDump.efiOptional
OpenControl.efiOptionalUnlock and lock back NVRAM protection for other tools to be able to get full NVRAM access when launching from OpenCore.
OpenShell.efiOptional
  • Used for debugging
  • Required for mapping entries for Dual Boot
ResetSystem.efiOptionalUtility to perform system reset. Takes reset type as an argument: cold reset, firmware, shutdown, warm reset. Defaults to cold reset.
RtcRw.efiOptionalUtility to read and write RTC (CMOS) memory.
TpmInfo.efiOptionalCheck Intel PTT (Platform Trust Technology) capability on the platform, which allows using fTPM 2.0 if enabled.
The tool does not check whether fTPM 2.0 is actually enabled.

A cleaned-up EFI should like the following

For UEFI based Systems​

Code:
EFI
├── BOOT
│   └── BOOTx64.efi
└── OC
    ├── ACPI
    ├── Drivers
    │   ├── OpenRuntime.efi
    │   ├── OpenHfsPlus.efi
    │   ├── OpenCanopy.efi
    │   ├── AudioDxe.efi
    │   └── ResetNvramEntry.efi
    ├── Kexts
    ├── Resources
    │   ├── Audio
    │   ├── Font
    │   ├── Image
    │   └── Label
    ├── Tools
    │   ├── BootKicker.efi
    │   ├── ChipTune.efi
    │   ├── CleanNvram.efi
    │   ├── ControlMsrE2.efi
    │   ├── CsrUtil.efi
    │   ├── GopStop.efi
    │   ├── KeyTester.efi
    │   ├── MmapDump.efi
    │   ├── OpenControl.efi
    │   ├── OpenShell.efi
    │   ├── ResetSystem.efi
    │   ├── RtcRw.efi
    │   └── TpmInfo.efi
    └── OpenCore.efi

For Legacy based Systems​

Code:
EFI
├── BOOT
│   └── BOOTx64.efi
└── OC
    ├── ACPI
    ├── Drivers
    │   ├── OpenRuntime.efi
    │   ├── HfsPlusLegacy.efi
    │   ├── OpenUsbKbDxe.efi
    │   ├── UsbMouseDxe.efi
    │   ├── OpenCanopy.efi
    │   ├── AudioDxe.efi
    │   └── ResetNvramEntry.efi
    ├── Kexts
    ├── Resources
    │   ├── Audio
    │   ├── Font
    │   ├── Image
    │   └── Label
    ├── Tools
    │   ├── BootKicker.efi
    │   ├── ChipTune.efi
    │   ├── CleanNvram.efi
    │   ├── ControlMsrE2.efi
    │   ├── CsrUtil.efi
    │   ├── GopStop.efi
    │   ├── KeyTester.efi
    │   ├── MmapDump.efi
    │   ├── OpenControl.efi
    │   ├── OpenShell.efi
    │   ├── ResetSystem.efi
    │   ├── RtcRw.efi
    │   └── TpmInfo.efi
    └── OpenCore.efi
 
Last edited:

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,611
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Gathering Files


ACPI (SSDTs)
Depending on the Platform you have, copy the SSDTs from OpenCore/RELEASE/Docs/AcpiSamples/Binaries to EFI/OC/ACPI directory.

ACPI NameNotes
SSDT-ALS0.aml
  • Enables Ambient Light Sensor ACPI Device
  • Required for Backlight functioning
  • Required for AIO and Laptops only.
SSDT-AWAC-DISABLE.aml
  • Serves 300 series RTC patch
  • Fixes stuck at apfs_module_start error while booting into macOS
  • Required for Coffee Lake and Later
SSDT-BRG0.aml
SSDT-EC-USBX.aml
  • Fixes EC and USB Power
  • Required for EC and USB Power.
  • Required for Skylake and Later
SSDT-EC.amlRequired for Penryn to Broadwell
SSDT-EHCx-DISABLE.amlRequired for 7, 8, and 9-series Chipsets on 10.11 and newer.
SSDT-HV-CPU.aml
  • Enables proper CPU detection under macOS
  • Required for Hyper-V only.
  • Requires MacHyperVSupport.kext to function.
SSDT-HV-PLUG.aml
  • Enables VMplatformPlugin on Big Sur and newer
  • Required for Hyper-V only
  • This SSDT must be loaded after SSDT-HV-CPU.aml
  • Requires MacHyperVSupport.kext to function.
SSDT-HV-VMBUS.aml
  • Enables ACPI node identification
  • Required for Hyper-V only
  • Requires MacHyperVSupport.kext to function.
SSDT-IMEI.aml
  • Enables missing IMEI Device
  • Required for 6 series and 7 Series Motherboards
  • Required when no IMEI deice (with any name) is present in the ACPI Tables
  • Requires a custom device-id in DeviceProperties.
SSDT-PLUG-ALT.aml
  • Enables Power Management Function
  • Can fix potential issues such as sleep/wake function and improve CPU performance
  • Required for a proper CPU and GPU Power Management
  • Required for Alder Lake
SSDT-PLUG.aml
  • Enables Power Management Function
  • Can fix potential issues such as sleep/wake function and improve CPU performance
  • Required for a proper CPU and GPU Power Management
  • Required for Haswell to Rocket Lake
SSDT-PMC.aml
  • Enables NVRAM support
  • Fixes NVRAM, Sleep/Wake and Restart/Shut Down
  • Fixes black screen after macOS finishes loading and is applicable for IGPU, NVIDIA and AMD GPUs.
  • Required for all 300 series motherboards except Z370.
SSDT-PNLF.aml
  • Provides Backlight support
  • Required for Brightness control.
  • Must load after all DSDT and SSDTs
SSDT-RTC0-RANGE.aml
  • Required for all X99 and X299 Motherboards
  • Can fix stuck at PCI Configuration begin error when booting into macOS
SSDT-RTC0.aml
  • Required for 300 series chipset only
  • Required where SSDT-AWAC is not compatible
SSDT-SBUS-MCHC.aml
SSDT-UNC.aml
  • Disables unused devices in ACPI
  • Ensures IOPCIFamily doesn't Kernel Panic
  • Required for Sandy Bridge-E to Broadwell-E

Desktops


Penryn​

  • SSDT-EC.aml

Lynfield and Clarkdale​

  • SSDT-EC.aml

Sandy Bridge​

  • SSDT-EC.aml
  • SSDT-CPU-PM.aml

Ivy Bridge​

  • SSDT-EC.aml
  • SSDT-CPU-PM.aml

Haswell​

  • SSDT-EC.aml
  • SSDT-PLUG.aml

Broadwell​

  • SSDT-EC.aml
  • SSDT-PLUG.aml

Skylake​

  • SSDT-EC-USBX.aml
  • SSDT-PLUG.aml

Kaby Lake​

  • SSDT-EC-USBX.aml
  • SSDT-PLUG.aml

Coffee Lake​

  • SSDT-EC-USBX.aml
  • SSDT-AWAC-DISABLE.aml
  • SSDT-PMC.aml
  • SSDT-PLUG.aml

Comet Lake​

  • SSDT-EC-USBX.aml
  • SSDT-AWAC-DISABLE.aml
  • SSDT-PLUG.aml
  • SSDT-RHUB-Reset.aml

Rocket Lake​

  • SSDT-EC-USBX.aml
  • SSDT-AWAC-DISABLE.aml
  • SSDT-PLUG.aml
  • SSDT-RHUB-Reset.aml
NOTE:
  • Change PCI0 to PC00 in SSDT-EC-USBX.aml or use SSDT-EC-USBX-DESKTOP.aml from Dortania.

Alder Lake​

  • SSDT-EC-USBX.aml
  • SSDT-AWAC-DISABLE.aml
  • SSDT-PLUG-ALT.aml
  • SSDT-RHUB-Reset.aml
NOTE:
  • Change PCI0 to PC00 in SSDT-EC-USBX.aml or use SSDT-EC-USBX-DESKTOP.aml from Dortania.


HEDT

Sandy Bridge-E​

  • SSDT-EC.aml
  • SSDT-UNC.aml

Ivy Bridge-E​

  • SSDT-EC.aml
  • SSDT-UNC.aml

Haswell-E​

  • SSDT-EC-USBX.aml
  • SSDT-RTC0-RANGE
  • SSDT-UNC.aml
  • SSDT-PLUG.aml

Broadwell-E​

  • SSDT-EC-USBX.aml
  • SSDT-RTC0-RANGE
  • SSDT-UNC.aml
  • SSDT-PLUG.aml

Skylake-X/W​

  • SSDT-EC-USBX.aml
  • SSDT-RTC0-RANGE
  • SSDT-PLUG.aml
Laptops


Clarksfield and Arrandale​

  • SSDT-EC.aml
  • SSDT-PNLF.aml

Sandy Bridge​

  • SSDT-EC.aml
  • SSDT-CPU-PM.aml
  • SSDT-PNLF.aml

Ivy Bridge​

  • SSDT-EC.aml
  • SSDT-CPU-PM.aml
  • SSDT-PNLF.aml

Haswell​

  • SSDT-EC.aml
  • SSDT-PLUG.aml
  • SSDT-PNLF.aml

Broadwell​

  • SSDT-EC.aml
  • SSDT-PLUG.aml
  • SSDT-PNLF.aml

Skylake​

  • SSDT-EC-USBX.aml
  • SSDT-PLUG.aml
  • SSDT-PNLF.aml

Kaby Lake/Kaby Lake-R/Amber Lake​

  • SSDT-EC-USBX.aml
  • SSDT-PLUG.aml
  • SSDT-PNLF.aml

Coffee Lake/Whiskey Lake​

  • SSDT-EC-USBX.aml
  • SSDT-AWAC-DISABLE.aml
  • SSDT-PMC.aml
  • SSDT-PLUG.aml
  • SSDT-PNLF.aml

Comet Lake​

  • SSDT-EC-USBX.aml
  • SSDT-AWAC-DISABLE.aml
  • SSDT-PLUG.aml
  • SSDT-RHUB-Reset.aml
  • SSDT-PNLF.aml

Ice Lake​

  • SSDT-EC-USBX.aml
  • SSDT-AWAC-DISABLE.aml
  • SSDT-PLUG.aml
  • SSDT-RHUB-Reset.aml
  • SSDT-PNLF.aml

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


System

  • Required for Booting into macOS and are mandatory.
Lilu
  • Provides arbitrary patching.
  • Required for AppleALC, WhateverGreen, VirtualSMC and several other kexts.
VirtualSMC
  • SMC Emulator. Emulates Apple hardware.
  • VirtualSMC is a successor of FakeSMC.
  • This kext requires Lilu.kext to function.

CPU and SMC


CPUFriend
  • Enables dynamic power management data injection
  • Requires Lilu.kext to function
AsusSMC
  • Enables Native support for ALS, Keyboard Backlight and Fn Keys for ASUS Laptops
  • Requires Lilu.kext to function
CPUTscSync
  • Enables synchronization of the TSC with the CPU
  • Required for HEDT Systems.
  • A quick way to find if your Laptop needs CpuTscSync.kext, while booting the installer, you may feel lags and the installer getting stuck at several stages or you may see the Apple logo or other pop-ups appearing in background. On some Laptops, you may get CPU panic for threads. f you're having such scenarios, you'll need to use this kext.
  • This kext is mostly needed by Lenovo and newer ASUS Laptops with the latest BIOS.
  • This kext requires Lilu.kext to function.
AppleMCEReporterDisabler
  • Disables AppleMCEReporter kext to prevent Kernel Panics
  • Required for AMD CPUs and Dual-Socket Systems.
AMDRyzenCPUPowerManagement.kext
  • Required for AMD Power Management Features
  • This kext is also required if you would like to use AMD Power Gadget.
  • Requires SMCAMDProcessor.kext to enable sensor data
  • AMDRyzenCPUPowerManagement.kext should load before SMCAMDProcessor.kext
SMCAMDProcessor.kext
  • Enables sensor data readings for VirtualSMC.
  • Requires AMDRyzenCPUPowerManagement.kext and VirtualSMC.kext to function
telemetrap.kext
  • Disables AppleMCEReporter kext to prevent Kernel Panics
  • Required for AMD CPUs and Dual-Socket Systems.
AAAMouSSE.kext
  • Enables SSE4.2 Support
  • Allows old CPUs to use the newer AMD drivers.
  • Required by AMD drivers for Metal Support
  • Only required for CPUs lacking SSE4.2 instructions.
Graphics


WhateverGreen.kext
  • Provides GPU patching on macOS.
  • Fixes various Graphics related issues.
  • Required for Intel, NVIDIA, and AMD GPUs.
  • This kext requires Lilu.kext to function.
dAGPM.kext
  • Enables Power Management for Discrete Graphics (NVIDIA/AMD)
  • Requires Board ID configuration to work.
USB

  • Required for USB functioning.
USBInjectAll
  • Enables USB ports.
  • Required for Intel-based Motherboards only.
  • It's advised to map the USB ports during the post-install for a better USB speed, improved sleep/wake and hotplug.
XHCI-Unsupported
  • Enables Intel USB Controllers on 9, 200, 300, 400 series and some HEDT Motherboards such as X99 and X299.
  • Required for Intel-based Motherboards only.
GenericUSBXHCI.kext
  • Enables non-Intel USB3 Controllers.
  • Usually found on Sandy Bridge, Ivy Bridge and some Haswell
  • Required for non-Intel USB3 Controllers. Only use if you have a non-Intel USB3 Controller
ASMedia.kext
  • Enables ASMedia USB3.1 Controllers.
  • Required for macOS Big Sur and later.
  • Required for ASMedia USB 3.1 Controller. Only use if you have an AsMedia USB3.1 Controller
mXHCD.kext
  • Enables ASMedia USB3.0 1040/1042 Controllers.
  • Required for ASMedia USB 3.0 Controller. Only use if you have an AsMedia USB3.0 Controller
XLNCUSBFIX
  • Fixes USB on AMD FX Systems
  • Do not use it on Ryzen Systems
  • Requires macOS 10.13 and later
Audio

  • Required for Audio functioning.
AppleALC.kext
  • Provides AppleHDA patching on macOS.
  • Enables onboard/built-in Audio.
  • Fixes various Audio related issues.
  • This kext requires Lilu.kext to function.
AppleALCU.kext
  • Required for Onboard/built-in USB Audio.
  • This kext requires Lilu.kext to function.
  • Only use if you have Onboard/built-in Realtek USB Audio Controller
EMUUSBAudio
  • Required for Creative Labs EMU USB Audio.
  • Only use if you have Creative Labs EMU USB Audio Interface
Ethernet

  • Required for Ethernet functioning.
IntelMausi.kext
  • Enables Intel Family onboard Ethernet Controller.
  • Required for Intel-based Motherboards only.
  • It's advised to map the USB ports during the post-install for a better USB speed, improved sleep/wake and hotplug.
SmallTreeIntel82576.kext
SmallTreeIntel8259x.kext
LucyRTL8125Ethernet.kext
  • Enables Realtek RTL8125 2.5GBit Ethernet Family onboard Ethernet Controller.
  • Required for non-Intel USB3 Controllers. Only use if you have a non-Intel USB3 Controller
RealtekRTL8111.kext
  • Enables Realtek RTL8111/8168 Family onboard Ethernet Controller.
RealtekRTL8100.kext
  • Enables RTL810X Fast Ethernet Family onboard Ethernet Controller.
AtherosE2200Ethernet
  • Enables Qualcomm Atheros Killer Family onboard Ethernet Controller.
AtherosL1cEthernet
  • Enables Atheros AR813x/815x onboard Ethernet Controller.
BCM5722D.kext
  • Enables Broadcom BCM5722 NetXtreme and NetLink family gigabit onboard Ethernet Controller.
AppleIntelE1000e.kext
  • Enables Intel Fast Ethernet onboard Ethernet Controller
Intel82566MM
  • Enables ASMedia USB3.1 Controllers.
  • Required for macOS Big Sur and later.
  • Required for ASMedia USB 3.1 Controller. Only use if you have an AsMedia USB3.1 Controller
NullEthernetInjector
  • Fake Ethernet.
  • Enables Mac App Store access.
  • Required for Laptops where you don't have a built-in Ethernet port or built-in WiFi with supporting drivers
  • Suitable for Third Party (non-native) USB WiFi Adapters.
WiFi

  • Required for WiFi functioning.
AirportBrcmFixup
  • Required for WiFi functioning of non-Apple/non-Fenvi Broadcom Cards
  • Requires a compatible Broadcom WiFi Card. Only use if you have a compatible Broadcom WiFi Card.
  • This kext requires Lilu.kext to function.
AirportItlwm
  • Works as standalone kext.
  • Has AirDrop and Handoff support.
  • Works as WiFi Interface.
  • Requires a compatible Intel WiFi Card. Only use if you have a compatible Intel WiFi Card.
itlwm
  • Similar to AirportItlwm.
  • Required where AirportIlwm is not compatible. Varies from system to system.
  • Requires HeliPort App, which acts as a WiFi Client for Intel WiFi.
  • Has no AirDrop or Handoff support.
  • Works as Ethernet Interface.
  • Requires a compatible Intel WiFi Card. Only use if you have a compatible Intel WiFi Card.
Bluetooth

  • Required for Bluetooth functioning.
BlueToolFixup
  • Required for Broadcom and Intel Bluetooth
  • For macOS 12 (Monterey) and Later
  • Do not use it with BrcmBluetoothInjector.kext and IntelBluetoothInjector.kext
  • This kext requires Lilu.kext to function.
BrcmBluetoothInjector
  • Bluetooth Injector for Broadcom
  • Required for OS X 10.11 (El Capitan) to macOS Big Sur
  • This kext requires BrcmFirmwareData.kext and BrcmPatchRAM3 to function.
  • Do not use BrcmPatchRAM.kext or BrcmPatchRAM2.kext with this kext.
BrcmBluetoothInjectorLegacy
  • Bluetooth Injector for Broadcom
  • Required for OS X 10.10 (Yosemite) and older
BrcmFirmwareData
  • Enables Firmware Upload to Bluetooth Device.
  • Required for all non-Apple and non-Fenvi Cards
  • This kext can be injected via Bootloader and is the preferred configuration.
  • This kext requires BrcmBluetoothInjector.kext and BrcmPatchRAM3 to function.
BrcmFirmwareRepo
  • Enables Firmware Upload to Bluetooth Device.
  • Required for all non-Apple and non-Fenvi Cards
  • Required for OS X 10.11 and later.
  • Must be installed in /S/L/E or /L/E.
  • This kext is slightly more memory efficient than BrcmFirmwareData.kext, but cannot be injected by a bootloader.
BrcmNonPatchRAM2
  • Required for non-PatchRAM device
  • For OS X 10.11 (El Capitan) and Later
BrcmNonPatchRAM
  • Required for non-PatchRAM device
  • For OS X 10.10 (Yosemite) and older
BrcmPatchRAM3
  • For macOS Catalina and Later
  • This kext requires BrcmBluetoothInjector.kext and BrcmFirmwareData.kext to function.
BrcmPatchRAM2
  • For OS X 10.11 (El Capitan) to macOS Mojave
  • This kext requires BrcmBluetoothInjectorLegacy and BrcmFirmwareRepo.kext to function.
BrcmPatchRAM
  • For OS X 10.10 and older
  • This kext requires BrcmBluetoothInjectorLegacy and BrcmFirmwareRepo.kext to function.
IntelBluetoothInjector
  • Bluetooth Injector for Intel
  • Required for macOS High Sierra and Later
  • This kext requires IntelBluetoothFirmware.kext to function.
IntelBluetoothFirmware
  • Enables Intel Bluetooth.
  • Enables Firmware Upload to Bluetooth Device.
  • Required for all compatible Intel Bluetooth
Storage

  • Required for SATA/NVMe Controller functioning.
NVMeFix
  • Fixes Power Management for NVMe Drives.
  • This kext may slower the R/W speeds of your NVMe Drives.
  • Not recommended for NVMe Drives in RAID mode.
  • This kext requires Lilu.kext to function.
SATA-Unsupported
  • Enables certain SATA Controllers under macOS.
  • Certain SATA Controllers may not be recognised by the installer and due to this, you may not be able to see the target drive or the other drive connected to the particular controller.
  • Such SATA Controllers are not recognised by the SATA kexts provided by Apple and this is due to Apple doesn't uses that specific controller in their hardware.
  • If you're having a similar issue, you'll need to use this kext to overcome this issue.
  • Use "SATA-unsupported.kext" for macOS Sierra and later.
CtlnaAHCIPort
  • Similar to SATA-Unsupported.kext
  • Required for macOS Big Sur and Later.
ACHIPortInjector
  • Enables unsupported SATA Controller on macOS
ATAPortInjector
  • Enables unsupported IDE and ATA Controller on macOS
SASMegaRAID
  • Enables LSI RAID 8xxx/92xxx Controllers.
  • Enables Dell PERC 5, PERC6, H310, H700 and H800
  • Enables IBM ServeRAID M1115
  • Enables Intel RAID SRCSAS18E/SRCSAS144E
DiskArbitrationFixup
  • Disables the uninitialized disk message for an uninitialized disk
  • Removes The disk you inserted was not readable by this computer message when an uninitialized disk is connected.
Innie
  • Makes PCIe drives appear as Internal
  • An alternative option is to add the built-in device property for each drive installed.

Keyboard/Trackpad/Touchscreen

  • Required for input functioning.
  • Only for Laptops and mobile devices.
VoodooPS2Controller
  • Enables PS/2 Keyboard, Mouse, and Trackpad
  • Enables multi-gestures for Trackpad.
ApplePS2SmartTouchpad
  • Multitouch driver for ELAN, FocalTech, and Synaptics Touchpad
  • Similar to VoodooPS2Controller
VoodooRMI
  • Required for Laptops with Synaptics SMBus Trackpads
  • Requires VoodooPS2Controller.kext and VoodooSMBus.kext for SMBus based Trackpads to function.
  • Requires VoodooI2C.kext for I2C based Synaptics Trackpads to function.
  • Similar to VoodooPS2Controller
VoodooSMBus
  • Required for Laptops with ELAN SMBus Trackpads.
  • Enables multi-gestures for Trackpad.
  • Similar to VoodooPS2Controller
  • Do not use VoodooPS2Controller.kext with this kext.
VoodooI2C
  • Enables I2C functioning.
  • Required for Laptops with I2C Trackpads and Touchscreens.
  • Requires a Satellite kext to function [VoodooI2CHID, VoodooI2CAtmelMXT, VoodooI2CELAN, VoodooI2CFTE and VoodooI2CSynaptics]
  • Enables multi-gestures for Trackpad.
  • Requires DSDT patching to work.
  • Requires a working Battery meter for enabling Trackpad Preferences.
VoodooI2CHID
  • Satellite kext.
  • Adds support for I2C-HID device.
  • Required for Laptops with I2C Trackpads and Touchscreens.
  • Common Satellite kext for VoodooI2C.kext
  • Requires VoodooI2C.kext to function
VoodooI2CAtmelMXT
  • Satellite kext.
  • Required for Laptops with Atmel Multitouch I2C Device.
  • Requires VoodooI2C.kext to function
VoodooI2CELAN
  • Satellite kext
  • Required for Laptops with ELAN I2C Device.
  • ELAN1200 and later requires VoodooI2CHID.kext to function
  • Requires VoodooI2C.kext to function
VoodooI2CFTE
  • Satellite kext
  • Required for Laptops with FTE I2C Device.
  • Requires VoodooI2C.kext to function
VoodooI2CSynaptics
  • Satellite kext
  • Required for Laptops with Synaptics I2C Device.
  • Requires VoodooI2C.kext to function
AlpsHID
  • Satellite kext
  • Required for Laptops with Alps I2C Device.
  • Requires VoodooI2C.kext to function
  • Requires AlpsHID VoodI2CHID version.
BrightnessKeys
  • Enables Automatic handling of Brightness Hotkeys.
  • Requires Lilu.kext to function
NoTouchID
  • Disables Touch ID checks which cause hangs
  • This kext is not required on 10.15.7 and later.
  • This kext requires Lilu.kext to function.
Battery


SMCBatteryManager.kext
  • Enables Battery readings
  • Required for Laptops only.
  • Requires DSDT patching for battery meter.
Card Reader

  • Required for Card Reader functioning.
Sinetek-rtsx
  • Enables Realtek SD Card Reader
BrightnessKeys
  • Enables Realtek PCIe/USB-based SD card readers
  • Requires RealtekCardReaderFriend.kext to function
RealtekCardReaderFriend
  • Supporting kext for RealtekCardReader.kext
  • Enables Card Reader information under System Information>Card Reader
  • Helps to recognize the Card Reader as a native one.
  • Requires RealtekCardReader.kext and Lilu.kext to function
GenericCardReaderFriend
  • Enables Card Reader information under System Information>Card Reader
  • Required for built-in USB Card Reader which works OOTB but does not show up in System Information.
  • Do not use this kext if your Card Reader is powered by either AppleUSBCardReader.kext or RealtekCardReader.kext
  • Requires Lilu.kext to function
Sleep/Wake

HibernationFixup.kext
  • Enables sync between RTC variables and NVRAM
  • Enables native hibernation on systems with hardware NVRAM
  • Supports Hibdernation modes 3 and 25
USBWakeFixup.kext
  • Creates fake ACPI device with the right wakeup params
  • Fixes display on wakeup from a USB device.
  • Requires SSDT-USBW.aml to function.
Virtualization

MacHyperVSupport
  • Provides Hyper-V integration services for macOS
  • Requires SSDT-HV-CPU.aml, SSDT-HV-PLUG.aml and SSDT-HV-VMBUS.aml to function.
  • Requires Windows 8.1 and above
Monitoring

SMCProcessor.kext
  • Enables CPU Temperature for monitoring.
  • Required for CPU sensing.
  • Required for Intel CPUs only.
  • Available in VirtualSMC package.
SMCSuperIO.kext
  • Enables FAN Speed for monitoring.
  • Required for fans reading.
  • Required for Intel CPUs only.
Sensors
SMCLightSensor.kext

  • Required for Ambient Light Sensor
  • Required for Laptops only.
  • Available in VirtualSMC package.
SMCDellSensors.kext
  • Enables finer monitoring and Control of FANs
  • Only required for Dell systems supporting System Management Mode (SMM).
  • Available in VirtualSMC package.
Miscellaneous

RestrictEvents.kext
  • Blocks unwanted processes causing compatibility issues on different hardware and unlocks the support for certain features restricted to other hardware
  • Fixes ExpansionSlotNotification and MemorySlotNotification on MacPro7,1 SMBIOS.
  • Required for MacPro7,1 SMBIOS.
FeatureUnlock.kext
  • Enables Sidecar, NightShift, AirPlay, and Universal Control
RTCMemoryFixup
  • Emulates some offsets in CMOS (RTC) memory
  • Helps to avoid some conflicts between macOS AppleRTC and BIOS/firmware of your System.
SystemProfilerMemoryFixup
  • Enables memory tab on systems when using MacBook SMBIOS which have soldered RAM.
  • Requires Lilu.kext to function
Debugging

DebugEnhancer
  • Enables Debug putout in the macOS Kernel.
  • Requires Lilu.kext to function

CategoryKext NameRequiredNotes
System
  • Lilu
  • VirtualSMC
YES
  • Required for Booting into macOS and are mandatory.
Lilu
  • Provides arbitrary patching.
  • Required for AppleALC, WhateverGreen, VirtualSMC and several other kexts.
VirtualSMC
  • SMC Emulator. Emulates Apple hardware.
  • VirtualSMC is a successor of FakeSMC.
  • This kext requires Lilu.kext to function.
CPU and SMC
  • CPUFriend
  • ASUSSMC
  • CpuTscSync
  • AppleMCEReporterDisabler
  • SMCAMDProcessor
  • telemetrap
  • AAAMouSSE
OptionalCPUFriend
  • Enables dynamic power management data injection
  • Requires Lilu.kext to function
AsusSMC
  • Enables Native support for ALS, Keyboard Backlight and Fn Keys for ASUS Laptops
  • Requires Lilu.kext to function
CPUTscSync
  • Enables synchronization of the TSC with the CPU
  • Required for HEDT Systems.
  • A quick way to find if your Laptop needs CpuTscSync.kext, while booting the installer, you may feel lags and the installer getting stuck at several stages or you may see the Apple logo or other pop-ups appearing in background. On some Laptops, you may get CPU panic for threads. f you're having such scenarios, you'll need to use this kext.
  • This kext is mostly needed by Lenovo and newer ASUS Laptops with the latest BIOS.
  • This kext requires Lilu.kext to function.
AppleMCEReporterDisabler
  • Disables AppleMCEReporter kext to prevent Kernel Panics
  • Required for AMD CPUs and Dual-Socket Systems.
AMDRyzenCPUPowerManagement.kext
  • Required for AMD Power Management Features
  • This kext is also required if you would like to use AMD Power Gadget.
  • Requires SMCAMDProcessor.kext to enable sensor data
  • AMDRyzenCPUPowerManagement.kext should load before SMCAMDProcessor.kext
SMCAMDProcessor.kext
  • Enables sensor data readings for VirtualSMC.
  • Requires AMDRyzenCPUPowerManagement.kext and VirtualSMC.kext to function
telemetrap.kext
  • Disables AppleMCEReporter kext to prevent Kernel Panics
  • Required for AMD CPUs and Dual-Socket Systems.
AAAMouSSE.kext
  • Enables SSE4.2 Support
  • Allows old CPUs to use the newer AMD drivers.
  • Required by AMD drivers for Metal Support
  • Only required for CPUs lacking SSE4.2 instructions.
GraphicsWhateverGreen
dAGPM
YESWhateverGreen.kext
  • Provides GPU patching on macOS.
  • Fixes various Graphics related issues.
  • Required for Intel, NVIDIA, and AMD GPUs.
  • This kext requires Lilu.kext to function.
dAGPM.kext
  • Enables Power Management for Discrete Graphics (NVIDIA/AMD)
  • Requires Board ID configuration to work.
USB
  • USBInjectAll
  • XHCI-Unsupported
  • GenericUSBXHCI.kext
  • ASMedia.kext
  • mXHCD.kext
  • XLNCUSBFIX
YES
  • Required for USB functioning.
USBInjectAll
  • Enables USB ports.
  • Required for Intel-based Motherboards only.
  • It's advised to map the USB ports during the post-install for a better USB speed, improved sleep/wake and hotplug.
XHCI-Unsupported
  • Enables Intel USB Controllers on 9, 200, 300, 400 series and some HEDT Motherboards such as X99 and X299.
  • Required for Intel-based Motherboards only.
GenericUSBXHCI.kext
  • Enables non-Intel USB3 Controllers.
  • Usually found on Sandy Bridge, Ivy Bridge and some Haswell
  • Required for non-Intel USB3 Controllers. Only use if you have a non-Intel USB3 Controller
ASMedia.kext
  • Enables ASMedia USB3.1 Controllers.
  • Required for macOS Big Sur and later.
  • Required for ASMedia USB 3.1 Controller. Only use if you have an AsMedia USB3.1 Controller
mXHCD.kext
  • Enables ASMedia USB3.0 1040/1042 Controllers.
  • Required for ASMedia USB 3.0 Controller. Only use if you have an AsMedia USB3.0 Controller
XLNCUSBFIX
  • Fixes USB on AMD FX Systems
  • Do not use it on Ryzen Systems
  • Requires macOS 10.13 and later
Audio
  • AppleALC
  • AppleALCU
  • EMUUSBAudio
YES
  • Required for Audio functioning.
AppleALC.kext
  • Provides AppleHDA patching on macOS.
  • Enables onboard/built-in Audio.
  • Fixes various Audio related issues.
  • This kext requires Lilu.kext to function.
AppleALCU.kext
  • Required for Onboard/built-in USB Audio.
  • This kext requires Lilu.kext to function.
  • Only use if you have Onboard/built-in Realtek USB Audio Controller
EMUUSBAudio
  • Required for Creative Labs EMU USB Audio.
  • Only use if you have Creative Labs EMU USB Audio Interface
Ethernet
  • IntelMausi.kext
  • SmallTreeIntel82576.kext
  • SmallTreeIntel8259x
  • LucyRTL8125Ethernet.kext
  • RealtekRTL8111.kext
  • RealtekRTL8100.kext
  • AtherosE2200Ethernet
  • AtherosL1cEthernet
  • BCM5722D.kext
  • AppleIntelE1000e
  • Intel82566MM
  • NullEthernetInjector
Optional
  • Required for Ethernet functioning.
IntelMausi.kext
  • Enables Intel Family onboard Ethernet Controller.
  • Required for Intel-based Motherboards only.
  • It's advised to map the USB ports during the post-install for a better USB speed, improved sleep/wake and hotplug.
SmallTreeIntel82576.kext
SmallTreeIntel8259x.kext
LucyRTL8125Ethernet.kext
  • Enables Realtek RTL8125 2.5GBit Ethernet Family onboard Ethernet Controller.
  • Required for non-Intel USB3 Controllers. Only use if you have a non-Intel USB3 Controller
RealtekRTL8111.kext
  • Enables Realtek RTL8111/8168 Family onboard Ethernet Controller.
RealtekRTL8100.kext
  • Enables RTL810X Fast Ethernet Family onboard Ethernet Controller.
AtherosE2200Ethernet
  • Enables Qualcomm Atheros Killer Family onboard Ethernet Controller.
AtherosL1cEthernet
  • Enables Atheros AR813x/815x onboard Ethernet Controller.
BCM5722D.kext
  • Enables Broadcom BCM5722 NetXtreme and NetLink family gigabit onboard Ethernet Controller.
AppleIntelE1000e.kext
  • Enables Intel Fast Ethernet onboard Ethernet Controller
Intel82566MM
  • Enables ASMedia USB3.1 Controllers.
  • Required for macOS Big Sur and later.
  • Required for ASMedia USB 3.1 Controller. Only use if you have an AsMedia USB3.1 Controller
NullEthernetInjector
  • Fake Ethernet.
  • Enables Mac App Store access.
  • Required for Laptops where you don't have a built-in Ethernet port or built-in WiFi with supporting drivers
  • Suitable for Third Party (non-native) USB WiFi Adapters.
WiFi
  • AirportBrcmFixup
  • AirportItlwm
  • itlwm
Optional
  • Required for WiFi functioning.
AirportBrcmFixup
  • Required for WiFi functioning of non-Apple/non-Fenvi Broadcom Cards
  • Requires a compatible Broadcom WiFi Card. Only use if you have a compatible Broadcom WiFi Card.
  • This kext requires Lilu.kext to function.
AirportItlwm
  • Works as standalone kext.
  • Has AirDrop and Handoff support.
  • Works as WiFi Interface.
  • Requires a compatible Intel WiFi Card. Only use if you have a compatible Intel WiFi Card.
itlwm
  • Similar to AirportItlwm.
  • Required where AirportIlwm is not compatible. Varies from system to system.
  • Requires HeliPort App, which acts as a WiFi Client for Intel WiFi.
  • Has no AirDrop or Handoff support.
  • Works as Ethernet Interface.
  • Requires a compatible Intel WiFi Card. Only use if you have a compatible Intel WiFi Card.
Bluetooth
  • BlueToolFixup
  • BrcmBluetoothInjector
  • BrcmBluetoothInjectorLegacy
  • BrcmFirmwareData
  • BrcmFirmwareRepo
  • BrcmNonPatchRAM2
  • BrcmNonPatchRAM
  • BrcmPatchRAM3
  • BrcmPatchRAM2
  • BrcmPatchRAM
  • IntelBluetoothInjector
  • IntelBluetoothFirmware
Optional
  • Required for Bluetooth functioning.
BlueToolFixup
  • Required for Broadcom and Intel Bluetooth
  • For macOS 12 (Monterey) and Later
  • Do not use it with BrcmBluetoothInjector.kext and IntelBluetoothInjector.kext
  • This kext requires Lilu.kext to function.
BrcmBluetoothInjector
  • Bluetooth Injector for Broadcom
  • Required for OS X 10.11 (El Capitan) to macOS Big Sur
  • This kext requires BrcmFirmwareData.kext and BrcmPatchRAM3 to function.
  • Do not use BrcmPatchRAM.kext or BrcmPatchRAM2.kext with this kext.
BrcmBluetoothInjectorLegacy
  • Bluetooth Injector for Broadcom
  • Required for OS X 10.10 (Yosemite) and older
BrcmFirmwareData
  • Enables Firmware Upload to Bluetooth Device.
  • Required for all non-Apple and non-Fenvi Cards
  • This kext can be injected via Bootloader and is the preferred configuration.
  • This kext requires BrcmBluetoothInjector.kext and BrcmPatchRAM3 to function.
BrcmFirmwareRepo
  • Enables Firmware Upload to Bluetooth Device.
  • Required for all non-Apple and non-Fenvi Cards
  • Required for OS X 10.11 and later.
  • Must be installed in /S/L/E or /L/E.
  • This kext is slightly more memory efficient than BrcmFirmwareData.kext, but cannot be injected by a bootloader.
BrcmNonPatchRAM2
  • Required for non-PatchRAM device
  • For OS X 10.11 (El Capitan) and Later
BrcmNonPatchRAM
  • Required for non-PatchRAM device
  • For OS X 10.10 (Yosemite) and older
BrcmPatchRAM3
  • For macOS Catalina and Later
  • This kext requires BrcmBluetoothInjector.kext and BrcmFirmwareData.kext to function.
BrcmPatchRAM2
  • For OS X 10.11 (El Capitan) to macOS Mojave
  • This kext requires BrcmBluetoothInjectorLegacy and BrcmFirmwareRepo.kext to function.
BrcmPatchRAM
  • For OS X 10.10 and older
  • This kext requires BrcmBluetoothInjectorLegacy and BrcmFirmwareRepo.kext to function.
IntelBluetoothInjector
  • Bluetooth Injector for Intel
  • Required for macOS High Sierra and Later
  • This kext requires IntelBluetoothFirmware.kext to function.
IntelBluetoothFirmware
  • Enables Intel Bluetooth.
  • Enables Firmware Upload to Bluetooth Device.
  • Required for all compatible Intel Bluetooth
Storage
  • NVMeFix
  • SATA-Unsupported
  • CtlnaAHCIPort
  • ACHIPortInjector
  • ATAPortInjector
  • SASMegaRAID
  • DiskArbitrationFixup
  • Innie
Optional
  • Required for SATA/NVMe Controller functioning.
NVMeFix
  • Fixes Power Management for NVMe Drives.
  • This kext may slower the R/W speeds of your NVMe Drives.
  • Not recommended for NVMe Drives in RAID mode.
  • This kext requires Lilu.kext to function.
SATA-Unsupported
  • Enables certain SATA Controllers under macOS.
  • Certain SATA Controllers may not be recognised by the installer and due to this, you may not be able to see the target drive or the other drive connected to the particular controller.
  • Such SATA Controllers are not recognised by the SATA kexts provided by Apple and this is due to Apple doesn't uses that specific controller in their hardware.
  • If you're having a similar issue, you'll need to use this kext to overcome this issue.
  • Use "SATA-unsupported.kext" for macOS Sierra and later.
CtlnaAHCIPort
  • Similar to SATA-Unsupported.kext
  • Required for macOS Big Sur and Later.
ACHIPortInjector
  • Enables unsupported SATA Controller on macOS
ATAPortInjector
  • Enables unsupported IDE and ATA Controller on macOS
SASMegaRAID
  • Enables LSI RAID 8xxx/92xxx Controllers.
  • Enables Dell PERC 5, PERC6, H310, H700 and H800
  • Enables IBM ServeRAID M1115
  • Enables Intel RAID SRCSAS18E/SRCSAS144E
DiskArbitrationFixup
  • Disables the uninitialized disk message for an uninitialized disk
  • Removes The disk you inserted was not readable by this computer message when an uninitialized disk is connected.
Innie
  • Makes PCIe drives appear as Internal
  • An alternative option is to add the built-in device property for each drive installed.
Keyboard/Trackpad/Touchscreen
  • VoodooPS2Controller
  • ApplePS2SmartTouchpad
  • VoodooRMI
  • VoodooSMBus
  • VoodooI2C
  • BrightnessKeys
  • NoTouchID
Optional
  • Required for input functioning.
  • Only for Laptops and mobile devices.
VoodooPS2Controller
  • Enables PS/2 Keyboard, Mouse, and Trackpad
  • Enables multi-gestures for Trackpad.
ApplePS2SmartTouchpad
  • Multitouch driver for ELAN, FocalTech, and Synaptics Touchpad
  • Similar to VoodooPS2Controller
VoodooRMI
  • Required for Laptops with Synaptics SMBus Trackpads
  • Requires VoodooPS2Controller.kext and VoodooSMBus.kext for SMBus based Trackpads to function.
  • Requires VoodooI2C.kext for I2C based Synaptics Trackpads to function.
  • Similar to VoodooPS2Controller
VoodooSMBus
  • Required for Laptops with ELAN SMBus Trackpads.
  • Enables multi-gestures for Trackpad.
  • Similar to VoodooPS2Controller
  • Do not use VoodooPS2Controller.kext with this kext.
VoodooI2C
  • Enables I2C functioning.
  • Required for Laptops with I2C Trackpads and Touchscreens.
  • Requires a Satellite kext to function [VoodooI2CHID, VoodooI2CAtmelMXT, VoodooI2CELAN, VoodooI2CFTE and VoodooI2CSynaptics]
  • Enables multi-gestures for Trackpad.
  • Requires DSDT patching to work.
  • Requires a working Battery meter for enabling Trackpad Preferences.
VoodooI2CHID
  • Satellite kext.
  • Adds support for I2C-HID device.
  • Required for Laptops with I2C Trackpads and Touchscreens.
  • Common Satellite kext for VoodooI2C.kext
  • Requires VoodooI2C.kext to function
VoodooI2CAtmelMXT
  • Satellite kext.
  • Required for Laptops with Atmel Multitouch I2C Device.
  • Requires VoodooI2C.kext to function
VoodooI2CELAN
  • Satellite kext
  • Required for Laptops with ELAN I2C Device.
  • ELAN1200 and later requires VoodooI2CHID.kext to function
  • Requires VoodooI2C.kext to function
VoodooI2CFTE
  • Satellite kext
  • Required for Laptops with FTE I2C Device.
  • Requires VoodooI2C.kext to function
VoodooI2CSynaptics
  • Satellite kext
  • Required for Laptops with Synaptics I2C Device.
  • Requires VoodooI2C.kext to function
AlpsHID
  • Satellite kext
  • Required for Laptops with Alps I2C Device.
  • Requires VoodooI2C.kext to function
  • Requires AlpsHID VoodI2CHID version.
BrightnessKeys
  • Enables Automatic handling of Brightness Hotkeys.
  • Requires Lilu.kext to function
NoTouchID
  • Disables Touch ID checks which cause hangs
  • This kext is not required on 10.15.7 and later.
  • This kext requires Lilu.kext to function.
BatterySMCBatteryManager.kextOptional
  • Enables Battery readings
  • Required for Laptops only.
  • Requires DSDT patching for battery meter.
Camera
Card ReaderSinetek-rtsx
RealtekCardReader
GenericCardReaderFriend
Optional
  • Required for Card Reader functioning.
Sinetek-rtsx
  • Enables Realtek SD Card Reader
BrightnessKeys
  • Enables Realtek PCIe/USB-based SD card readers
  • Requires RealtekCardReaderFriend.kext to function
RealtekCardReaderFriend
  • Supporting kext for RealtekCardReader.kext
  • Enables Card Reader information under System Information>Card Reader
  • Helps to recognize the Card Reader as a native one.
  • Requires RealtekCardReader.kext and Lilu.kext to function
GenericCardReaderFriend
  • Enables Card Reader information under System Information>Card Reader
  • Required for built-in USB Card Reader which works OOTB but does not show up in System Information.
  • Do not use this kext if your Card Reader is powered by either AppleUSBCardReader.kext or RealtekCardReader.kext
  • Requires Lilu.kext to function
Sleep/Wake
  • HibernationFixup
  • USBWakeFixup
HibernationFixup.kext
  • Enables sync between RTC variables and NVRAM
  • Enables native hibernation on systems with hardware NVRAM
  • Supports Hibdernation modes 3 and 25
USBWakeFixup.kext
  • Creates fake ACPI device with the right wakeup params
  • Fixes display on wakeup from a USB device.
  • Requires SSDT-USBW.aml to function.
VirtualizationMacHyperVSupport
  • Provides Hyper-V integration services for macOS
  • Requires SSDT-HV-CPU.aml, SSDT-HV-PLUG.aml and SSDT-HV-VMBUS.aml to function.
  • Requires Windows 8.1 and above
Monitoring
  • SMCProcessor.kext
  • SMCSuperIO.kext
OptionalSMCProcessor.kext
  • Enables CPU Temperature for monitoring.
  • Required for CPU sensing.
  • Required for Intel CPUs only.
  • Available in VirtualSMC package.
SMCSuperIO.kext
  • Enables FAN Speed for monitoring.
  • Required for fans reading.
  • Required for Intel CPUs only.
Sensors
  • SMCLightSensor.kext
  • SMCDellSensors.kext
OptionalSMCLightSensor.kext
  • Required for Ambient Light Sensor
  • Required for Laptops only.
  • Available in VirtualSMC package.
SMCDellSensors.kext
  • Enables finer monitoring and Control of FANs
  • Only required for Dell systems supporting System Management Mode (SMM).
  • Available in VirtualSMC package.
Misc
  • RestrictEvents.kext
  • FeatureUnlock.kext
  • RTCMemoryFixup
  • SystemProfilerMemoryFixup
OptionalRestrictEvents.kext
  • Blocks unwanted processes causing compatibility issues on different hardware and unlocks the support for certain features restricted to other hardware
  • Fixes ExpansionSlotNotification and MemorySlotNotification on MacPro7,1 SMBIOS.
  • Required for MacPro7,1 SMBIOS.
FeatureUnlock.kext
  • Enables Sidecar, NightShift, AirPlay, and Universal Control
RTCMemoryFixup
  • Emulates some offsets in CMOS (RTC) memory
  • Helps to avoid some conflicts between macOS AppleRTC and BIOS/firmware of your System.
SystemProfilerMemoryFixup
  • Enables memory tab on systems when using MacBook SMBIOS which have soldered RAM.
  • Requires Lilu.kext to function
DebuggingDebugEnhancer
  • Enables Debug putout in the macOS Kernel.
  • Requires Lilu.kext to function

1. Download the required kexts as per your hardware.
2. Extract the kexts from the RELEASE folder.
3. Copy the kexts with .kext extension to EFI/OC/Kexts directory.

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 Kexts from the RELEASE folder and the RELEASE.zip file.
  • If you're following the process on Windows or Linux, you'll see the Kexts like normal folders.
  • Only copy the files with the .kext Extension.
  • Do not copy the .dsYM file from the RELEASE folder. They're only for debugging purposes.
  • Do not place unnecessary kexts here. It might prevent booting the installer.
  • Only use basic kexts which are 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.
  • Do not use "SATA-unsupported.kext" and "CtlnaAHCIPort.kext" together.
  • The Optional kexts are purely dependent on the hardware you have. If you're having matching hardware, then only add the kexts otherwise adding unnecessary kexts isn't a good idea and is highly discouraged.
 
Last edited:

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,611
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Setting up config.plist

Now, as you have things in order, the next step is to set up config.plist. It is highly recommended to create your own config.plist as the hardware differs. Copying from somewhere else isn't a good idea. You can obtain a sample.plist which is bundled with OpenCore pkg and this sample.plist will be used as a base for setting up config.plist.

1. As you already have downloaded OpenCore Pkg, simply copy sample.plist from OpenCore/RELEASE/Docs to EFI/OC directory and rename it to config.plist. The directory structure for OpenCore Pkg for Docs has been provided below.

Code:
Docs
├── AcpiSamples
│   ├── Binaries
│   └── Source
├── Changelog.md
├── configuration.pdf
├── Differences.pdf
├── Sample.plist
└── SampleCustom.plist

NOTE:
  • To avoid any conflicts and outdated settings, OpenCore and sample.plist should be from the same RELEASE version and should not mismatch.

Now, as we have setup OpenCore and the required Drivers (.efi), SSDTs (.aml), Kexts (.kext) and config.plist. The EFI should look something similar to the following

Code:
EFI
├── BOOT
│   └── BOOTx64.efi
└── OC
    ├── ACPI
    │   ├── SSDT-AWAC-DISABLE.aml
    │   ├── SSDT-EC-USBX.aml
    │   └── SSDT-PLUG.aml
    ├── Drivers
    │   ├── OpenRuntime.efi
    │   ├── OpenHfsPlus.efi
    │   └── ResetNvramEntry.efi
    ├── Kexts
    │   ├── Lilu.kext
    │   ├── VirtualSMC.kext
    │   ├── WhateverGreen.kext
    │   ├── AppleALC.kext
    │   ├── USBInjectAll.kext
    │   └── RealtekRTL8111.kext
    ├── Resources
    ├── Tools
    │   ├── BootKicker.efi
    │   ├── ChipTune.efi
    │   ├── CleanNvram.efi
    │   ├── ControlMsrE2.efi
    │   ├── CsrUtil.efi
    │   ├── GopStop.efi
    │   ├── KeyTester.efi
    │   ├── MmapDump.efi
    │   ├── OpenControl.efi
    │   ├── OpenShell.efi
    │   ├── ResetSystem.efi
    │   ├── RtcRw.efi
    │   └── TpmInfo.efi
    ├── config.plist
    └── OpenCore.efi

NOTE:
  • Your EFI might differ as each system is different and will have different requirements.

Cleaning up config.plist

Now before you start working with your config.plist, it is highly recommended to clean up the config.plist to have the required settings only. A basic clean-up is required as by default, OpenCore includes numerous settings, for several purposes and all of them may not be required by a particular system. You need to use the settings required by your system and remove all irrelevant entries and settings from your config.plist. Although, most of such settings are already off, but do exist. Keeping such settings will not harm but to reduce the size and have less clutter, it is strongly advised to delete the irrelevant settings which you don't need.

Starting from this step, you'll need to use a tool to edit the config.plist and we'll use OC Auxiliary Tools to edit the config.plist and configure it accordingly. With OC Auxiliary Tools, you have the advantage of Cross-Platform i.e. you can use the tool on Windows, Mac, and Linux. To edit your OpenCore config.plist using OC Auxiliary Tools, follow the steps below.

1. Download OC Auxiliary Tools from the downloads section of this forum.

For macOS
Mount the .DMG file by openening the .dmg file
Move the OCAuxiliaryTools to your Applications folder
Open OCAuxiliaryTools.app to launch the Application

For Windows
Extract the zip and you'll get the OCAT-Win64 folder
Use OCAuxiliaryTools.exe to launch the Application

For Linux

Update OC Auxiliary Tools

Perform an upgrade check for OC Auxiliary Tools App using Help>Download Upgrade Packages. If there's any available package for an upgrade, it will download it. Once it finishes downloading, click on Close and start upgrade and the App will upgrade to its latest version. After the upgrade, when the App reopens, check for an update using Help> Update Check. If you're using the latest version, you'll see the following

Note that you don't need to follow this step if you have downloaded the latest OC Auxiliary Tools.

Update OpenCore Package
Now, click on the Sync icon Upgrade OpenCore and Kexts icon and you'll see something similar to the following
Select Latest Version from Choose OpenCore Version option.
Click on Get OpenCore and it will update the OpenCore Database.
Once the OpenCore Database is updated, you'll see the following

Open your config.plist from the directory EFI/OC/ using OC Auxiliary Tools

ACPI


Add

1. Select all the ACPI entries using Command+A or CTRL+A on your Keyboard.
Screen Shot 2022-07-07 at 10.25.17 PM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-07 at 10.20.09 PM-min.png
Delete

1. Move to the Delete Tab and select all the entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-07 at 10.21.47 PM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-07 at 10.22.38 PM-min.png
Patch

1. Move to Patch Tab and select all the entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-07 at 10.23.23 PM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-07 at 10.23.47 PM-min.png

Quirks
Remove ResetLogoStatus

Booter


MmioWhitelist

1. Select all the entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-08 at 7.53.50 AM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-08 at 7.53.59 AM-min.png
Patch

1. Move to Patch Tab and select all the entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-08 at 7.54.14 AM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-08 at 7.54.32 AM-min.png

DP (Device Properties)


Add

1. Select all the Device entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-08 at 7.55.17 AM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-08 at 7.55.26 AM-min.png

Kernel


Add

1. Select all the Kext entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-08 at 7.56.13 AM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-08 at 7.56.38 AM-min.png
Block

1. Move to Patch Tab and select all the entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-08 at 7.56.50 AM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-08 at 7.56.56 AM-min.png
Force

1. Move to Patch Tab and select all the entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-08 at 7.57.18 AM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-08 at 7.57.25 AM-min.png
Patch

1. Move to Patch Tab and select all the entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-08 at 7.57.40 AM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-08 at 7.57.49 AM-min.png
Misc


Entries

1. Select all the Boot entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-08 at 8.00.46 AM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-08 at 8.00.53 AM-min.png
Tools

1. Move to Tools Tab and select all the Tools entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-08 at 8.01.23 AM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-08 at 8.03.04 AM-min.png
NVRAM


Add

1. Select the UUID 7C436110-AB2A-4BBB-A880-FE41995C9F82
Screen Shot 2022-07-08 at 8.03.43 AM-min.png
2. From the right pane, select the entry shown and click on the delete button to remove the key and you should have the key entry removed.
Screen Shot 2022-07-08 at 8.04.04 AM-min.png
3. From the right pane, select the value for the Key prev-lang:kbd and click on the Delete button to delete the value.
Screen Shot 2022-07-08 at 8.04.26 AM-min.png
Screen Shot 2022-07-08 at 8.04.38 AM-min.png

UEFI


Drivers

1. Select all the Drivers entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-08 at 9.17.20 AM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-08 at 8.05.40 AM-min.png
ReservedMemory

1. Move to Patch Tab and select all the entries using Command+A or CTRL+A on your Keyboard
Screen Shot 2022-07-08 at 8.05.53 AM-min.png
2. Click on the delete button to remove all the entries and you should have all the entries removed.
Screen Shot 2022-07-08 at 8.06.00 AM-min.png

Finally, Save your config.plist using the Menu File>Save option

Adding SSDTs, Kexts and Drivers in config.plist

Now, as we have got a cleaned-up config.plist, we can start adding the SSDTs (.aml), Kexts (.kext) and Drivers (.efi) to our config.plist. This linking step is necessary as OpenCore requires these configured in the config.plist and without them, OpenCore will simply not boot to the target OS. To add the SSDTs, Kexts and Drivers, follow the steps below.

1. Open your config.plist using OC Auxiliary Tools from EFI/OC directory.

SSDTs

1. In the Add Tab, click on Add button and select all the .aml files from EFI/OC/ACPI directory and you should have all the .aml files entries added.
Screen Shot 2022-07-11 at 11.36.09 PM-min.png

NOTES:
  • The .aml files must exist in EFI/OC/ACPI directory
  • As the ACPI loading order is important for OpenCore, it is advised to load the SSDTs in sorted order. This means all the necessary SSDTs should be loaded first and dependencies SSDTs should load later to avoid issues.
  • Your entries might differ as each system is different and will have different requirements.

Kexts

1. In the Add tab, click on Add button and select all the .kext files from EFI/OC/Kexts directory and you should have all the .kext files entries added.
Screen Shot 2022-07-11 at 11.41.24 PM-min.png
2. Arrange the kexts using arrow buttons. < button for up and > for down
Screen Shot 2022-07-11 at 11.41.52 PM-min.png

NOTE:
  • The .kext files must exist in EFI/OC/Kexts directory
  • As the kext loading order is important for OpenCore, it is advised to load the kexts in sorted order. This means all the necessary kexts should be loaded first and dependencies kexts should load later to avoid issues.
  • Your entries might differ as each system is different and will have different requirements.

Drivers

1. In the Drivers tab, click on Add button and select all the .efi files from EFI/OC/Drivers directory and you should have all the .efi files entries added.
Screen Shot 2022-07-11 at 11.46.05 PM-min.png
2. Arrange the drivers using arrow buttons. < button for up and > for down
Screen Shot 2022-07-11 at 11.46.15 PM-min.png

NOTES:
  • The .efi files must exist in EFI/OC/Drivers directory
  • As the driver loading order is important for OpenCore, it is advised to load the drivers in sorted order. This means all the necessary drivers should be loaded first.
  • Your entries might differ as each system is different and will have different requirements.
  • The config.plist must match the SSDTs, Kexts, and Drivers in the respective directories of the EFI folder. If you tend to delete a file in these directories and the entries are left linked in the config.plist, OpenCore will halt and will not boot further.

2. Finally, Save your config.plist using the Menu File>Save option.
 
Last edited:

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,611
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Selecting a config.plist File

OpenCore comes with default config.plist file. This config.plist cannot be used to boot most of the systems. You'll need to configure the config.plist according to your hardware, mainly the Quirks. Each System has a different set of Quirks which is required for booting. Therefore knowing your hardware is very important. In addition, you may need to configure Graphics and other PCIe devices in order to boot.

We've already created a separate thread on configuring your config.plist to boot the installer. Depending on your hardware, configure the config.plist according to the guide. Depending on the Platform and CPU you have, select the appropriate config.plist building guide.

Intel Desktops


CPU Code NameGuide Link
Penryn
Lynfield
Sandy Bridge
Ivy Bridge
Haswell
Broadwell
Skylake
Kaby Lake
Coffee Lake
Comet Lake
Rocket Lake
Alder Lake


NOTE:
  • Intel NUC and a few AIO use Mobile CPUs. For all such hardware, it is advised to use the config.plist from Intel Laptops section.

Intel Laptops


CPU Code NameGuide Link
Penryn
Lynfield
Sandy Bridge
Ivy Bridge
Haswell
Broadwell
Skylake
Kaby Lake
Coffee Lake
Comet Lake
Rocket Lake
Alder Lake

Intel HEDT


CPU Code NameGuide Link
Penryn
Lynfield
Sandy Bridge
Ivy Bridge
Haswell
Broadwell
Skylake
Kaby Lake
Coffee Lake
Comet Lake
Rocket Lake
Alder Lake

AMD Desktops
 
Last edited:

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,611
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Validating config.plist


Once you're done editing the config.plist file, the next step is to validate the config.plist to make sure no error exists. To validate your config.plist, follow the steps below.
 

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,611
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Installing OpenCore to Bootable USB


After validating the config.plist, all you need to do is install OpenCore to Bootable USB. To install OpenCore, follow the steps below.
 

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,611
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Preparing Computer for booting OS X/macOS


Before you rush and try to boot using the USB Installer, there are a few steps that you need to perform. This will eliminate any possible conflicts and make the installation hassle free with great reliability.

Performing a Backup
Although, while performing OS X/macOS installation, unless you delete Disk/Partition by mistake, OS X/macOS does not format the Disk/partition without your consent. Even though, it is recommended to perform a complete backup of your target Disk before proceeding to avoid any possible data loss. This will ensure that your data is safe and you can debug the installation without any hassle. This becomes necessary for Dual Booting Configuration.

Removing Extra Installed and Connected Devices
When booting the OS X/macOS Installer, it is important that you only have the basic Devices connected and any extra installed hardware and connected Devices must be removed or the installer may fail to boot or it can even throw a Kernel Panic. Therefore it is advised to remove the following if it exists

- Thunderbolt Cards
- FireWire Cards
- External PCIe and USB Sound Cards
- eGPU
- SATA/SAS Expanders
- SATA/RAID Cards
- External PCIe Ethernet Card
- Any USB Flash Drive, External Storage Drive, NAS, Mobile Phones, Audio Interface (USB/FireWire/Thunderbolt)

NOTE:
  • Once the installation is complete, the compatible Devices can be installed back to the computer and can be configured during postinstallation time.

Setting up Installation Drive
In order to have a seamless experience with OS X/macOS, this guide recommends using a separate/spare drive for the installation. This way, you don't need to create a separate partition on your main drive on which you have the primary OS. If you don't have an option to use a separate/spare drive, follow Multiboot Installation Guide.

Setting Up BIOS/UEFI
In order to boot OS X/macOS, you need to set up your BIOS/UEFI. To set up your BIOS/UEFI, refer to the guide linked below
 
Last edited:

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,611
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
OS X/macOS Installation



STEP 1: Booting the macOS Installer
After preparing your installation USB, EFI and setting up your BIOS/UEFI, you're ready to install it on the target computer.

1. Turn on your target Computer.
2. Boot to Boot Menu. The common Boot Menu Keys are Esc (ASUS Laptops), F8 (ASUS Desktops), F9 (HP), F12

NOTE:
  • Several people use BIOS to override the Boot Device. It is advised to use the Boot Menu Key to enter the Boot Menu
  • Refer to your Computer user manual if necessary

3. Select your USB Flash Drive with the UEFI Prefix and press enter to boot. For Legacy BIOS, select the USB Flash Drive
4. When at OC Boot picker, you'll something similar to this.

2022071806284606-min.png 2022071806085381-min.png 2022071804112659-min.png 2022071804503395-min.png

NOTE:
  • Depending on the type of the Bootable USB you created, you'll see either EFI (External) (dmg) or Install macOS Big Sur (External)

5. Select Reset NVRAM and press enter.
6. Boot back to OC by following steps 2 and 3.
7. When at the OC Boot picker, select macOS Base System (External) or Install macOS (External) and press enter to boot and the installer will load in a while. You'll see lots of scrolling texts while the installer loads.

STEP 2: Installing OS X/macOS
1. When at the installation screen, select your preferred language and continue
2. Select Disk Utility and continue, click on View, and select Show all Devices.
3. Now select your Hard Drive or SSD on which you want to install macOS and use the following parameters to erase your drive.

NameMacintosh HD
FormatAPFS
SchemeGUID Partition Map

NOTES:
  • The target disk/partition must be GUID
  • APFS format is recommended for High Sierra and Later
  • Users who plan to use High Sierra on HDD should use macOS Journaled (HFS+) Format instead of APFS Format.
  • See Multiboot Guide for more info on installing on an existing Windows Drive

4. Close Disk Utility
5. Select Install macOS and continue with the options.
6. Now select Macintosh HD and click on Continue.

NOTES:
  • Step #6 will format the target disk. Proceed with caution.
  • This will take a couple of minutes and will restart at "Less than a minute is remaining". Upon completion, the system will automatically restart. Your Mac will restart to complete the installation.

Here it ends the first phase of the installation.

7. When your Mac restarts, select Boot macOS Install from Macintosh HD or (Your drive name) and then boot. The installer screen will appear and continue the second phase of the installation. During this phase, the installer will install files to your target disk and create a Recovery HD partition. Upon completion, your Mac will automatically restart.

STEP 3: Finishing OS X/macOS Setup
After finishing the macOS installation, it's time to set up the macOS for the first usage with the newly installed macOS.

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! You should be logged in to your Desktop with the beautiful Wallpaper

NOTE:
  • The first boot may be slower as the caches are not built yet. Once the caches are built, it will boot normally.

Please read post #2 of this thread for additional information on Post-Installation
 
Last edited:

Trending Threads

Forum statistics

Threads
714
Messages
7,408
Members
6,228
Latest member
andyjusa