With your hardware report loaded, macOS version selected, devices customized, SMBIOS chosen, and ACPI patches and kexts reviewed, you are ready to build. Selecting Option 6 — Build OpenCore EFI from the main menu kicks off the final stage of the workflow, which downloads all required files, assembles the EFI folder, and writes a ready-to-useDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/lzhoang2801/OpCore-Simplify/llms.txt
Use this file to discover all available pages before exploring further.
config.plist into the Results/ directory.
OCLP Warning
If any device in your hardware profile requires OpenCore Legacy Patcher for the chosen macOS version, OpCore Simplify presents a warning before any files are downloaded or modified:yes proceeds with the build. Typing no returns you to the macOS version selector so you can choose a fully native version instead.
Pre-Build: Downloading Files
Before the EFI is assembled, OpCore Simplify downloads all required components from the internet. This step is labeled Gathering Files and shows progress for each item:- OpenCorePkg — the latest DEBUG/RELEASE build from Dortania’s build repository.
- OcBinaryData — picker icons and audio resources bundled with OpenCorePkg.
- Kexts — every enabled kext, sourced from Dortania Builds first, then direct GitHub releases for anything not listed there.
- macserial — the serial number generator used during SMBIOS configuration.
Download Caching
All downloaded files are cached in theOCK_Files/ directory inside the OpCore Simplify folder. A history.json file tracks the product name, release ID, download URL, and SHA-256 hash for every cached item.
On each build, OpCore Simplify compares the current release ID and a folder integrity check against the cached values. A file is only re-downloaded when a newer release is available or the cached copy fails its integrity check. This means subsequent builds are significantly faster if your dependencies have not changed.
The 5 Build Steps
Once all files are present, OpCore Simplify runs through five steps, each tracked in a progress bar:Copy EFI Base to Results Folder
The
OpenCorePkg/EFI/ tree from OCK_Files/ is copied into the Results/ directory, establishing the base folder layout with all stock drivers, tools, and resources in place. A fresh config.plist is loaded from the copied Sample.plist.Apply ACPI Patches
The ACPI engine processes your DSDT and SSDTs, generates any required SSDT files (USB power, EC, GPIO, etc.), and writes them into
Results/EFI/OC/ACPI/. ACPI rename patches and delete entries are written into the ACPI section of config.plist. Disable patches for any hardware customization-excluded devices are also applied here.Copy Kexts and Snapshot to config.plist
All enabled kexts are copied from their
OCK_Files/<product>/ directories into Results/EFI/OC/Kexts/. An OC snapshot is then performed, which populates the Kernel → Add array in config.plist with the correct path, bundle identifier, and load order for every kext.Generate config.plist
ConfigProdigy writes every remaining section of config.plist based on your hardware profile, disabled devices, SMBIOS model, macOS version, OCLP flag, and enabled kexts. This includes DeviceProperties, Kernel patches, NVRAM variables, PlatformInfo, UEFI drivers, boot arguments, and more.Clean Up Unused Drivers, Resources, and Tools
Any EFI driver, OpenCanopy picker resource variant, or OC tool that is not referenced by the generated
config.plist is deleted from the Results/ folder, keeping the output lean and free of unused files. The Resources/Audio/ directory is also removed since OpCore Simplify does not configure boot chime audio.Output Structure
After a successful build, theResults/ folder contains a complete, ready-to-use EFI:
Results/ directory is wiped and recreated on every build, so each run produces a clean output.
Post-Build: Before Using the EFI
Immediately after a successful build, OpCore Simplify displays a Before Using EFI screen that lists the steps you must complete before booting from the EFI.BIOS/UEFI Settings
The required BIOS changes are determined automatically from your hardware profile:| Condition | Required Change |
|---|---|
| Original report was Legacy BIOS but EFI was built for UEFI | Enable UEFI mode (disable Legacy/CSM) |
Secure Boot is not Disabled in the report | Disable Secure Boot |
| Desktop system with a recent Intel chipset and no Resizable BAR detected | Enable Above 4G Decoding and Disable Resizable BAR / Smart Access Memory |
USB Mapping
A placeholderUTBDefault.kext is included in the EFI so the system can boot with all USB ports active during initial setup. After booting, you must map your USB ports properly:
- Boot macOS using the generated EFI.
- Run USBToolBox to map your USB ports and generate
UTBMap.kext. - Copy
UTBMap.kextintoEFI/OC/Kexts/. - Remove
UTBDefault.kextfromEFI/OC/Kexts/. - Open
config.plistwith ProperTree and run an OC Snapshot (Cmd/Ctrl + R) to update theKernel → Addentries. - If your system has more than 15 USB ports on a single controller, enable the
XhciPortLimitkernel patch inconfig.plist. - Save and reboot.
Finding Your EFI
After dismissing the post-build screen, OpCore Simplify automatically opens theResults/ folder in your file manager. You can also find it at:
EFI/ folder to the EFI partition of your USB installer or target drive to start using it.
BIOS Settings
Required and recommended BIOS/UEFI settings for your hardware before booting the EFI.
USB Mapping
How to create a proper USB map with USBToolBox and integrate it into your EFI.