Jump to content

22 posts in this topic

Recommended Posts



Command line tool that will build a working EFI folder based on the settings in the config.plist file.




you can also copy your config.plist to the RELEASE folder and double-click OC-tool  

this is the same as running

./OC-tool -uo build release

from the command line  


see the wiki for more info  




added functionality to the -T option  (update ver 1.6pt)  


TUI (Text based User Interface) now has limited functionality  

kexts, drivers, tools and quirks can be toggled on or off, then by pressing g an EFI folder will be created based on what you set  




- BOOT/BOOTx64.efi built automatically  

- OC/OpenCore.efi build automatically

- OC/ACPI folder built automatically from settings in ACPI/Add section of config.plist  

- - the tool can compile .dsl to .aml on the fly if iasl is present, but I recommend compiling them to .aml yourself for the tool to move over  

- OC/Drivers folder built automatically from settings in UEFI/Drivers section of config.plist  

- OC/kexts folder built automatically from settings in Kernel/Add section of config.plist  

- OC/Tools/Shell.efi built automatically from setings in Misc/Tools section of config.plist  

- OC/vault.plist and OC/vault.sig are built automatically from the Misc/Security/RequireVault setting in config.plist  

- can specify debug or release version of resources to be built  

- parses plist files internally, no longer needs to call /usr/libexec/PlistBuddy which may not exist on Catalina  

- kexts, drivers, tools and quirks can be enabled or disabled before building the EFI by using the -T option  


Edited by rusty-bits

Share this post

Link to post
Share on other sites

update ver 1.0p(0907)   checked with opencore DBG-050-2019-09-07 + macOS 10.14.6 (18G95)


changed -s option to -q for quiet - more consistent with other command line tools   


added -u update option

    if used alone it will update the tool and any pulled repos, then exit, same as the update command

    if used before the build command it will update first, then build the EFI folder


-V verbose option will dump all output to the screen instead of the log file

    I find using the combined -uV options to be useful at times


-A will pull and build all available repos

    used alone it will build DEBUG and RELEASE versions

    specify -A debug, or -A release to only build those specific versions

    useful if you want all built resources to be local

    I just use it to check my code for bugs


-X will delete all local pulled and built resources

   I use it when I've messed up something and need a clean start


added code to check missing built files as well as updated repos


to do:

    still working on a way to grab prebuilt resources on the fly, for now any Drivers or Kexts that the tool can't pull and build on its own can be placed in the extras folder, the tool will see them in there and copy them to the EFI folder

Share this post

Link to post
Share on other sites

update ver 1.1p(0911)


added support for the ACPI folder  

- the tool will compile .dsl files into .aml files if you have iasl installed, but I recommend building the .aml files yourself and placing them in the extras folder.  

- the tool will always check the extras folder first for ACPI files and use those if found  


cleaned up the swap function a bit, this makes sure that ...  

- the debug version of Lilu.kext is built before any other kexts

- the debug version of VirtualSMC.kext is built before AsusSMC.kext (if you're using that)  

- Shell.efi is built last since it uses patched UDK2018 tools instead of acidanthera/audk  


removed the -A option, there was little need for the tool to build every resource it was aware of.  I was just using that option for testing.  


removed the update command since it seemed redundant.  

The -u option will check for updates and exit if used alone.  If used before the build or copy commands the tool will check for updates first.   

Edited by rusty-bits

Share this post

Link to post
Share on other sites

update ver 1.1p(0913)


added -o option   

- this will open up to the EFI folder in the macOS finder when done building  


changed tool name to OC-tool to be more consistent  

- old tool name, OpenCore-tool, will still work for now but will issue a notice at . the end about the new name.  


beginning work on removing the need to use PlistBuddy or plutil in the tool, will parse the config.plist file in the tool itself to insure compatibility with Catalina, etc.

Share this post

Link to post
Share on other sites

update ver 1.3p(0918)  


added -U  (uppercase U) option

lowercase -u will check for updates before building the EFI folder

uppercase -U will check for updates and only build the EFI if there were changes,  

    if nothing changed it will exit  


fixed -q option, will now be quiet when checking for updates too  



Share this post

Link to post
Share on other sites

Hello Rusty.

OC-tool, build from scratch, build with -u (adding VoodooHDA) works fine on an Haswell Platform (H87M-e, i5-4440, 20 Gb DDR3 1600 Mhz, MSI GTX 650 Ti ...), more details in attachement.


So thanks

Best regards

Capture d’écran 2019-09-23 à 12.01.40.png

Share this post

Link to post
Share on other sites

I'm glad it worked for you, and glad to see it's working well on Catalina!  And in French!  ;)  


Hopefully I'll find a way to reliably download the latest versions of resources such as VoodooHDA from sourceforge.net and add files like VoodooHDA.kext to the known files list of OC-tool, but I'm working on a Text based user interface right now.  

Share this post

Link to post
Share on other sites

Hi Rusty.



