Contribute
Register

Beginners Guide to using OC Auxiliary Tools App (Also known as OCAT)

Great analogy and well put!
Here's another if you liked that.

Hackintoshing is a lot like playing golf. When you start out with no previous experience, first thing you have to do is acquire the hardware so you can play, or at least get onto the driving range. You've got to get clubs the right length, a golf bag to put them in etc. The first time you get out on the course, it's going to be rough, balls will be flying all directions. You'll lose some, hit some in the pond etc. You won't shoot under par the first time out. You're just happy to complete the round and say you finished.

So how is hackintoshing similar ? First you buy your computer hardware. Hopefully it's macOS compatible. (if you do your research ;)) it should be. Next you try and create your EFI folder to add to EFI partition of the USB installer. You try a first boot. You get kernel panics, cryptic verbose text, that you have no clue about. You start searching forums and asking for help. What is a kext exactly ? What does it do ? Why is it not loading ? Why do I keep getting this stupid Stop sign ? Does it mean this will never work ? Maybe I should have bought that new Mac ?

The main point is that like golf, you always get another chance. Even if you shoot 100 on nine holes, you kept trying one more time no matter how far off course you got. It's built into the rules that you can hit one more shot no matter how far off the fairway you landed. Even if you lose your ball in the rough, you drop a new one and hit that. Even if your round of 18 holes lasts 10 hours, you can finish it. (Hopefully your course has lighting)

It's when you get upset and angry, throw the clubs down and walk off the course that you've failed. You lose the money spent to play and you've wasted the time and not enjoyed a minute of it. It's the equivalent of waving the white flag and installing Windows on your new build that was meant to be a hackintosh. I'm always impressed by the people here that try for weeks on end to get their hack working and don't throw in the towel and quit. That's what it takes, persistence and the willingness to learn something new.
 
Last edited:
@trs96 as per your request.

ProperTree has 2 x Snapshot features.

OC Snapshot (Cmd+R) will take a snapshot of any OC folder, without the need to have a config.plist open in ProperTree.

It will create a new untitled.plist that contains the entries from the OC - ACPI, Drivers, Kexts and Tools sub-folders. Adding the companion entries for the tables, drivers, kexts and tools to the new plist. This is an easy way of saving the customised sections of your OC configuration, for future reference.

It can be helpful when inspecting an OC folder, as it will extract the 'Gathering Files' customisations made by the owner of the OC folder.

As it creates a new plist, not one based on the OC Sample.plist, it will not contain any of the standard OC entries, just the data/info gathered from the OC sub-folders.

OC Clean Snapshot (Cmd+R+Shift) will take a snapshot of the OC folder the same as OC Snapshot, if you don't have a config.plist open when you run the command.

However, when you have a config.plist open and point ProperTree to an OC folder it will add the ACPI, Drivers, Kexts and Tools present in the sub-folders to the open config.plist. Thus populating and ordering your config with the customised elements from those sub-folders.

It will remove any Tables, Drivers, Kexts and Tools not present in the OC sub-folders from the original config.plist.

