Now that we've got all our Kexts(.kext), SSDTs(.aml) and firmware drivers(.efi), your USB should start to look something like this:
- Note: Your USB will look different, everyone's system will have different requirements.
First we'll want to grab the Sample.plist
from the OpenCorePkg, this will be located under the Docs
folder:
Next lets move it onto our USB's EFI partition(will be called BOOT on Windows) under EFI/OC/
, and rename it to config.plist:
For the rest of this guide, you're gonna need some form of plist editing. And for our guide, we'll be using ProperTree and GenSMBIOS to help automate some of the tedious work:
- ProperTree
- Universal plist editor
- GenSMBIOS
- For generating our SMBIOS data
Next, let's open ProperTree and edit our config.plist:
ProperTree.command
- For macOS
- Pro tip: there's a
buildapp.command
utility in theScripts
folder that lets you turn ProperTree into a dedicated app in macOS
ProperTree.bat
- For Windows
Once ProperTree is running, open your config.plist by pressing Cmd/Ctrl + O and selecting the config.plist
file on your USB.
After the config is opened, press Cmd/Ctrl + Shift + R and point it at your EFI/OC folder to perform a "Clean Snapshot":
- This will remove all the entries from the config.plist and then adds all your SSDTs, Kexts and Firmware drivers to the config
- Cmd/Ctrl + R is another option that will add all your files as well but will leave entries disabled if they were set like that before, useful for when you're troubleshooting but for us not needed right now
Once done, you'll see your SSDTs, Kexts and firmware drivers populated in the config.plist:
- Note: If you get a pop up "Disable the following kexts with Duplicate CFBundleIdentifiers?", press "Yes". This is to ensure you don't have duplicate kexts being injected, as some kexts may have some of the same plugins(ie. VoodooInput is in both VoodooPS2 and VoodooI2C's plugin folder)
If you wish to clean up the file a bit, you can remove the #WARNING
entries. Though they cause no issues staying there, so up to personal preference.
::: danger The config.plist must match the contents of the EFI folder. If you delete a file but leave it listed in the Config.plist, OpenCore will error and stop booting.
If you make any modifications, you can use the OC snapshot tool (Cmd/Ctrl + R) in ProperTree to update the config.plist. :::
Now comes the important part, selecting the configuration path. Each platform has their own unique quirks that you need to account for so knowing your hardware is super important. See below for what to follow:
- Note: Intel's NUC series are considered mobile hardware, for these situations we recommend following the Intel Laptop Section
Code Name | Series | Release |
---|---|---|
Yonah, Conroe and Penryn | E8XXX, Q9XXX, etc 1, etc 2 | 2006-2009 era |
Lynnfield and Clarkdale | 5XX-8XX | 2010 era |
Sandy Bridge | 2XXX | 2011 era |
Ivy Bridge | 3XXX | 2012 era |
Haswell | 4XXX | 2013-2014 era |
Skylake | 6XXX | 2015-2016 era |
Kaby Lake | 7XXX | 2017 era |
Coffee Lake | 8XXX-9XXX | 2017-2019 era |
Comet Lake | 10XXX | 2020 era |
Code Name | Series | Release |
---|---|---|
Clarksfield and Arrandale | 3XX-9XX | 2010 era |
Sandy Bridge | 2XXX | 2011 era |
Ivy Bridge | 3XXX | 2012 era |
Haswell | 4XXX | 2013-2014 era |
Broadwell | 5XXX | 2014-2015 era |
Skylake | 6XXX | 2015-2016 era |
Kaby Lake and Amber Lake | 7XXX | 2017 era |
Coffee Lake and Whiskey Lake | 8XXX | 2017-2018 era |
Coffee Lake Plus and Comet Lake | 9XXX-10XXX | 2019-2020 era |
Ice Lake | 10XXX | 2019-2020 era |
This section includes both enthusiast and server based hardware.
Code Name | Series | Release |
---|---|---|
Nehalem and Westmere | 9XX, X3XXX, X5XXX, etc 1, 2 | 2008-2010 era |
Sandy/Ivy Bridge-E | 3XXX, 4XXX | 2011-2013 era |
Haswell-E | 5XXX | 2014 era |
Broadwell-E | 6XXX | 2016 era |
Skylake/Cascade Lake-X/W | 7XXX, 9XXX, 10XXX | 2017-2019 era |
Code Name | Series | Release |
---|---|---|
Bulldozer/Jaguar | It's weird | AMD was really bad with naming back then |
Zen | 1XXX, 2XXX, 3XXX, 5XXX | 2017-2020 era |
- Note:
Threadripper 3rd gen(39XX) are not supported, 1st and 2nd gen however are supported- Latest BIOS and OpenCore version has resolved this issue, all Threadripper platforms are now supported