Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
Alright, I've finally finished it... APFS ROM Patcher is finally done! Some precautions:

- APFS ROM Patcher is to be used AT YOUR OWN RISK! There is always the possibility that your machine could become bricked as a result.
- DO NOT apply APFS ROM Patcher if your machine already can boot from APFS volumes
- If you get the following dialog, it is HIGHLY RECOMMENDED that you open your machine, remove your logic board if necessary, and verify the exact EEPROM type your machine has. Selecting the wrong EEPROM model will MOST LIKELY result in a bricked system!

View attachment 776034

Download here. Please be sure to post results!
The link shown here for "APFS ROM Patcher" is dead,
is there somewhere else I can try?
 
Is there any system information I can look over to determine the cause of the problem?
[doublepost=1552325423][/doublepost]
Weird that we even got a beta 5 and also weird timing, it’s early. This probably means a release on Wednesday.
[doublepost=1552325621][/doublepost]
I would suggest using my tool that’s linked in the op and my signature. Please make sure to follow the tutorial and erase your drive to remove dosdude1’s patchs first.

Went through the entire process using your tutorial, created the USB installer, same exact issue, installer boots halfway then comes up with Prohibited even when booting to the USB installer. There was a line during creation with your tool that said "sed: 1: "s/nonSupportedModels.in ...": unterminated substitue pattern
It appeared between patching installer package and patched installer package.
 
Went through the entire process using your tutorial, created the USB installer, same exact issue, installer boots halfway then comes up with Prohibited even when booting to the USB installer. There was a line during creation with your tool that said "sed: 1: "s/nonSupportedModels.in ...": unterminated substitue pattern
It appeared between patching installer package and patched installer package.

Prohibitory symbol when occurs at halfway of the apple logo loading bar could mean an issue related to the prelinkedkernel and the matching with /S/L/E/ inside the Installer, so an attempt you could do is to take this file and copy inside your USB Installer onto this path /System/Library/Prelinkedkernels/

but sometimes the only prelinkedkernel is not suffice, it should match with other kexts inside /S/L/Extensions/ , but try only the prelinkedkernel provided by @Larsvonhier that should work.
 
  • Like
Reactions: Larsvonhier
AirDrop does not require Bluetooth at all, and works fine with patched BCM4321 cards in Mojave. Continuity/Handoff however DO require Bluetooth 4.0.

Ah, I puzzled out the problem on my MacPro 3,1. To get my MacBook Pro 14,1 to show up in AirDrop, I had to click the 'Don't see what you are looking for' hyperlink and click the resulting 'Search for an Older Mac' button. Once I did that, the MacBook Pro appeared on the AirDrop on the MacPro and vice versa.

Does anyone know if upgrading unsupported machines to Bluetooth 4.x eliminates the need to use the 'Older Mac' workaround for discovery on supported machines?
 
Last edited:
  • Like
Reactions: olad and jackluke
Prohibitory symbol when occurs at halfway of the apple logo loading bar could mean an issue related to the prelinkedkernel and the matching with /S/L/E/ inside the Installer, so an attempt you could do is to take this file and copy inside your USB Installer onto this path /System/Library/Prelinkedkernels/

but sometimes the only prelinkedkernel is not suffice, it should match with other kexts inside /S/L/Extensions/ , but try only the prelinkedkernel provided by @Larsvonhier that should work.
Either that mismatch between kexts and prelinked kernel or the USB (from which you boot the installer) does not (yet) work. Could you do a verbose boot pls. and see what the last log outputs are? If the USB power-off during boot is the problem, the text screen will scramble in a black/gray/white garbage before completely locking up...
 
  • Like
Reactions: jackluke
What is your current BootROM version? CPU model #?

You would have to updated your BootROM to 138.0.0.0.0 with the Mojave 10.14.0 installer to get the Beta 4 142.0.0.0.0 BootROM and have Xeon W3xxx processors.
I am running beta 4 of Mohave 10.14.4 build 18E205e The details (System Information) below have the specs you're looking for. For this post I booted from the Mohave Beta HD.

Processor Name: 6-Core Intel Xeon
Processor Speed: 3.06 GHz
Number of Processors: 2
Total Number of Cores: 12
L2 Cache (per Core): 256 KB
L3 Cache (per Processor): 12 MB
Memory: 12 GB
Boot ROM Version: 140.0.0.0.0
[doublepost=1552348400][/doublepost]Okay, after updating to Mohave build 18E215a, my Mac Pro 5,1 details are still the same.
 
Went through the entire process using your tutorial, created the USB installer, same exact issue, installer boots halfway then comes up with Prohibited even when booting to the USB installer. There was a line during creation with your tool that said "sed: 1: "s/nonSupportedModels.in ...": unterminated substitue pattern
It appeared between patching installer package and patched installer package.
This was a 10.14.3 installer right? I need to check my script. Thanks for the feedback and I’m glad the instructions worked for you. Sorry I couldn’t fix your issue.
 
