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
- 0.7.4 marks the last update for this tool, if you want a tool that will be maintained going forwards, you can check out the replacement here https://github.com/rusty-bits/octool
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
- access to a POSIX shell such as
sh
,bash
,ksh
,ash
, ordash
should all work. I myself usezsh
with no problems, even though it's not strictly POSIX compliant.
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 ...
- To build from source
Xcode
withxcodebuild
,nasm
, andmtoc
need to be installed and configured to run from the command line. You can build/install these yourself, or you can run the get-deps.sh in the .tool-files folder which uses code from acidanthera to get prebuilt dependencies.
.tool-files/get-deps.sh
while in theOC-tool
directory
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.