acidanthera / bugtracker

Acidanthera Bugtracker
383 stars 44 forks source link

OpenCore still boot to system when kext is enabled in config.plist even kext is no exist in EFI/OC/Kexts #2351

Closed andreszerocross closed 10 months ago

andreszerocross commented 10 months ago

AFAIK, old version of opencore (i forgot the version) when we enable certain kexts but the kexts is no exist in EFI/OC/kexts then system will halt. We will see error log about "Kexts no exist bla bla bla" in logs.

But with current OpenCore version (i don't know since which version), system still boot.

Eg, Airportitlwm.kext is enabled in Config.plist but no Airportitlwm.kext in EFI/OC/Kexts. Then with old version of opencore the system will halted and we will see logs about "Airportitlwm.kext is no exists bla bla" but with current version the system still boot.

Is this by design??

mikebeaton commented 10 months ago

This happens if you have an invalid/non-standard HaltLevel setting in config.plist. The normal recommended value is 2147483648 to halt on error messages.

andreszerocross commented 10 months ago

2147483648

Sorry, but i always use that value in my config.plist since beginning with Opencore

image

mikebeaton commented 10 months ago

Good. Then provide your config.plist and a debug log like a normal opencore bug report. (A log showing the problem behaviour when it boots even though the kext is not present.) You could also try to bisect to find the commit when things changed, however I have just tested the latest version and it does log an error message, so stops, when a kext is missing; so perhaps something else is going on here.

andreszerocross commented 10 months ago

Good. Then provide your config.plist and a debug log like a normal opencore bug report. (A log showing the problem behaviour when it boots even though the kext is not present.) You could also try to bisect to find the commit when things changed, however I have just tested the latest version and it does log an error message, so stops, when a kext is missing; so perhaps something else is going on here.

Ok, this is interesting

  1. I try using DEBUG version of OpenCore. I rename my FeatureUnlock.kext to FeatureUnlock-BAK.kext then i CAN'T BOOT. There is log about Missing FeatureUnlock.kext.

  2. BUT, with same config.plist + Release version of Opencore but i only change Misc => Debug => Target to 0 (it's 95 with debug version) then MAGICALLY I CAN BOOT (FeatureUnlock-BAK.kext is still there). And ofcourse no FeatureUnlock.kext is loaded.

It looks there is different between DEBUG and RELEASE Version. Long ago, even with Release version, it will stuck if there is no exist kext but you write it in config.plist

Here is my config.plist and debug logs. Config.plist.with.debug.version.zip Config.plist.with.release.version.zip opencore-2023-11-23-161435.txt

mikebeaton commented 10 months ago

Right. This is still correct behaviour.

Screenshot 2023-11-23 at 18 04 29