Contribute
Register

HackinDROM App for OpenCore EFI Creation and Update

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
22,172
Motherboard
Asus ProArt Z690-Creator
CPU
i7-12700K
Graphics
RX 6800 XT
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Quadra
Mobile Phone
  1. iOS
** Guide to Using HackinDROM Application to Update OpenCore **
Please do not quote this guide in its entirety. Post a link instead

App Written and Maintained by @Inqnuam

Works with Catalina, Big Sur, Monterey and Ventura
Mojave users please use the HackinDROM website instead

Video Walkthrough by @joostiphone

NOTE:
  1. If your system does not have functioning Bluetooth, please use v1.4.3 of the app or newer.
  2. Use official builds only. Please do not use GitHub commits (i.e. intermediate state of the software).

Purpose:
New versions of OpenCore are currently being released every month. This is a good thing, but updating our EFI folders at such a high frequency can become tedious and error prone. Fortunately, @Inqnuam has developed a wonderful little app that does all of the work for us. This illustrated mini-guide walks us through the entire process.

Warning:
It is always a good idea to make a backup of the EFI folder to a USB flash disk. This can be done by formatting the USB flash disk in Disk Utility with Format=MacOS Extended (Journaled) and Scheme=GUID Partition Map. Then copy current EFI folder to the EFI partition of USB flash disk. Now the USB flash disk can be an emergency boot disk.
  • Download HackinDROM App from https://hackindrom.zapto.org as shown below. It will appear in your Downloads folder.
  • Copy the app to your Applications folder and launch it. MacOS will show standard warning about unknown developer.
  • Go to System Preferences --> Security & Privacy --> General and allow macOS to launch the app.
Screen Shot 2021-04-06 at 5.12.29 AM.png

  • The app will appear in the Menu Bar as shown:
Screen Shot 2021-04-06 at 5.16.14 AM.png

  • Click the icon. The app will take a moment to scan all drives on the system. It will then show a list of all disks that contain EFI partitions.
  • The app's version number will also be shown (bottom left corner).
  • The app will auto-update itself when a new version is available. It may be necessary to re-launch the app.
  • There is an Exit button on the top right.
  • There is a Settings button on the top left.
  • When launching the app for the first time (or to change settings in the future) click the Settings icon on the top left.
    • Do that now.
  • NOTE: Only disks that contain an EFI partition will be shown in HackinDROM App.
Screen Shot 2021-04-20 at 9.49.50 AM.png

  • The screen shown below will appear in which various preferences can be specified via the checkboxes, and the system configuration must be specified.
  • Please select motherboard vendor and motherboard model from the two pop-up menus.
  • Also select GPU type (AMD or iGPU) and WiFi type (Broadcom or Intel).
  • Then click Confirm.
  • In the second screenshot below, we have elected to enable Notifications and to hide the window when mouse is clicked outside the window. We have also selected the Motherboard, GPU, and WiFi module we are using.
  • PRO TIP:
    • The app makes a backup of the current EFI folder before updating OpenCore. By default the backup will be stored on the same disk. However, EFI partitions are only 200MB, which means there might not be enough space left in some cases (especially when using OpenIntelWireless drivers).
    • Fortunately, we can tell the app to store backups to a different disk.
    • Click Custom folder for EFI Backups and select a different disk and folder. This will save precious space in the EFI partition.
Screen Shot 2021-06-10 at 8.06.30 AM.png
Screen Shot 2021-06-10 at 8.06.39 AM.png

  • Setup of the app is now complete.
 
Last edited:
** Using HackinDROM App to Update OpenCore when New Version is Released **
Please do not quote this guide in its entirety. Post a link or excerpt instead.​


We begin by mounting the EFI partition of the drive we wish to update. The app will check (a) if OpenCore already exists, (b) what version is currently installed, and (c) how much disk space is available.

Different options will appear depending on circumstances. Here we see the possible options:
  • Reinstall OC → if latest version is already installed​
  • Install OC → if OC is not installed​
  • Update to X.Y.Z → if older version is installed and newer version is available​
  • OpenCore requires X MB → if there's not enough disk space in EFI partition​
NOTE 1: Only disks that contain an EFI partition will be shown in HackinDROM App.

NOTE 2: This app will rename the EFI partition when the partition is mounted. A unique name will be given to each EFI partition to avoid name conflicts when multiple EFI partitions exist. The new name will persist, but original name can be restored by unmounting the EFI partition through the app itself. In the example below, one of the mounted EFI partitions has been renamed to EFI-SPC-990, another has been renamed to EFI-SPC-548, and a third has been renamed to EFI-SPC-115. This is perfectly okay.
Screen Shot 2021-04-22 at 1.36.23 PM.png