Catalina Dev. beta 8 updated so Catalina Dev. beta 9 works fine but after a "cold boot", restart won't boot staying on big Apple screen.

Best regards

Catalina Bêta Dév. 8 OC boot 2019-09-23 à 19.26.03.png

Catalina Bêta Dév. 9 Download 2019-09-23 à 19.16.22.png

Catalina Bêta Dév. 9 OC boot 2019-09-23 à 20.33.18.png

Share this post

Link to post
Share on other sites

Hello, I'm glad it updated to beta 9, but sad you're stuck on the Apple screen.  

I have no experience with Catalina or a Haswell system, I'm on Mojave with a Coffee Lake  

I don't think there is anything I can do with OC-tool to help, since all it does is build the latest files and copy them into an EFI folder, but please let me know what you find.  If OC-tool has a problem I want to know.  

The text based user interface, TUI, I'm working on will list options that OC-tool sees in the config.plist file.  If you want to try it out, do ...  


git pull
git checkout TUI
git pull
./OC-tool -T




It might show something unexpected   

use `git checkout master` to return to the main version of OC-tool  


Edited by rusty-bits
git pull

Share this post

Link to post
Share on other sites


first all, ./OC-tool -T and the result is imageproxy.php?img=&key=c17464ef1b1b51c71501619472_Capturedecran2019-09-25a15_30_17.thumb.png.d29385068ba6b2c99165c6e40828a368.png

no doubt with OC-tool, it's my fault, my own fault, certainly a lack in content of "config.plist" or in use of "efi" or "kext" component(s).

For example, after Catalina update l haded XhciDxe.efi which is present in my Clover EFI kexts section and this causes problems, so I'll remove it and I'll try with GenericUSBXHCI.kext.

For me OpenCore is fabulous and your OC-tool a very helpful tool.


Best regards

Edited by matxpa

Share this post

Link to post
Share on other sites

update ver 1.5pt(0925)  


added -T option  

it opens a Text based User Interface - TUI  

it doesn't do much of anything yet, but I'm working on ways it can turn options on and off  


also, added double-click support from the Finder  

double-clicking on OC-tool is the same as running 

./OC-tool -uo build release

you can see more about that on the wiki  




Edited by rusty-bits
add link

Share this post

Link to post
Share on other sites


Is is possible the get your brilliant tool to construct config.plist from Clovers config.plist, obviously just take the needed bits, and populate what Clover does not have.

Building a config from scratch is pretty daunting, so a bit of a helping hand would be nice.;)

Thanks again for your wonderfull tool, I have not used it yet, stuck on config.plist, hence the reason for my comment.



Edited by STLVNUB

Share this post

Link to post
Share on other sites

Hello Stlvnub,

maybe you already know that tool "OpenCore Configurator", same dev. makes Clover one.

You can convert (recover a lot of content) a Clover "config.plist" but this one will not be realy usable, if you try as this you'll have a message like "...config.plist corrupted ..." at boot. It's just a working base, recover "SMBIOS" section is usefull.


Share this post

Link to post
Share on other sites

Yeah, know about that but what I'd like is a tool that does it all, converts Clover to OC without ANY input

Share this post

Link to post
Share on other sites


While it may be possible to construct a tool that will convert a clover config.plist to an opencore config.plist it is not a feature I am going to add to OC-tool  

OpenCore is changing frequently and I don't see any way to guarantee it would be stable right now.  

Plus, good old UNIX "rules" have one command do one job, and I only plan on having OC-tool take an OpenCore config.plist and produce a workable EFI folder.  

If in the future I or someone else has a command line tool that can convert a Clover to an OpenCore you could just pipe the output into OC-tool.  That would be interesting, but I really feel that people should learn how to set up their own config.plist.  I'm still working on understanding every bit of it myself!

Share this post

Link to post
Share on other sites



Hello Rusty.

./OC-tool -T execution


In T.U.I code I'll suggest you 3 little modif. and/or adds in next functions : text_user_interface(), draw_screen() and finally draw_footer()


1) text_user_interface() (add and modification)

  a)  If you navigate with A, K, l, h, ... you keep display attributes of the active word when you "quite" ( prompt is green, red or other         color,  because of attributes manipulation in navigation)
  b) When you "quite", the last cursor position kept results from "unselect_MSG()", so prompt appears at last kept number line +1 ( msg "\n")  with lost echo and CR. (« stty -echo » at line 605)


2) draw_screen() (add)
  at the end of details lines draw, a new variable (Footer_Line) to keep value of that last drawn line number to position Footer N lines after.


3) draw_footer() (modification)

  In content of « msg » parameter,  initial Footer position  $(R-1) is replaced by ${Footer_Line}, and a space added at end. 


You can see details in the « rtf » file attached

Hope y'll be interested by OC-tool modif switch -T.rtf


Edited by matxpa

Share this post

Link to post
Share on other sites

@matxpa thanks for taking an interest  