Kext ordering:
It is no longer required (hasn't for a long time) to have Lilu.kext as the first kext and VirtualSMC.kext as the second kext in the Kernel > Add section in the config.plist.

I raised issue #94 with Corpnewt when this was changed (July 2021) and he informed me that they were no longer hardcoded to be 1st and 2nd in the Kernel > Add section.

See the response to my question about kext order from Corpnewt below:

Screenshot 2023-01-10 at 19.39.54.png
https://github.com/corpnewt/ProperTree/issues/94

This is Corpnewt's view of things and works perfectly fine, but I still put Lilu.kext and VirtualSMC.kext 1st and 2nd in the Kernel > Add section of any config.plist I create or edit.
 
Great writeup Thank you

Building on that for comparison: My quick take on OCAT is it expands such helper as snapshot with more knowledge about releases and config settings.

Also I thought I read something about a capability to inspect OC updates and bring OC update schema charges into config.plist?

Such features are good for those who are on an OC release treadmill.

In the last two years of working with my rig, which was SOTA parts when I bought it i've updated OC three times. At each step, config.plist release handywork was a minor concern compared to zillions of other concerns — As an aside I suffered from a wide range of serious pitfalls along with big charges in macOS and OC.

I don't know why a given build needs to be on an update treadmill? So easing config editing is of limited value to me.

Bumping releases by hand because I gained insights into OC, bootloading and hacks. IOW learning to ride the bike.

Now I only want to update OC and modules when they address specific features I find relevant in the release notes. Maintaining config.plist for OC update is no big deal.

If OCAT truly makes periodic updates easier, great! But if it has its own big learning curve and gives me one more thing I track for updates etc; don't need to run in circles. When I looked at the OCAT README.md, I only understood its features because of previous experience doing it by hand.

So if being effective with OCAT requires I already know the details of OC config, then it's value comes from changing my config a lot. But now I'm running in circles, because I don't want to change OC config a lot!

Mods who help regular joes with many configs all the time may see OCAT value very differently than I do. I just wonder if explaining to regular joes how to use it means saying "First learn how to manage OC by hand, then there's all this other stuff you need to know!"

In first post trs96 mentioned an OCAT feature which I read as built-in awareness about specific builds. This sounds super useful but also hard problem to solve.

I'm seeking clarity, not judging the incidental value of the tool per se.

My question is "Who is this tool intended for?"
 
My question is "Who is this tool intended for?"
It is intended for new and old Hackintosh users/builders. I don't know why some find it hard or intimidating, maybe I am being a bit cynical as a beta tester in the early days of the development.

There are numerous benefits to using OCAT, even before you make any changes, you can hover over the tab buttons that induces a popup that tells you what it does.

It can update to the next official release of OC as well as the kexts or if you like being on the cusp of things, it has a feature that will update Dev versions, so many uses but all of this was explained by @trs96.
At the same time if you find it overwhelming, then use what you are comfortable with even if that is editing by hand.
 
So I'm familiar with OC and I've skimmed this thread and the OCAT README.md

I fired up the latest version of OCAT (20230005) which was simple enough.

Here's what I notice:

• Where to start? I hit the EFI mounter and it gives me a list of partitions from my drives (I have many)... Unfortunately, there is a bug and the list is half improperly labelled duplicates of the boot drive, and the drive I want to work with is mounted, but not listed.

• The main Window lists OC 0.7.8. That's pretty far out of date. I want a later version. I hit the "Upgrade OC and Kexts" assuming that will get me the latest version.
- There's a sync panel but I don't know what that does yet.
- There's a Get OpenCore button and a drop-down. 0.7.8 is the latest version in the list. I hit Get and OCAT appears to reach out and obtain OC. It says I now have 0.7.8. How do I get later versions? OC at has had 10 monthly releases since 0.7.8.

So I'm stuck there, as I want to go to the latest.

• It took me a bit of poking around but I figured out that File > Open wants to open a config.plist, not access an EFI. So I did that. For grins, I tried opening a config.plist outside a surrounding EFI/OC and it did so without warning me that there's nothing supporting it, and also not providing any way to populate the surroundings. This may sound dumb, but this kind of stuff trips up new users who don't understand the lay of the land.

• I opened an existing working config.plist in EFI context and OCAT appears to locate the supporting kexts. There's a big red exclamation point over the button for OCvalidate. I hit it and it output of OCvalidate appears. Great! Except I can't tell what version of OC it's validating against! I assume 0.7.8 per above, but there's no way to know from the output. So unfortunately everything it's showing as errors is wrong, because this config.plist is 0.8.5 (previously validated by hand). Thiis kind of thing is going to drive both new users and mods crazy.

• I went through various panels:
- How do I umcomment an existing plist key? Do I have to make a new one copy over the old one and delete it? Ahhh. OK, the reveal is not Mac-like, you have to double-click the key, not click-pause-click like in macOS.
- What's the equal sign do? Hmmm... Mysterious. I defy anyone to explain that behavior no matter how much of an expert you are.
- It would be awesome if this tool knew how/when to byteswap, but nope.

• Having links to the OC docs is very handy, if you know how to read them. Srsly, you need to be quite familiar with OC to make sense of them and it's 100 pages of dense context-specific info. If you need help to use a PDF reader, OC is now up your alley.

• The "Misc" and "Quirks" panels deserve special attention. How is that going to work?
When I switched away to another window then clicked on OCAT, I accidentally ticked one of those misc config details. There's no undo. How do all those options relate to a version of OC.

I'll leave it at this after my first 30 mins.

I'm interested in how this compares with OpenCore Configurator.

Everyone with any experience knows that an OC auto-config is as likely to add wrong config as help you maintain right config, and I see no sign of this getting better.
 
• Where to start? I hit the EFI mounter and it gives me a list of partitions from my drives (I have many)... Unfortunately, there is a bug and the list is half improperly labelled duplicates of the boot drive, and the drive I want to work with is mounted, but not listed.
All my Disks are mounted but as you pointed out not maybe you mean not labeled i.e Ventura, BS , etc but I know what mine are simply because I put them there.

Personally I think @trs96 did an excellent job with the 'How To' and this is the end of my 2 cents on the subject. Use what you're Comfortable with I say.
 

Attachments

  • Screenshot 2023-01-11 at 05.52.50.png
    Screenshot 2023-01-11 at 05.52.50.png
    162 KB · Views: 37
@c-o-pr said:
The list is half improperly labelled duplicates of the boot drive, and the drive I want to work with is mounted, but not listed.
Use this app if you need more specific details about each drive in your system. The best EFI mounting app I've found.
Github lets you report any issues to the developer of the OCAT app. As you probably know already, that's not me.

If you don't have a Github account, create one and post there: https://github.com/ic005k/OCAuxiliaryTools/issues

You can also read through the existing closed or open issues to see if that helps you understand how to use the specific features of the app.

If OCAT doesn't meet your expectations, use whatever apps or methods work best for you.
 
Last edited:
Am I off base?

Is what I'm seeing with OCAT not having access to latest OC versions my mistake?

Maybe I got a broken version from a bad github repo? I just typed "opencore auxiliary" into google like a new user would and picked the obvious result. Everything seemed right.
 
Back
Top