Creating the USB

Setting up OpenCore

Requirements:

  • OpenCorePkg (Recommend to build from scratch instead of using the prebuilt package as OpenCore is constantly being updated. As of writing, we're on Version 0.5.3 even though the current official release is 0.5.2). The easiest way to build is via the macbuild.tool, you will need Xcode's Commandline tools

  • mountEFI or some form of EFI mounting(terminal command example can be found here).

  • ProperTree or Xcode to edit .plist files (OpenCore Configurator is another tool but is heavily outdated and the Mackie version is known for corruption. Please avoid these kinds of tools at all costs!).

  • Cleaned NVRAM(This is seriously important as you want a clean slate when working with OpenCore, luckily with OC you can press Cmd+Option+P+R while booting to clean your NVRAM as long as you have PollAppleHotKeys set to True. Some firmware require UsbKbDxe.efi for proper keyboard functionality with this setting on).

  • USB formatted as MacOS Journaled with GUID partition map.

  • Knowledge of how a Hackintosh works and what files yours requires(ie: Type of network controller).

  • You must remove Clover from your system entirely if you wish to use it as your main boot-loader. Keep a backup of your Clover based EFI.

Do I need macOS to setup OpenCore and install macOS?

Actually no, you can go into the release tab of all your required files and grab them that way. MaciASL is only on macOS so compiling them may be more difficult if it's not handled by SSDTTime. See the installer section below for more info.

Recommended BIOS settings:

  • Disable:

    • Fast Boot

    • VT-d(can be enabled if you set DisableIoMapper to YES, AMD users will need to disable SVM in the BIOS)

    • CSM

    • Thunderbolt

    • Intel SGX

    • Intel Platform Trust

    • CFG Lock(MSR 0xE2 write protection)

      • If this can't be turned off in the BIOS(or even found) please consider patching it out. See Fixing CFG Lock for more info.

      • AMD CPU users don't need to worry about.

  • Enable

    • VT-x

    • Above 4G decoding

    • Hyper-Threading

    • Execute Disable Bit

    • EHCI/XHCI Hand-off

    • OS type: Windows 8.1/10

Note for legacy users

  • If you want to use OpenCore on your system, please follow the Legacy Install section first, after you can continue following the Base folder structure section

Creating the USB

Creating the USB is simple, all you need to do is format it with GUID partition map. There is no real size requirement for the USB as OpenCore's entire EFI will generally be less than 5MB.

Formatting the USB

Next, we'll want to mount the EFI partition on the USB with mountEFI.

mountEFI

You'll notice that once we open the EFI partition, it's empty. This is where the fun begins.

Empty EFI partition

Base folder structure

To setup OpenCore’s folder structure, you’ll want to grab those files from OpenCorePkg and construct your EFI to look like the one below:

base EFI folder

Now you can place your necessary .efi drivers from AppleSupportPkg into the drivers folder and kexts/ACPI into their respective folders. Please note that UEFI drivers from Clover are not supported with OpenCore!(EmuVariableUEF, AptioMemoryFix, OsxAptioFixDrv, etc).

  • Please do also note that AptioMemoryFix.efi has now been split between OpenCore itself and FwRuntimeServices.efi

Here's what mine looks like(For the majority of users you can ignore Tools but it can be useful like for Shell.efi and other such tools):

Populated EFI folder

Reminder:

  • SSDTs and custom DSDTs go in ACPI folder

  • Kexts go in Kexts folder

  • Firmware drivers(.efi) go in the Drivers folder

Making an installer

While you don't need a fresh install of macOS to use OpenCore, some users prefer having a fresh slate with their boot manager upgrades.

  • Users with a mac:

    • Format the USB as HFS+/MacOS Journaled with GUID partition map

    • Download a copy of macOS

    • Run the createinstallmedia command provided by Apple

  • Users without a mac:

    • Format USB as Fat32 with GUID partition map

    • Download the macOS BaseSystem.dmg and BaseSystem.chunklist

    • Create a folder on root of Fat32 partition called com.apple.recovery.boot and place the BaseSystem.dmg and BaseSystem.chunklist in there

Note: Some users may have issues booting the USB, make sure you have an HFS driver and you can also try AvoidHighAlloc set to YES. If you continue to have issues, I recommend using Midi's /r/Hackintosh macOS Internet Install