barrykn / big-sur-micropatcher

A primitive USB patcher for installing macOS Big Sur on unsupported Macs
1.24k stars 174 forks source link

Is setVars.sh -e the correct option for Mac Pro 5,1 with updated BLE/WiFI and graphics. #74

Open hstriepe opened 3 years ago

hstriepe commented 3 years ago

I can run macOS Big Sur from a disk installed after an external install on a newer MacBoo Pro without using anything but boo-args="-no_compat_check." Is setVars.sh -e the equivalent?

Should I use another way. I used the default for my first install on an internal disk. It looks like I will have to wipe and start over.

barrykn commented 3 years ago

Yes, -e is correct in this case. (I'll see if I can enhance the autodetect to take both the Mac model and the WiFi card into account.)

If you did the external install on a MacBook that officially supports Big Sur, there should be no need to reinstall.

Even if you do need to reinstall, there is no need to wipe first (unless you really want to erase your data and start again from a clean slate).

(I have a feeling there's something I'm forgetting to mention in this comment, but I'm tired. If I remember later I'll either edit this comment or add another comment.)

hstriepe commented 3 years ago

Thanks. I have used micropatcher on another volume. Installing over the existing version originally installed with defaults a version created with -e lead to an unbootable system. Will likely clean off and start over. I have multiple OS versions (Catalina, Mojave, High Sierra) and the beta is not the main system.

barrykn commented 3 years ago

I would expect that running the -e setvars could make the system unbootable but that running the installer afterward would make it bootable again.

hstriepe commented 3 years ago

I ended up deleted the APFS volume group after doing a CCC backup for migration. Then creating a new volume BigSur and creating a fresh USB flash stick with beta10 and micropatcher 0.4.1 using setters.sh -e. It installed and came up fine. I booted into my Catalina recovery and re-enabled SIP. It worked. As I would expect, Continuity and Watch Unlock are not working, since I enable those by setting the plist in the IOBLueTooth framework for my motherboard and patching the whitelist in the AirPortBrcm4360 plugin KEXT.

hstriepe commented 3 years ago

Would there be a way to replicate this on BigSur by disabling snapshot booting but reenabling SIP after doing these patches? I am looking for the equivalent of Catalina security. What would be the alternative to get Continuity back? I am ok with installing for every point release as I am doing with Catalina, which is working very well on my old iron.

barrykn commented 3 years ago

As I would expect, Continuity and Watch Unlock are not working, since I enable those by setting the plist in the IOBLueTooth framework for my motherboard and patching the whitelist in the AirPortBrcm4360 plugin KEXT.

Oh, I didn't realize that part, otherwise I would have suggested sticking with the -d setvars (the one that is used by default on Macs other than Late 2013 iMacs if you don't use a command line option). If you want to patch, you can run the -d setvars, then patch as you normally would, and you shouldn't need to reinstall. (Although, for what it's worth, remount-sysvol.sh is currently incompatible with beta 10 and I probably won't fix it until after the next patcher release.)

hstriepe commented 3 years ago

With the -d it would disable snapshots and allow mount -uw /, patch, and boot? I know I should study the docs and it is all there someplace.

hstriepe commented 3 years ago

One thing I noticed that is different with the micropatcher installs is that the BigSur volumes seem to mount normally under Catalina. On my factory installed volumes on my MacBook Pro the Big Sur volumes are not recognized properly due to structure changes. Why is that?

hstriepe commented 3 years ago

I don't mind experimenting since it is not yet "production." Catalina has been rock-solid with only the minor trouble of updating the point releases.

hstriepe commented 3 years ago

BTW, a big THANKS to your effort. Not sure DosDude is planning on an update.

barrykn commented 3 years ago

With the -d it would disable snapshots and allow mount -uw /, patch, and boot? I know I should study the docs and it is all there someplace.

Incorrect. My patcher does not do anything to disable snapshots. However, it includes a script, remount-sysvol.sh, that mounts the system volume read-write at /System/Volumes/Update/mnt1 and starts up a subshell. Then you can do your patching there, run rebuild-kc.sh (to do basically the equivalent of running kextcache -i under older macOS versions), and when you exit the subshell, remount-sysvol.sh creates a new snapshot.

Unfortunately, a change in beta 10 broke remount-sysvol.sh. Most users don't use that script, so I'm going to release v0.4.2 first to fix the other beta 10 problem, and I'll fix remount-sysvol.sh in the release after that (maybe v0.4.3, maybe v0.5.0).

hstriepe commented 3 years ago

Thanks. I’ll wait until it’s fixed.

-- Harald Sent from my iPhone

On Oct 16, 2020, at 5:50 PM, Barry K. Nathan notifications@github.com wrote:

 With the -d it would disable snapshots and allow mount -uw /, patch, and boot? I know I should study the docs and it is all there someplace.

Incorrect. My patcher does not do anything to disable snapshots. However, it includes a script, remount-sysvol.sh, that mounts the system volume read-write at /System/Volumes/Update/mnt1 and starts up a subshell. Then you can do your patching there, run rebuild-kc.sh (to do basically the equivalent of running kextcache -i under older macOS versions), and when you exit the subshell, remount-sysvol.sh creates a new snapshot.

Unfortunately, a change in beta 10 broke remount-sysvol.sh. Most users don't use that script, so I'm going to release v0.4.2 first to fix the other beta 10 problem, and I'll fix remount-sysvol.sh in the release after that (maybe v0.4.3, maybe v0.5.0).

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