I think I've found the first bug using Mojave on my 2010 MacBook Pro 13". When I close the lid with multiple monitors attached, the internal display "stays on," even though the computer is closed, meaning I can drag my mouse into it and everything. Essentially, closed computer mode doesn't work with an external display (on MacOS).
This is because of NDRVShim. I don't have time or knowledge to fix it.
 
I want to buy a BT 4.0 dongle. I don't know what is the best dongle to buy because there is a variety of them on the internet. I want some recommendation from all of you.

Thank you.
 
My tool uses the High Sierra drivers instead NDRVShim. Are you saying that an external display is broken with NDRVShim? I've used one with my tool and it works.
I manually replace those kexts as well. However, I expect that may eventually cause problems as other kexts get updated further. That is when NDRVShim may be valuable.

For now, though, I agree with you. @parrotgeek1's solution is very clever, but unnecessary and its implementation of _VSLGestalt symbol is just a stub to prevent a linker error.
 
I want to buy a BT 4.0 dongle. I don't know what is the best dongle to buy because there is a variety of them on the internet. I want some recommendation from all of you.

Thank you.
As I don´t use USB BT sticks, I cannot give personal advice, but my recommendation would be to search for info at the site of the continuity activation tool. Some examples of working BT sticks were given there.
Or hop over to the dedicated forums, see i.e. this post: https://forums.macrumors.com/thread...activation-tool.1803192/page-34#post-22176691
 
I manually replace those kexts as well. However, I expect that may eventually cause problems as other kexts get updated further. That is when NDRVShim may be valuable.

For now, though, I agree with you. @parrotgeek1's solution is very clever, but unnecessary and its implementation of _VSLGestalt symbol is just a stub to prevent a linker error.

From your very earlier post, the _IOGetHardwareClamshellState symbol should represent the closed-display mode when plugged to miniDP, but in your replacing with HighSierra IOGraphicsFamily.kext , is the symbol maintained or avoided?
[doublepost=1552384084][/doublepost]
As I don´t use USB BT sticks, I cannot give personal advice, but my recommendation would be to search for info at the site of the continuity activation tool. Some examples of working BT sticks were given there.
Or hop over to the dedicated forums, see i.e. this post: https://forums.macrumors.com/thread...activation-tool.1803192/page-34#post-22176691

GMYLE BT 4.0 is safe to be used since it's a Broadcom chipset BCM20702 (the Apple's favorite vendor), but I tested even other third party BT 4.0 from Windows and they work too, sometimes have to plug before the power-on chime otherwise the blue light doesn't blink, probably kext not loaded properly.
[doublepost=1552384330][/doublepost]
Can anyone try using an external monitor on a MiniDP equipped MacBook running Mojave? It seems like such a strange thing not to work.

Why don't try this workaround: Clamshell closed-display mode alternative
 
Ah, I puzzled out the problem on my MacPro 3,1. To get my MacBook Pro 14,1 to show up in AirDrop, I had to click the 'Don't see what you are looking for' hyperlink and click the resulting 'Search for an Older Mac' button. Once I did that, the MacBook Pro appeared on the AirDrop on the MacPro and vice versa.

Does anyone know if upgrading unsupported machines to Bluetooth 4.x eliminates the need to use the 'Older Mac' workaround for discovery on supported machines?
I would expect it would. My MP3.1 with updated BT4.0 is quite happy with airdrop between my iOS devices using iOS 12. They appear in the airdrop finder window very quickly once they are close enough to the Mac. Using the iOS devices air drop, the Mac Pro comes up straight away as an option. I also have a macbook air 4.2 that has the original BT card. To get this to appear on the Mac Pro I have to search for older devices. It does not work with the iOS devices. I imagine if I replaced the WiFi/BT card in the air to a newer one then all would work seamlessly.
 
I would expect it would. My MP3.1 with updated BT4.0 is quite happy with airdrop between my iOS devices using iOS 12. They appear in the airdrop finder window very quickly once they are close enough to the Mac. Using the iOS devices air drop, the Mac Pro comes up straight away as an option. I also have a macbook air 4.2 that has the original BT card. To get this to appear on the Mac Pro I have to search for older devices. It does not work with the iOS devices. I imagine if I replaced the WiFi/BT card in the air to a newer one then all would work seamlessly.

Is there a particular reason why the continuity activation patches aren't folded into Mojave Patcher? With the new dynamic patching on startup, it would seem perfect for applying those when users have upgraded their Bluetooth 4.0 and to make sure it says activated after software updates.
 
  • Like
Reactions: Doblesecure
Anyone noticed that on #1 the icon representing the supported MB 5,2 (and the 4,1 in disguise ;-) is missing?
I´ve prepared a scaled-down Mojave wallpaper version, but after several attempts to include it on page 1 at the right place I give up on this - perhaps someone else might try successfully?

MB5,2_MB4,1.png

Pic is attached above.
I would personally include it in the line of laptops, so that perhaps the MPro starts the third row?
 
  • Like
