Skip to content
This repository has been archived by the owner on May 21, 2024. It is now read-only.

2. Preparation

Valentin Ivan edited this page May 21, 2021 · 5 revisions

Update your BIOS

First of all, install the latest BIOS on your 3020 machine. For more instructions, please check Dell's website.

I made a bootable FreeDOS USB, and copied over the exe file that Dell provided with the update. Run this executable, and follow the instructions. Keep in mind, you need to enable legacy boot for FreeDOS, which we'll need to turn off later.

Creating the install media

You have to make an installation media to install MacOS, and later you have to make it bootable by PCs too. If you're using MacOS, you can head to the App Store to download the installer directly from Apple.

Creating Big Sur (11) install media on Windows

Since gibMacOS is broken with Big Sur, making an install media on Windows is now more difficult, than it was on Catalina. OpenCore has a nicely detailed guide about the topic, check it out on this link. Keep in mind, this method creates a web installer only, so make sure you have active internet connection during the install.

For Mac and Linux, check this link.

Configuring the EFI

First of all, download the EFI folder I've included in this repo, so we can make some adjustments on it. You will find the latest files under the releases, or just simply download the repo as it is.

In this step, we will tweak our bootloader, generate our fake Mac serials, than write it out on the install media's EFI folder, so PCs will be able to boot from it. Althrough generating serials are possible post-install, I would not recommend it, doing these tasks now can save a lot of pain and troubleshooting later, especially when you trying to make iMessage work.

GenSMBIOS values

We need a script, called GenSMBIOS, to be able to create fake serial number, UUID, and MLB numbers. This step is essential to have a working iMessage, so do not skip it. It is highly recommended to do this now, rather than post-install. This script can run on Windows too.

The process is the following:

  • Download GenSMBIOS as a ZIP, then extract it.
  • Launch GenSMBIOS.bat, (or GenSMBIOS.command on Mac) and use option 1 to download MacSerial.
  • Choose option 2, to select the path of the config.plist file. It will be located in EFI/OC folder. ( The stuff you've downloaded from this repo. :) )
  • Choose option 3, and enter iMac15,1 as the machine type. This is the closest Mac configuration to our Hackintosh machine.
  • Press Q to quit, your config.plist now should contain the required serials.

Enter the proper ROM value

After adding serials to your config.plist, you have to add the computer's MAC address to the config.plist file. This step is also essential to have a working iMessage, so do not skip it. It is highly recommended to do this now, rather than post-install. If you have a functioning operating sysytem on the Optiplex, it is a pretty easy task to accomplish. Since I had no OS on my Optiplex, I booted into BIOS, and used an smartphone app called Fing to scan the MAC address of the machine. You just have to be in the same network with the machine. Write down the address somewhere, since we'll need it in the next step.

We need a Plist editior, to write the MAC address into the config.plist file. I used ProperTree, since it works on Windows too. Xcode editior works well too. You have to change the MAC address value in the config.plist at

PlatformInfo -> Generic -> ROM

Delete the generic 112233445566 value, and enter your MAC address into the field, without any colons. Save the Plist file, and it is now ready to be written out to the EFI partition of your install media.

About the Intel HD4400 iGPU

I highly recommend not to use an Intel HD4400 equiped CPU, as you'll experience random graphics glitches and freezes in certain apps. Mac setup app (on first boot) is one of them, as you will have random black boxes on the screen. Preview will freeze with large image files, as well as GarageBand freezes in the audio settings menu. (At least, until now, these are the apps that I experienced issues with.) For a flawless MacOS experience, I strongly recommend to use Intel HD4600 equipped CPU, or one of the supported dGPUs.

If you will add a dGPU

In this guide, I'm not covering how to add a dedicated GPU, as it would be different for different GPUs. You have to do your own research here. However, you must change some iGPU configuration for sure. First, head to the

DeviceProperties -> PciRoot(0x0)/Pci(0x2,0x0)

dictionary, in the config.plist file. Then, remove all entities, expect this variable, and make sure to modify it's value too:

AAPL,ig-platform-id -> 04001204

This will put you iGPU into compute-only mode, and it will be used for encoding tasks only by macOS. In this state, the iGPU is not capable to drive a display.

Finally, remove boot arguments form the

NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot args

field, and remove all the arguments listed here:

-igfxmpc -igfxcdc -igfxdvmt

These are some Whatevergreen pathces, that you do not need in iGPU encode only mode.

Writing out the EFI to the install media

After you've finished with the neccesary tweaks, you have to copy the EFI folder to the USB drive's EFI partition. This allows us to boot the MacOS installer on a PC. On Mac and Linux, this partition should be automatically mounted, if not, use the mount command in the terminal to mount it manually. On Windows, follow this guide to mount the EFI partition of the USB stick. (Although the one created by gibMacOS mounted automatically under Windows too.) Copy the entire EFI folder to the drive - including the root EFI folder too - and, after that we are ready to start working on the installation process. If you've followed OpenCore's media creation guide, use this EFI folder insted their generic one.

Next step Installation ->>