In this post we will focus on Updating OpenCore to the latest version.
  • We start by clicking Update to X.Y.Z.
  • The following screen appears which gives us control over the various settings in each of the 4 sections.
Screen Shot 2021-04-22 at 3.27.14 PM.png
Screen Shot 2021-04-22 at 3.27.20 PM.png

  • We start by clicking Info, which shows us the Boot Arguments (which we can change), our serial numbers, and SIP (System Integrity Protection).
  • We can see that in this particular case SIP is disabled.
    • If we enable SIP, by default the value E7030000 will be applied.
    • But we can apply a different value such as FF0F0000 for Big Sur before we click "Enable SIP".
Screen Shot 2021-04-22 at 3.27.30 PM.png
Screen Shot 2021-04-22 at 3.27.44 PM.png

  • Now we review each of the remaining sections and make any adjustments we might need.
  • Let's look at the ACPI section.
  • The app tries to merge SSDTs from the current and new EFI folders.
    • It does not simply delete everything in current folder and replace it with files from new folder.
    • SSDTs that are only in the old folder but not in the new folder will be kept.
    • SSDTs that are in both the old folder and new folder will be replaced with new version if it has a new date/time stamp.
    • SSDTs that are only in the new folder will be added.
  • The Update column determines whether an existing SSDT should be updated if a newer version is present in the new EFI folder.
    • This controls whether the physical file is copied.
  • The Enable column determines whether any particular SSDT should be injected into the system during boot. This is equivalent to the "Enable" flag in OpenCore config.plist.
  • We can always update an SSDT with a new version but prevent it from being injected by setting Update to true and Enable to false.
Screen Shot 2021-04-22 at 3.27.51 PM.png

  • We repeat the process for Kexts and Drivers:
Screen Shot 2021-04-22 at 3.27.55 PM.png
Screen Shot 2021-04-22 at 3.28.00 PM.png

  • Everything looks good now, so let's begin the update.
  • We click Update OpenCore on the lower right and a progress bar appears:

Screen Shot 2021-04-22 at 3.28.06 PM.png
Screen Shot 2021-04-22 at 3.28.08 PM.png

  • When the update is complete, a notification appears if we've enabled Notifications in Settings.
Screen Shot 2021-04-22 at 3.28.14 PM.png

  • HackinDROM App makes a backup of the previous EFI folder before performing the update. We can see that here:
Screen Shot 2021-04-22 at 3.31.20 PM.png

  • Update Complete.
 
Last edited:
** Using HackinDROM App to Create New EFI **
Please do not quote this guide in its entirety. Post a link or excerpt instead.​


HackinDROM App can also be used to create a new OpenCore EFI folder for a new installation. Over time more motherboards will be added. As of the time of writing, the following motherboards/configurations are available:
Screen Shot 2021-04-27 at 10.54.04 AM.png

Note that for Gigabyte Z390 Designare and Z490 Vision D there is a standard configuration for use with a Broadcom-based WiFi/BT module or card (such as Fenvi, YOUBO, ABWB, etc.) and a special configuration for use with the on-board Intel WiFi/BT module. The special configuration contains the suffix OpenIntelWireless. To use the OpenIntelWireless configuration, there must not be any other WiFi/BT module in the system other than a single Intel module.
  • We begin by selecting Create EFI as shown:
Screen Shot 2021-04-27 at 10.53.33 AM.png

  • This brings up the following configuration pane:
Screen Shot 2021-06-10 at 8.13.03 AM.png

  • We begin by clicking Select Folder to choose an output folder.
    • It is best to mount the EFI partition of the USB install disk or any other target disk, then choose that EFI volume.
    • It is also possible to choose any specific folder on any drive.
  • Then select Motherboard and the specific version of OpenCore to be used.
  • Click the blue box (yellow exclamation icon) to show Release Notes for the selected version of OpenCore.
  • HackinDROM App automatically generates new serial numbers and other PlatformInfo credentials the moment the page opens.
    • The values shown above were auto generated.
    • It is possible to re-generate PlatformInfo credentials by clicking Generate New.
      • This should be done if the System Serial Number happens to be in use by someone else.
      • We click the  (Apple) icon to open the Apple Support webpage to check whether the System Serial Number is already in use.
        • If the website reports an error message in red, then the serial number is not in use and we may proceed.
        • If the website reports that the serial number is in use, then we must click Generate New to try a different serial number.
      • It is essential that the System Serial Number we use is not already in use by someone else.
  • We can also choose System Product Name, but it is recommend to use the default value shown.
  • We can also delete and add Boot Arguments.
    • The boot arguments shown will be those from the selected OpenCore version that will be installed.
    • However, boot arguments can be imported from the currently running Hackintosh.
  • We can also enable or disable System Integrity Protection or SIP.
  • In the example below, we create a new EFI folder for Gigabyte Z490 Vision D:
    Screen Shot 2021-06-10 at 8.35.09 AM.png
    Screen Shot 2021-06-10 at 8.35.14 AM.png
  • When we're ready to proceed, we click Save to folder (yellow box).
 
