Home

Awesome

OC-tool

POSIX shell script that builds an OpenCore EFI folder from an OpenCore config.plist

Can also be double-clicked in macOS Finder which will run as ./OC-tool -o

see either the OC-tool wiki pages for more detailed information
or the Docs/tool-changelog.md


Installation

git clone https://github.com/rusty-bits/OC-tool
cd OC-tool

copy your config.plist file into the INPUT folder, or copy and edit one of the sample plist files.

e.g. cp Docs/Sample.plist INPUT/config.plist

NOTE: If you use the Clone or download button OC-tool's files will be downloaded, but it won't be a repo and will error out when run since it can't update itself from github


Requirements

It will also run on Windows under WSL or by using Git for Windows

That's it, nothing more is needed. OC-tool will make a working EFI folder by getting what it needs from the stable releases on Acidanthera's github or the daily build on Dortania if you so choose. git, grep, curl, cp, cut, tr, etc used by OC-tool should already exist on those shells.

Now, if you want OC-tool to build the latest from source you will need additional tools/dependencies, and as far as I know will have to use macOS as well. If there is a good way to run Xcode on Linux let me know ...


Credits

vit9696, PMheart, and cattyhouse
for parts of macbuild.tool used in .tool-files/get-deps.sh

DhinakG for the daily build repo that OC-tool now uses if you use the -d option

elliptic-shiho for the parse_json.sh gist on github


Acknowledgements

The folks at r/hackintosh such as dracoflar, midi1996, Beowolve, slandeh, and of course CorpNewt for help, guides and tools to get my hack up and running in the first place.

u/ChrisWayg for pointing out the script for prebuilt mtoc and nasm

u/nyhtml for making me realize the Clone button on github will cause OC-tool to error out since it won't be cloned as a repo. aka the nyhtml bug ;)

The folks at acidanthera for making OpenCore possible such as vit9696, vandroiy2013, Download-Fritz, Andrey1970AppleLife, PMheart and on and on ...

I probably forgot a number of people, sorry.