Contribute
Register

HackinDROM App for OpenCore EFI Creation and Update

@CaseySJ @joostiphone
This is how files are handled
As this gif is too fast download it and open with Preview
HD OC UPDATE FILES.gif




Now config.plist

We take SampleCustom.plist from latest OC -> Docs folder as our base for our new config.plist

for every entry in SampleCustom.plist we search the same entry in user's config.plist
if we find it then we compare the types
if they are the same then we set user's defined value into SampleCustom.plist
if types are different then OC default failsafe value is used

For array of dictionary entries in SampleCustom.plist we take the first item and create an empty template from that item

example for a kext:
a valid Kernal > Add entry
Screenshot 2022-02-28 at 00.12.22.png


our generated empty template
Screenshot 2022-02-28 at 00.15.03.png


Now we have a template for Kernel Add and we can fill the fields by values from users config.plist when the type is the same

So when OC team introduce a new field user will have it automatically
if that field requires a value then (we will see later for this case*) ocvalidate will throw an error about that so the user can make manual changes

After updating all fields we proceed into "additional OC Fixes"
You can find details into the code source just here.
Here we are trying to set failsafe values for empty filed when a value is required by OC
We will also check for some logics to fix issues. Ex: don't use OpenUsbKbDxe.efi when KeySupport is enabled, or Enable ProvideCustomSlide when it is required

If you have any question please let me know
 
Contribution:
We can contribute to handle more kexts or drivers when they are not in OC release.zip
Version checking are handled automatically
You can also contribute to additionalOCFixes
Actually usually we are going to make minor fixes to handle any OC version
primitive fields dont need to be updated manually
But when the change is too big like when UEFI> Drivers changed from strings to dictionary then we need to specify it into additionalOCFixes

I just published v2.1.0 beta 3 you can try it by yourself


Anyway this updater is better than doing it manually because it will do what you will do manually and you'll be warned by ocvalidate if something isn't correct
 
@CaseySJ @joostiphone
This is how files are handled
As this gif is too fast download it and open with Preview
View attachment 542863



Now config.plist

We take SampleCustom.plist from latest OC -> Docs folder as our base for our new config.plist

for every entry in SampleCustom.plist we search the same entry in user's config.plist
if we find it then we compare the types
if they are the same then we set user's defined value into SampleCustom.plist
if types are different then OC default failsafe value is used

For array of dictionary entries in SampleCustom.plist we take the first item and create an empty template from that item

example for a kext:
a valid Kernal > Add entry
View attachment 542864

our generated empty template
View attachment 542865

Now we have a template for Kernel Add and we can fill the fields by values from users config.plist when the type is the same

So when OC team introduce a new field user will have it automatically
if that field requires a value then (we will see later for this case*) ocvalidate will throw an error about that so the user can make manual changes

After updating all fields we proceed into "additional OC Fixes"
You can find details into the code source just here.
Here we are trying to set failsafe values for empty filed when a value is required by OC
We will also check for some logics to fix issues. Ex: don't use OpenUsbKbDxe.efi when KeySupport is enabled, or Enable ProvideCustomSlide when it is required

If you have any question please let me know

This is great! :thumbup: Way more explanation then I asked for, great to read how it works. Great job! :clap:
I think this requires hackindrom build-admins to upload updated EFI's way less then before. Perhaps another feature is to have the latest EFI build available, based on the admin's build. Then perhaps the user can choose between the official uploaded version (e.g. Z390 0.7.4 which was the latest) and the 'by hackindrom updated version' (e.g. Z390 latest OC by HackinDROM).

This eliminates the immediate need for hackindrom build-admins to update their build and upload it to hackindrom when they didn't made significant changes.

A small question: if in the user's existing config.plist is a entry which is not part of the sample plist, will this be copied to the new / updated efi? I assume it will.

I think when this version will get a 'final' status, then I can create a updated video on creating a new efi, and update an existing efi.
 
This eliminates the immediate need for hackindrom build-admins to update their build and upload it to hackindrom when they didn't made significant changes.
this can also help admins to prepare their EFI easily to upload

A small question: if in the user's existing config.plist is a entry which is not part of the sample plist, will this be copied to the new / updated efi? I assume it will.
It depends of entry
Outdates entries will not be copied
 
Great stuff @Inqnuam, will be catching up with what's going on in HackinDROM later today.
 
A small question: if in the user's existing config.plist is a entry which is not part of the sample plist...
Please note that we are not taking Sample.plist but SampleCustom.plist which provides examples for each entry which is very helpful to generate a new valid config.plist
 
Hello everyone.There is such a question, after installing these updates, will I have any problems with already installed applications? This is so important to me because, for example, I enjoy playing minecraft in the evenings. It helps me relax and really distracts me from things. At the same time, it helps to develop, developing spatial thinking. I suggest everyone try to play Minecraft, but only using a platform that provides a list of minecraft servers. It will definitely give you great pleasure during the game.
 
Last edited:
Hello everyone.There is such a question, after installing these updates, will I have any problems with already installed applications?
Not sure what you mean. If your question is that when using HackinDROM impacts installed applications (an application from the AppStore I assume?) then the answer is no.

HackinDROM can affect your EFI, so it can change the way your hackintosh boots/operates.

Please provide more context if you want to know more.
 
Back
Top