Reactions: antony34
@0403979
Tried your patcher today on a 10.14.4 b5 machine, using the 14.3.3 install image.
Same error here as already reported earlier, logging:

Patched graphics driver.
Patching installer package...

sed: 1: "s/nonSupportedModels.in ...": unterminated substitute pattern
Patched installer package.
Patching input drivers...
Patched input drivers.
Disabling System Integrity Protection...
Disabled System Integrity Protection.
Patching kernel exstension cache...
Patched kernel exstension cache.
Removing platform support check...
Removed platform support check.
Copying patcher utlities...
Copied patcher utlities.
Removing temporary files...
Removed temporary files.

I´ve tried the resulting install volume on three MacBooks:
- MacBook Air 4,1 -> boots perfectly
- MacBook 5,2 -> boots, but at install GUI you cannot move mouse (only up/down, not sideways)
- MacBook 4,1 -> fails to boot, USB gets detached after initial sequence leading to the already known garbled screen
 

Attachments

  • IMG_9804.jpeg
    IMG_9804.jpeg
    1.6 MB · Views: 205
  • IMG_9805.jpeg
    IMG_9805.jpeg
    1.8 MB · Views: 242
Last edited:
Is there a particular reason why the continuity activation patches aren't folded into Mojave Patcher? With the new dynamic patching on startup, it would seem perfect for applying those when users have upgraded their Bluetooth 4.0 and to make sure it says activated after software updates.
I do not use any continuity activation patches. Changing the hardware has resulted in the mp3.1 using continuity natively. Up to High Sierra no further intervention was required. In Mojave I have to replace some BT kexts to get BT working. Once this is done continuity works natively. A while back, dosdude1 used to have a BT patch post install and this worked for me. However, it did cause BT problems for some setups so was removed so after every Mojave update I just replace the kexts.
 
  • Like
Reactions: jackluke
@0403979
Tried your patcher today on a 10.14.4 b5 machine, using the 14.3.3 install image.
Same error here as already reported earlier, logging:

Patched graphics driver.
Patching installer package...

sed: 1: "s/nonSupportedModels.in ...": unterminated substitute pattern
Patched installer package.
Patching input drivers...
Patched input drivers.
Disabling System Integrity Protection...
Disabled System Integrity Protection.
Patching kernel exstension cache...
Patched kernel exstension cache.
Removing platform support check...
Removed platform support check.
Copying patcher utlities...
Copied patcher utlities.
Removing temporary files...
Removed temporary files.

I´ve tried the resulting install volume on three MacBooks:
- MacBook Air 4,1 -> boots perfectly
- MacBook 5,2 -> boots, but at install GUI you cannot move mouse (only up/down, not sideways)
- MacBook 4,1 -> fails to boot, USB gets detached after initial sequence leading to the already known garbled screen

This is the same with dosdude1’s tool though right?
 
This is the same with dosdude1’s tool though right?
Not quite. It has correct support on the 5,2 for trackpad. (The rest behaves as your installer).

What I wondered while I used your script/tool for the first time now:
Why is there a prelinked kernel for each macOS version (makes sense) but no distinction between destination platforms (i.e. there should be differences between a kernel for MacBook Pro 8,x vs. MacBook 4,1 or 5,2). I do not think there can be a one-version-fits-all prelinked kernel. So I´d expect that a query in your script will be necessary to reflect those different switch cases of which kexts and which kernels are to be copied onto the installer volume.
I might be totally wrong and there is some magic I do not understand, though. Just my thoughts on that matter.
 
Not quite. It has correct support on the 5,2 for trackpad. (The rest behaves as your installer).

What I wondered while I used your script/tool for the first time now:
Why is there a prelinked kernel for each macOS version (makes sense) but no distinction between destination platforms (i.e. there should be differences between a kernel for MacBook Pro 8,x vs. MacBook 4,1 or 5,2). I do not think there can be a one-version-fits-all prelinked kernel. So I´d expect that a query in your script will be necessary to reflect those different switch cases of which kexts and which kernels are to be copied onto the installer volume.
I might be totally wrong and there is some magic I do not understand, though. Just my thoughts on that matter.

I guess your "dropboxed" prelinkedkernel is built against the 10.14.4 beta kernel, while you should rebuild with a previous 10.14.x kernel, most often 10.14.0 kernel base version could potentially still boot any 10.14.x , but not vice versa of course.

The OSX Installers (and Recoveries) do not contain Kernels/kernel , only prelinked one.

Paradoxically when prelinkedkernel is build kernel can be deleted, but not the Extensions folder, because some are need a matching to continue booting.
 
  • Like
Reactions: ASentientBot
I guess your "dropboxed" prelinkedkernel is built against the 10.14.4 beta kernel, while you should rebuild with a previous 10.14.x kernel, most often 10.14.0 kernel base version could potentially still boot any 10.14.x , but not vice versa of course.
That´s true, so we´d either have to wait for final 10.14.4 install image or I´d have to run the prelink process on a 10.14.3 machine again.
But then the result will only run correctly on a MB4,1, right? (See my assumption in my previous post).
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.