Repository navigation
MacBookAir8,1 boots with restrictevents enabled but… #439
Replies: 25 comments 149 replies
|
ok so ive narrowed it down to the "-revasset" part of RestrictEvents.kext. I am assuming it is because the installer is calling to firmware for board-id and RestrictEvents.kext is trying to inject the board-id or something of that nature. The second half of my guess is that it is causing a sort of idk "mini-kernel panic" or something. Basically it is causing board-id to not get defined I think. Something to that respect. If we could find a way to patch the installer to accept the MacBookAir8,1 board-id or spoof the existing one without RestrictEvents.kext |
|
Ok so some good progress, I noticed that even using the spoof option on advanced from the T2 OCLP Patcher and booting the board-id and model didn't change even when booted into Sonoma(Desktop) or Tahoe(Installer) through opencore. So I tried manually editing the config.plist to spoof MacBookPro16,4 and spoof the appropriate board-id. That MacBookPro is supported by Tahoe by default. So I tried that and the model changed but the board-id did not. So I over the course of talking with claude and coming up with my own hypothesis found something. In the opencore bootlog the board-id is being spoofed but as soon as user land boots the real MacBookAir8,1 board-id shows up in the terminal. So I had claude add to the SpoofVMM.kext the ability to change the board-id before userland boots. This did work.... to a point but the original board-id was still present as well as the spoofed one. This was caused by the secure boot model still coming through as my real one J140kAP = MacBookAir8,1 which is found in the /efi/platform node model "MacBookAir8,1". So this is a step closer to the problem. So I told claude to change that board-id as well.This achieved getting the board-id to be that of the MacBookPro16,4. However the Compatibility UI Gate still fires and I can't get past it. So now I am trying to change the model in the /efi/platform node to MacBookPro16,4 now and I'll get back with results. I am assuming because the board-id spoof doesn't work properly in opencore on the MacBookAir8,1 then maybe the secure boot options don't either. Causing the information to passthrough rather than be disabled. I am going to test further and see what I find. This is still huge progress im my opinion. :) @albert-mueller @Medelcartelinc P.S. Ill update the SpoofVMM repo as soon as I confirm this will get us past the Compatibility UI Gate |
|
@zkennedy137 did you delete restrictevents.kext and then put SpoofVMM.kext in there and put the boot-args, i want to try this on my macbookpro16,3 on a fresh apfs partition. |
|
Also this should be noted this is the full information about the Stage 2 hang from Claude: That screen is the second-stage Update Assistant failing at the "preparing" step — you got all the way through the gate and into the actual update, and it choked right where we predicted the T2 boundary would bite. "An error occurred preparing the software update" is the generic message; the real reason is in the logs. Before anything else, a couple of things: What "preparing" actually does, and why it likely failed here. After the ETA appears, the assistant stops being about compatibility and starts doing T2-bound work:
Either of those is the Secure-Enclave wall the findings doc flagged as the remaining open item — and it showing up here, after the gate, is consistent with everything we mapped. Safety first: a prepare step that errored and rolled back has not flashed anything — that's the safe outcome. Don't repeatedly hammer "OK → retry," and don't try to force the bridgeOS update through, because that's the step that could actually brick the T2 if it ever half-applied a wrong-model firmware. Clicking OK should roll you back to your intact Sonoma. Get the exact reason. Once it rolls back and you can boot again (Sonoma, or the OpenCore installer USB → Utilities → Terminal), read the install log from this attempt: and, if logd is alive there: Paste me whatever those show — the specific line (personalization vs. bridgeOS |
|
@zkennedy137 Do you know how i can test this for macbookpro15,1? Is there something I need to put inside config.plist other than the boot args and kexts? |
|
I haven't tested on my Mac mini 2018 yet, I expect the results to be identical to the MacBookAir8,x since it has only iGPU. Would you like to test it on my Mac mini 2018, @zkennedy137 ? |
|
@zkennedy137 @albert-mueller im going to try this I have the proper boot args set but im compiling the kext ill tell u the results. macbookpro16,3 also |
|
@zkennedy137 i was looking into it I may have the wrong boot args because i was looking into it and it was reporting as 2 different things I will get back when I try it again with fixed boot args |
|
@zkennedy137 |
|
At the end, which version to try? |
|
As a side note I just confirmed that the bypass works in Sonoma by running the installer app. IMG_1040-compressed-2.mp4 |
|
@zkennedy137 weird I was on a internal ssd I have no clue how or what Mac OS does when its in the recovery phase and installing so idk. although this is much better then just being told its not compatible |
|
@zkennedy137 I sent an invitation to contributing for OpenCore Legacy Patcher T2 (the patcher itself), if you want, you can accept it. |
|
I am working on something to potentially fix the issue and also trying to boot the disk I installed the Tahoe installer to in UTM to see if we can boot it there and run it just to see if getting through the update and then trying to boot from it on the bare metal works. I get opencore to boot up on UTM but I can't get out to show the disk img I made of the external that I installed Tahoe to. I am a newbie to UTM I usually use lib-virt on ubuntu or vmware on windows. lol help please haha @Medelcartelinc @albert-mueller |
|
I have put out the first official release of the SpoofVMM.kext it is v4.9. This one is stable and has important changes that fix the broken WiFI issue. Now you can boot into your working install be it Sonoma-Sequioa they will not mind the changes it makes to the bridge-model variable. Also the bypass works on if you try to install from Sonoma-Sequioa /Applications folder |
|
sorry guys I forgot I had that error and it made me cd into the directory in terminal before doing the command that is on me sorry. |
|
When I tried to boot my Mac mini 2018 into the macOS 26 installer I got a white screen: Will try resetting the NVRAM and try again. |
|
@albert-mueller wierd and off topic question but you said you have a separate partition so it doesn't mess with your windows efi did you just make a fat 32 partition and put the win efi on there because I have a win 11 modded to work on my MacBook version but I don't want it messing with my efi |
|
|
|
So we need to confirm that bridgeOS firmware version is in ioreg first. If it is what is the variable name? Then spoof it with the correct Tahoe version. This may work but it may not even if the variable in ioreg exists. It comes down to how the installer/macOS checks the firmware (bridgeOS) version. Another possibility is when the installer/macOS sees older firmware it attempts to update bridgeOS and fails. That the failure is because of “run-efi-updater” being set to False. It prevents firmware updates from macOS. However the huge unknown risk is it could brick the computer, cause dfu mode and restore, in the most benign it just fails to install still or installs. If the attempt to spoof the bridgeOS firmware hits a dead and I am heavily considering biting the bullet and attempting on my macbookair8,1 allowing the run-ego-updater = True and potentially “take one for the team” if it fails. |
|
The compatibility gate shouldn’t be checking your igpu. You may need to enable -wegbeta sometimes if it wasn’t built on the newest lilu it may fail to see -lilubetaall if that doesn’t work try disabling whatevergreen.kext entirely. If it is disabled enable it and that is your problem. |
|
Since the original problem here RestrictEvents.kext for all intents and purposes is fixed. I opened a new discussion here |
















Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
MacOS still sees the native board-id when spoofing with opencore smbios. It shows the MacBookPro16,4 for model in ioreg. However the board-Id in ioreg is still the real one of the MacBookAir8,1. That has to be the only thing holding the installer back. I did recompile RestrictEvents.kext with a couple fixes for warnings in Xcode. Now the kext loads and the usb installer goes back to its normal problem of not getting past the language screen. However I can boot into Sonoma and launch the installer. It just sees the board-id then stops at the normal incompatibility screen. However the RestrictEvents.kext is loaded as well as Lilu and others.
I tried to use an ssdt to hotpatch the board-id but no luck.
The thought process for me now is a way to either spoof the board-id with SMCSpoof.kext or something of that nature. I haven’t tried it yet. When I get home I will make an attempt.
I do think the reason RestrictEvents.kext prevents apfs from doing its job is because of the patches being done at the incorrect offsets for Tahoe 26.7 or something to do with the firmware of the MacBookAir8,1. If at all possible could one of you @Medelcartelinc @albert-mueller find or tell me how to find the offsets it is supposed to be patching. Also “ osbundlelibraries” has new additions in the Tahoe 26.7 version of the kext vs the one in Sonoma and I am going to assume Sequioa as well. That may need to be hooked in RestrictEvents.kext somehow for it to load properly.
updated RestrictEvents.zipThis is the zip of the new kext version I compiled on Tahoe 26.7 and fixed the warnings in.
So either we need a way to patch the installer (running it on desktop through Sonoma, internal partition installer of Tahoe installer, or usb installer) or a way to help RestrictEvents.kext to be able to properly execute the patches. Another way could be to patch “AppleACPIPlatformExpert” class/kext and patch the board-id manually at least for install.
All reactions