Last edited:
** Using Admin Functions of HackinDROM App (for Designated Admins) **
Please do not quote this guide in its entirety. Post a link or excerpt instead.​


NOTE:
  • Use official builds only. Please do not use GitHub commits (i.e. intermediate state of the software).
Purpose:
If you wish to add your motherboard's EFI folder to the list of boards supported by HackinDROM App, please send a private message to @Inqnuam to request a User ID and Password. A minimum of 75 posts on this website are necessary to qualify for private messaging. You will then be able to perform the following actions:
  • Create an entry for a new motherboard, complete with EFI folder.
  • For any of the entries you have created, you can:
    • Post a new EFI folder when a new version of OpenCore is released
    • Post a modified EFI folder if a significant issue is found and fixed
    • Delete any previous EFI folders
    • Set any EFI folder as the current folder
  • It is not necessary to remove serial numbers from your config.plist files before uploading. The app will remove them automatically from every .plist file.

Prerequisites:
In order to ensure that only high quality EFI folders are submitted to HackinDROM App, we request the following conditions or prerequisites:
  • You should have either a User Build or Golden Build thread on TonyMacx86 for the system.
  • A handful of users should have already used your EFI folder to confirm that it works.
Just as Apple curates the iOS and Mac App stores to ensure that the content meets certain quality criteria, we would also like HackinDROM App to contain trustable EFI folders.

How to Use the Admin Functions:
When a User ID and Password are provided, @Inqnuam will also give you the magic sequence that opens the Admin portal. Please do not disclose the magic sequence.

Login with User ID and Password:
STEP 1 - Login.png

This icon will appear on the main page:
STEP 2 - Admin Settings.png

Click the Admin Settings icon to reveal the following:
STEP 3 - Resize Panes.png
STEP 4 - View all Entries.png


Let's add a new EFI folder. We begin by clicking the icon on the top right corner (see screenshot above), which reveals the screenshot below.
  • Click the Add button to add a brand new system and follow inscriptions on the screenshots below.
  • Or click Select Build to add a new EFI folder to an existing build.
Screen Shot 2021-06-10 at 8.45.09 AM.png

If we choose Add to create a brand new system, we will see the following:
Screen Shot 2021-06-10 at 8.48.39 AM.png


Let's create Gigabyte Z390 Designare. We will use iMac19,1 and we will select the OpenCore EFI folder from our local SSD. Please ensure that your own serial numbers are not in any of the config.plist files.

Whether we create a brand new build or add a new EFI folder to an existing build, we must follow the procedure below.

NOTE:
It is not necessary to remove serial numbers from your config.plist files before uploading. The app will remove them automatically from every .plist file.
  • After we click Select EFI folder (see screenshot above) and select a complete OpenCore EFI folder on our local disk, we will get the screens shown below.
  • Because there are two plistfiles in the folder I selected, we see two icons in green:
    • config-AMD-GPU.plist
    • config-Intel-iGPU.plist
  • We need to drag and drop these files onto the appropriate black icon as shown.
    • Because config-AMD-GPU.plist is for a system with AMD GPU and Broadcom WiFi/BT, we drag and drop it on the top left corner as shown in blue.
    • Because config-Intel-iGPU.plist is for a system with only Intel iGPU (no AMD GPU) and Broadcom WiFi/BT, we drag and drop it on the bottom left corner as shown in magenta.
