Skip to content

mswgen/oc-updater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenCore Updater

Update your OpenCore easily.

English | 한국어(Korean)

Installation

This app is supported on macOS only.

Download the DMG of latest version from release page.

Mount the disk image and copy OpenCore Updater to /Applications.

When launching the first time, a dialog will appear saying that the app cannot be opened. This is because the app is not signed.

Press Cancel, open Finder and go to /Applications.

Right click OpenCore Updater and select "Open". Another dialog will appear saying that macOS cannot verify the developer. Press Open, and the app will open. You don't need to do this the next time. However, when updating(reinstalling) the app, you will need to do this again.

Usage

When the app opens, press Get Started. A dialog will appear asking you to select the EFI directory.

Select your EFI directory. It's usually /Volumes/EFI/EFI. It should have BOOT and OC directories inside.

You may also drag the EFI directory to the Dock icon of the app.

If the EFI is not mounted, run the following command in Terminal to mount EFI:

sudo diskutil mount $(diskutil list | grep -in "EFI" | head -n1 | awk '{print $7}')

If your OpenCore version is detected, your OpenCore version will be displayed.

If your OpenCore version is not detected, you will be asked to select the OpenCore version you are using. Select the version you are using.

If you are not using the latest version of OpenCore, the app will ask you to update. Press Update to update OpenCore.

The app will start to download OpenCore, kexts, and Binary Data.

When the app finishes downloading, it will create a backup of your old EFI and will replace files with the new ones.

Then, it will update config.plist. When it's done, it will display that it's done. Click the 'Finished' text to see the list of not updated kexts, the backup directory, and whether OpenCore Vault is disabled. You need to reboot your computer to see the changes.

To update multiple EFis, drag each EFI directory to the Dock icon of the app or click 'Open another EFI'.

Troubleshooting

When the update is done, it displays that OpenCore Vault is disabled

If you were using OpenCore Vault, this message will appear. This is because the app cannot create OpenCore Vault.

So if you want to use OpenCore Vault, you need to create vault again and enable it in the config.plist.

My OpenCore version is not detected

OpenCore Updater checks your OpenCore version by comparing the SHA-256 hash of your OpenCore.efi and the list of hashes in the app. If the hash is not listed in the app, it can't detect your OpenCore version. You can just manually select the version you are using.

If you are using too old version (before 0.6.3), you need to manually update to 0.6.3 first and then use this app to update to the latest version.

Also, if you are using the DEBUG build or 32-Bit version of OpenCore, you can't use the app.

Some kexts are not updated

OpenCore Updater doesn't update all kexts, but it will update the ones that are listed in the app. The list of kexts that this app can update is:

  • VirtualSMC and plugins
  • Lilu
  • WhateverGreen
  • AppleALC (including AppleALCU)
  • VoodooPS2Controller
  • VoodooI2C and satelite kexts
  • ECEnabler
  • BrightnessKeys
  • IntelMausi
  • RealtekRTL8111
  • itlwm
  • AirportItlwm
  • IntelBluetoothFirmware
  • IntelBluetoothInjector
  • IntelBTPatcher
  • NVMeFix
  • CpuTscSync
  • CPUFriend
  • HibernationFixup
  • FeatureUnlock
  • RestrictEvents
  • CpuTopologyRebuild
  • AirportBrcmFixup
  • BrcmPatchRAM kexts
    • BlueToolFixup
    • BrcmBluetoothInjector
    • BrcmBluetoothInjectorLegacy
    • BrcmFirmwareData
    • BrcmFirmwareRepo
    • BrcmNonPatchRAM
    • BrcmNonPatchRAM2
    • BrcmPatchRAM
    • BrcmPatchRAM2
    • BrcmPatchRAM3
  • AtherosE2200Ethernet
  • USBInjectAll
  • XHCI-unsupported
  • CtlnaAHCIPort
  • SATA-unsupported
  • AppleMCEReporterDisabler
  • RealtekCardReader
  • RealtekCardReaderFriend

all other kexts will not be updated. However, there might be a newer version of those kexts. If this is the case, you should update them manually.

Auto app update support

Auto update is supported. When there's a new version of the app, the app will automatically download it in the background. Then, it will notify you about that. Update will be automatically applied when you close the app.

It may take some time to install the update. If you open the app and the update is not applied, wait for the notification, close the app, wait about 1 minute, and open the app again.

When updating from 0.6.5 to 0.6.6, I get a warning

In 0.6.6, config.plist - Misc - Security - BootProtect and /EFI/OC/Bootstrap/Bootstrap.efi are changed to config.plist - Misc - Boot - LauncherOption.

If you didn't use Bootstrap, there's no problem with this. However, if you used Bootstrap, the warning will appear.

If you want to update to 0.6.6, you need to manually remove the boot entry. You can do this by following the steps below:

  1. Open /EFI/OC/config.plist
  2. Set Misc - Security - BootProtect to None
  3. Set Misc - Security - AllowNvramReset to True
  4. Reboot and from the OpenCore boot picker, select Reset NVRAM
  5. When your computer reboots, enter BIOS settings and confirm that UEFI OS (which is the BOOTx64.efi of OpenCore) is at the top of the boot menu. If it's not, you need to move the boot entry to the top of the boot menu.
  6. Save and reboot to macOS.
  7. Run OpenCore Updater again.
  8. Now, the warning will not appear.

After updating, OpenCore Configurator, Xcode, and PlistEdit Pro cannot read config.plist

Fixed in 1.0.8. If you are using older versions of OpenCore Updater, update it to 1.0.8 or later.

How to build

  1. Install Node.js. Version 16 (Currently LTS) is recommended.

  2. Clone or download the source code.

  3. Open the terminal and type: npm i -g yarn to install yarn.

  4. Type yarn to install the dependencies.

  5. To open the app for development, type yarn start.

  6. Type yarn build to build the app. You need a Mac or Hackintosh to build the app.

  7. You can find the DMG file in the out directory. This app can run on both Intel Mac (Including Hackintosh) and Apple Silicon Mac.

Credits

mswgen for the app.

acidanthera for the OpenCore project and many kexts.

InsanelyMac for RealtekRTL8111 kext.

1Revenger1 for ECEnabler kext.

OpenIntelWireless for AirportItlwm, itlwm, and IntelBluetoothFirmware kext.

VoodooI2C for VoodooI2C and satelite kexts.

Apple for macOS.

junepark for testing and logo.

exacore39 for testing.

JGP for testing.

Gongdeugi for testing.

And many people who contributed to the project.

License

Licensed under the MIT license. Please see the LICENSE file for more information.

OpenCore and the OpenCore logo are trademarks of Acidanthera.

Apple and macOS are trademarks of Apple Inc. Apple is not associated with or affiliated with this project.

All other trademarks are the property of their respective owners.