1) thanks for pointing this out, I would never notice this on my terminal because I have my prompt set to show me info with colored status  

(just fixed it hopefully)


2,3) I plan on having a list of all the keyboard options and commands on the screen as well, not sure where the footer will be when I'm done  

  Also, I plan on having multiple screens to show the other options set in config.plist, so I may want to keep the color key at the bottom.

Edited by rusty-bits
add fixed note

Share this post

Link to post
Share on other sites

update ver 1.5pt(0929)  


fixed bug that left terminal in wrong state when quitting from the -T option, thanks @matxpa  



added link to Configuration.pdf in the Docs folder

Share this post

Link to post
Share on other sites

update ver 1.6pt(0930)  


added functionality to the -T option  



./OC-tool -T

will default to the build release options and use the RELEASE/config.plist  

and modifications made to the config.plist in OC-tool will be saved to Docs/config.plist (currently the tabs are stripped out, but still a valid plist)  

pressing g will build an EFI folder based on the what you edit on the screen  

./OC-tool -T build debug

will use the DEBUG/config.plist

Share this post

Link to post
Share on other sites

ver 1.7pt(1006)


Fixed bug causing copy failure for AppleGenericInput.efi - it has been migrated to OcSupportPkg - no longer in config.plist  


Started adding feature in TUI that shows the description of the highlighted item - by pressing i  


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By clockT
      sono un pò arrugginito ..e volevo chiedere un aiuto su come installare opencore anzichè clover. ho provato ma dopo il post installazione riesco solo a far partire catalina tramite pendrive. quale congifurazione sbaglio?

    • By MaLd0n

      --Original Post--
      --Bios/UEFI Settings--
      *Update bios/uefi to F7+*
      1- Go to M.I.T./Advanced Frequency Settings tab
      Extreme Memory Profile (X.M.P.) - Profile 1
      2- Go to BIOS tab
      CSM Support - Disabled
      3- Go to Peripherals/Thunderbolt(TM) Configuration tab
      Security Level - No Security
      Thunderbolt USB Support - Enabled
      GPIO3 Force Pwr - Enabled
      4- Go to Chipset tab
      Internal Graphics - Enable
      ---CLOVER FOLDER---
      https://olarila.com/files/Clover.Folder/EFI CLOVER Z390 DESIGNARE.zip
      *Use this folder with FULL DSDT PATCHED
      *Use this folder with FULL DSDT PATCHED
      ---Extract one Full dump for DSDT edits, post files---



      Intel Core i9-9900K


      CORSAIR H100i RGB PLATINUM AIO Liquid CPU Cooler


      Corsair CMW32GX4M2C3200C16 Vengeance RGB PRO 32GB (2x16GB) DDR4 3200 (PC4-25600)


      MSI RX Vega 64 AIR Boost 8G OC


      Samsung 970 EVO 1TB SSD (MZ-V7E1T0BW) NVMe M.2 V-NAND


      EVGA Supernova 1000 P2 80+ Platinum, 1000W ECO Mode Fully Modular 


      TP-Link Archer T9E


      Thermaltake Core P5 Tempered Glass Black Edition ATX Open Frame Panoramic Viewing

      --DSDT Patches--

      -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!
      Thanks to KGP for SSDT Thunderbolt
      Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad, Sampath007, onemanosx, erroruser, Jenny David, Olarila Facebook Community, Hackintosh Facebook Community and many others!
      We're all here to have fun and learn from each other!
    • By kylon
      Cloud Clover Editor is an open source application that allows you to manage various Hackintosh Bootloaders configs everywhere.

      Open Cloud Clover Editor
      Cloud Clover Editor Wiki
      Cloud Clover Editor Sources
      Supports Clover EFI, Ozmosis, Chameleon, OpenCore GUI and Text Editor Mode CCE Bank Mobile friendly  
      Officially supported browsers
      Chrome 42+ Microsoft Edge 14+ Firefox 39+ Safari 10+ Opera 29+ Opera Mobile 12+ Chrome for Android 75+ Firefox for Android 67+  
      mackie100 - took some ideas from his app Clover EFI dev team Eric Slivka - new serial number Virtual1 - new serial number cecekpawon - PHP 5.3.3 patch, , help with the ACPI Loader Mode flag and more Micky1979 - Clover flying editor  (Discontinued) crusher. - Help with the ACPI Loader Mode flag Download-Fritz - Help with the ACPI Loader Mode flag Pavo - Ozmosis fields and values stehor - Ozmosis fields and values Sherlocks - General help and support gujiangjiang - General help and support  
      Please let me know if i forgot you!
    • By dracoflar
      So you've been reading the forum on this brand new boot loader called OpenCore hoping to try it out but you take one look at the configurations PDF and take a step back in shock at the complexity! Well if you've been feeling a bit intimidated by the DOCS well you've come to the right place:
      OpenCore Vanilla Desktop Guide
      If you have any issues or suggestions please feel free to comment
      - Your local neighbourhood Hackintosh Slav