Screen Shot 2021-06-10 at 8.58.30 AM.png

  • Now the two green icons are gone and we see a red and blue icon in the screenshot below (Team Red and Team Blue).
  • Then we click Release Notes and add any relevant notes. We can also add a URL for an associated website, if any. For example, we add a URL to the User Build or Golden Build thread on TonyMacx86 that further explains the build.
  • Now refer to the box in magenta that is marked See guide. There are 3 icons here:
    • The green icon enables or disables the entry. If we do not want users to see and download this particular entry, we can disable it at any time. For a new build, we will of course enable it.
    • The exclamation point warns users to read the Release Notes. When we upload a new EFI folder for an existing motherboard, we want users to see a bright yellow icon as a reminder to read Release Notes.
    • The third item is Set Latest. If this is the latest version of the EFI folder for the motherboard, then we should enable the checkbox.
  • When everything is done, we finally click the "upload to cloud" button on the lower right corner.
Screen Shot 2021-06-10 at 9.03.38 AM.png
STEP 5E - Release Notes.png

  • Congratulations! You've added a new motherboard or a new EFI folder for an existing motherboard, and contributed to the vibrancy of the Hackintosh community.


Managing EFI Folders for an Existing Build

Let's use the example of Gigabyte Z490 Vision D to illustrate the process of managing multiple EFI folders. When we select this entry, we see a list of all available OpenCore versions.
  • Next to each version are 4 icons:
    1. The first icon is a slide that enables or disables the EFI folder. When disabled, users will not be able to see or download that folder.
    2. The second icon shows the Release Notes and associated URL. Both can be edited at any time.
    3. The third icon is a warning or alert indicator to remind users to read the Release Notes.
    4. The fourth icon allows us to download the EFI folder to local disk.
  • Notice the red dot in the middle of the blue OpenCore logo for the topmost entry. The red dot means this is the latest release. The latest release cannot be disabled.
  • We can click the blue OpenCore logo for any other entry to make it the latest. Then the previous entry can be disabled.
  • In the second screenshot below, we have disabled OpenCore 0.6.3 and now we see a red trash icon that allows us to delete the entry.
STEP 6 - Managing EFI Folders.png
STEP 7 - Deleting an Entry.png
 
Last edited:
** Troubleshooting / Auxiliary Features Guide **
Please do not quote this guide in its entirety. Post a link or excerpt instead.

This guide will grow as additional issues and suggestions become known.

Troubleshooting:
Common causes:
  1. An unusual disk configuration.
  2. A server-side issue.
What to do:
  1. An unusual disk configuration
    • Export disk configuration to a file and create a post in this thread describing the problem.
    • The file is created as follows, in Terminal:
      • diskutil list -plist > ~/Documents/alldisks.plist
    • This creates a file in the Documents folder called alldisks.plist. Post this file along with a description of the problem.
  2. A server-side issue
    • This can occur while maintenance operations are being performed on the server.
    • In this case a message should appear on screen.
    • In most cases we simply need to wait and try again.
To reset all app settings to their original defaults, simply exit the app if it's running, then type the following command in Terminal:
  • defaults delete Inqnuam.HackinDROM
Now re-launch the app.
The app queries the system for various disk configuration data and preserves it in a cache. Most Mac applications preserve various data in a standard cache location: ~/Library/Caches. If necessary, the HackinDROM Application cache can be manually deleted by typing the following in Terminai:
  • rm -rf ~/Library/Caches/Inqnuam.HackinDROM
Be very careful when typing this command because it recursively deletes the specified directory and any of its sub-directories.

Auxiliary Features:
When reporting problems related to HackinDROM or any other issue, it may be helpful to include a snapshot of the system configuration. One option is to use IORegistryExplorer, but another is to use the Report Archive feature of HackinDROM App, as follows:
  • Mount a disk that contains an OpenCore EFI folder.
  • Then click the Report Archive icon that will appear.
  • The OpenCore EFI folder and a subset of System Information will be zipped into a Report file on the Desktop.
  • All serial numbers and personal information will be removed to ensure privacy.
  • The ZIP file can subsequently be posted along with a description of the problem.
Screen Shot 2021-05-05 at 7.38.26 AM.png
Are you experiencing Bluetooth lagginess or momentary disconnects? It could be due to low signal received by the Bluetooth device. Bluetooth RSSI or Received Signal Strength Indicator can be monitored using HackinDROM App.
  • Click Settings icon at top left of HackinDROM App's home screen.
  • Then follow the screenshots below:
Screen Shot 2021-05-05 at 7.38.04 AM.png
Screen Shot 2021-05-05 at 7.37.29 AM.png
 
Last edited:
The app keeps crashing here, and trying to restart.

The icon briefly appears in my menu bar, and then disappears.

I'm on 10.15.7.
 
Hello,
Update two config Z390 Desiganre and B550 VISION D
OK with Hackindrom Tool
 
Back
Top