barrykn commented 3 years ago

One thing I noticed that is different with the micropatcher installs is that the BigSur volumes seem to mount normally under Catalina. On my factory installed volumes on my MacBook Pro the Big Sur volumes are not recognized properly due to structure changes. Why is that?

With a supported system, or with -e setvars, the APFS system volume is "sealed" -- and this is not supported by previous macOS versions. With the -d setvars, the APFS system volume is not sealed, so you can mount it under previous macOS versions.

(And it now occurs to me that this could cause problems with delta updates. I might end up changing it so that it always uses volume sealing. Before I go ahead with that change, I think I'll do some tests and see if the problem happens in real life use, however.)

hstriepe commented 3 years ago

I prefer that and just deal with a USB based install for point updates.

Cheers, -- Harald

On Oct 16, 2020, at 6:07 PM, Barry K. Nathan notifications@github.com wrote:

 One thing I noticed that is different with the micropatcher installs is that the BigSur volumes seem to mount normally under Catalina. On my factory installed volumes on my MacBook Pro the Big Sur volumes are not recognized properly due to structure changes. Why is that?

With a supported system, or with -e setvars, the APFS system volume is "sealed" -- and this is not supported by previous macOS versions. With the -d setvars, the APFS system volume is not sealed, so you can mount it under previous macOS versions.

(And it now occurs to me that this could cause problems with delta updates. I might end up changing it so that it always uses volume sealing. Before I go ahead with that change, I think I'll do some tests and see if the problem happens in real life use, however.)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

hstriepe commented 3 years ago

I used the -e option, but it looks like the volume is not sealed - at least the way it shows up in Catalina.

On Oct 16, 2020, at 6:07 PM, Barry K. Nathan notifications@github.com wrote:

One thing I noticed that is different with the micropatcher installs is that the BigSur volumes seem to mount normally under Catalina. On my factory installed volumes on my MacBook Pro the Big Sur volumes are not recognized properly due to structure changes. Why is that?

With a supported system, or with -e setvars, the APFS system volume is "sealed" -- and this is not supported by previous macOS versions. With the -d setvars, the APFS system volume is not sealed, so you can mount it under previous macOS versions.

(And it now occurs to me that this could cause problems with delta updates. I might end up changing it so that it always uses volume sealing. Before I go ahead with that change, I think I'll do some tests and see if the problem happens in real life use, however.)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/barrykn/big-sur-micropatcher/issues/74#issuecomment-710716590, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACBNMRKIJWG4QZL2C2BR753SLDU3LANCNFSM4SSZ2GQA.

barrykn commented 3 years ago

I prefer that and just deal with a USB based install for point updates. Cheers, -- Harald + ❤️

Even if I make that change (and it's possible I won't), there will still be a Terminal command that you can run before starting the installer which will disable volume sealing.

hstriepe commented 3 years ago

Thank you.

I am a CTO working with software, but some of this stuff is pretty arcane. Reverse engineering all this is pretty painful.

We’re dealing with Apple issues as developers (desktop and mobile) all the time. Apple is not helpful.

On Oct 16, 2020, at 6:45 PM, Barry K. Nathan notifications@github.com wrote:

I prefer that and just deal with a USB based install for point updates. Cheers, -- Harald + ❤️

Even if I make that change (and it's possible I won't), there will still be a Terminal command that you can run before starting the installer which will disable volume sealing.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/barrykn/big-sur-micropatcher/issues/74#issuecomment-710723470, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACBNMRPM6EARIFIYMDCYW43SLDZLNANCNFSM4SSZ2GQA.

hstriepe commented 3 years ago

I just realized that the setvars from the earlier install might still be in NVRAM.

On Oct 16, 2020, at 6:42 PM, Harald Striepe hstriepe@me.com wrote:

I used the -e option, but it looks like the volume is not sealed - at least the way it shows up in Catalina.

On Oct 16, 2020, at 6:07 PM, Barry K. Nathan <notifications@github.com mailto:notifications@github.com> wrote:

One thing I noticed that is different with the micropatcher installs is that the BigSur volumes seem to mount normally under Catalina. On my factory installed volumes on my MacBook Pro the Big Sur volumes are not recognized properly due to structure changes. Why is that?

With a supported system, or with -e setvars, the APFS system volume is "sealed" -- and this is not supported by previous macOS versions. With the -d setvars, the APFS system volume is not sealed, so you can mount it under previous macOS versions.

(And it now occurs to me that this could cause problems with delta updates. I might end up changing it so that it always uses volume sealing. Before I go ahead with that change, I think I'll do some tests and see if the problem happens in real life use, however.)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/barrykn/big-sur-micropatcher/issues/74#issuecomment-710716590, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACBNMRKIJWG4QZL2C2BR753SLDU3LANCNFSM4SSZ2GQA.

hstriepe commented 3 years ago

It looks like watch unlock is working. I changed /System/Library/Frameworks/IOBluetooth.framework/Versions/A/Resources/SystemParameters.plist for Mac-F221BEC8:ContinuitySupport to be true, then did a snapshot. No white list changes, since the old plugin does not exist. On Catalina I was able to reenable SIP, might try that.

hstriepe commented 3 years ago

Can I change the setvars configuration on a stick by just running install-setvars.sh again with the changed options?

barrykn commented 3 years ago

Can I change the setvars configuration on a stick by just running install-setvars.sh again with the changed options?

Yes.