But I'll work out the issue of InjectKexts=Detect, it is just a matter of time.
I think I was running the wrong build when initially testing (then got sidetracked on the other things I mentioned).
That said, now that InjectKexts=Detect is working again, things are little strange with that kext management menu.
For example, with Detect and FakeSMC.kext installed, you would expect that all the kexts would be marked for exclusion when you enter that menu, but that is not the case... they are unchecked in that scenario which might lead one to believe they'll be injected, which is not going to happen. This is probably what prompted the other changes that broke InjectKexts. But we can't break InjectKexts=Detect for this GUI feature.
So, two things need to happen:
- the initial checkmarks should represent the current state of whether the system will inject or not (depending on InjectKexts setting and FakeSMC status)
- once changes are made to the status of those checkmarks, it should be honored regardless of InjectKexts setting
I'll see if I can work that out (probably won't be today, and all this is happening in my github fork anyway).
Edit: The trick will be how to determine the status of FakeSMC relative to the prelinked kernel when the prelinked kernel hasn't been loaded yet!