# Setting up OpenCore

Now with our freshly made macOS installer, we can now proceed to making our OpenCore USB.

First you'll want to download the following files:

Required Files

  • OpenCorePkg
    • This will be our bootloader, which we use to spoof our hardware and trick macOS into supporting it
  • ProperTree
    • A simple Python-based Plist editor with extra functionality for OpenCore
  • GenSMBIOS
    • To generate our new SMBIOS data
  • Lilu.kext
    • Used for on the fly kernel and userspace patching, other kexts will be relying on it
  • WhateverGreen.kext
    • Used to match numerous GPU restrictions in macOS, especially important for us as we'll be tricking macOS into think we have a supported Mac
    • Also useful for fixing DRM on Mac Pros

Extra Kexts

# Dual Processor Kexts

For systems with dual CPU sockets(ie. Mac Pros and Xserves) running Catalina and newer, you'll need the following kexts:

# SSE4.2 Kexts

For CPUs missing the SSE4.2 instruction set, you'll also need the following:

  • Telemetrap.kext
    • Required for all CPUs missing the SSE4.2 instruction set(ie. Penryn)
  • MouSSE
    • Require for systems with AMD Metal GPUs but CPUs missing the SSE4.2 instruction set(ie. Penryn)
    • AMD's Metal drivers require SSE4.2 to operate correctly
    • Note you do not need this kext if you didn't upgrade your GPU to a Metal-capable model

The following hardware are missing SSE4.2:

Missing SSE4.2

Systems missing SSE4.2:

# MacBook

SMBIOS Year
MacBook5,1 Late 2008
MacBook5,2 Early 2009
MacBook6,1 Late 2009
MacBook7,1 Mid-2010

# MacBook Air

SMBIOS Year
MacBookAir2,1 Late 2008
MacBookAir3,1 Late 2010
MacBookAir3,2

# MacBook Pro

SMBIOS Year
MacBookPro3,1 Mid-2007
MacBookPro4,1 Early 2008
MacBookPro5,1 Late 2008
MacBookPro5,2 Early 2009
MacBookPro5,3 Mid-2009
MacBookPro5,4
MacBookPro5,5
MacBookPro7,1 Mid-2010

# Mac Mini

SMBIOS Year
Macmini3,1 Early 2009
Macmini4,1 Mid-2010

# iMac

SMBIOS Year
iMac7,1 Mid-2007
iMac8,1 Early 2008
iMac9,1 Early 2009
iMac10,1 Late 2009
  • For iMac7,1, only applicable if CPU was upgraded to Penryn

# Mac Pro

SMBIOS Year
MacPro3,1 Early 2008
  • If CPU was upgraded to Penryn

Arrendale, Lynnfield and Clarkdale Patches

For those with Arrendale, Lynnfield and Clarkdale, you'll also need the following ACPI table to patch a broken CPBG bridge in macOS for Big Sur:

  • SSDT-CPBG
    • note: This is only required for Big Sur+

Note the following models require this SSDT:

Needing SSDT-CPBG

Following models need this SSDT:

# iMac

  • iMac11,1
  • iMac11,2
  • iMac11,3

# MacBook Pro

  • MacBookPro6,1
  • MacBookPro6,2
  • MacBookPro6,3

Once you have these files downloaded, take a look inside the OpenCorePkg folder:

Here we're presented with a few folders, the one we currently care about is the X64 folder(For systems with 64-Bit firmwares). Open again and then open the OC folder, here you'll see a few more folders:

  • ACPI:
    • Where we store ACPI files for injection(.aml)
  • Drivers:
    • Where UEFI drivers are stored(.efi)
  • Kexts:
    • Where kernel extensions are stored(.kext)
  • Tools:
    • Where misc tools like the UEFI shell are stored

Now lets do a bit of cleaning, empty out all the folders except the following files:

  • Keep under Bootstrap
    • Keep Bootstartp.efi
  • Keep under Drivers
    • Keep OpenRuntime.efi
  • Keep under Tools
    • Keep BootKicker.efi
    • Keep OpenShell.efi
  • Keep OpenCore.efi

Next, place the kexts we downloaded earlier into the Kext folder and the same idea with our SSDT into the ACPI folder. Once this is done, your EFI should look like the following:

From here, we now proceed to the config.plist setup

Last Updated: 11/17/2020, 4:34:14 AM