Mojave on MacBook7,1
I made a few contributions to
dosdude1's
macOS Mojave Patcher.
posts on MacRumors
Links to some of my relevant posts on the
MacRumors thread.
manual patching
While the
patcher is excellent, open-source documentation can be valuable. The following steps, derived from discussion on the
MacRumors thread, are for 10.14.5 on a mid-2010 MacBook. Many parts apply to other systems.
installation
Retrieve and open the
Packages
folder from a Mojave
InstallESD.dmg
.
pkgutil --expand OSInstall.mpkg Expanded
Open the
Distribution
file in a text editor.
Insert
return true;
at the beginning of the
installationCheck()
function.
Remove
installsOS=true
from the top of the file.
pkgutil --flatten Expanded Patched.mpkg
Install the patched package to an empty HFS+ partition.
make bootable and set kernel flags
Open the freshly installed volume.
Copy
/usr/standalone/i386/boot.efi
to
/System/Library/CoreServices/
.
Open
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
in a text editor.
Change
Kernel Flags
to
-v -no_compat_check keepsyms=1
.
prevent kernel panic on Penryn CPUs
Delete
/System/Library/UserEventPlugins/com.apple.telemetry.plugin
.
fix sound
Replace
/System/Library/Extensions/AppleHDA.kext
from macOS 10.13.6.
install GPU detection kexts
Copy from macOS 10.13.6:
/System/Library/Extensions/NVDAResmanTesla.kext
/System/Library/Extensions/NVDANV50HalTesla.kext
fix VSLGestalt missing symbol
Install
@parrotgeek1's
NDRVShim.kext.
Or, replace from 10.13.6:
/System/Library/Extensions/IONDRVSupport.kext
/System/Library/Extensions/IOGraphicsFamily.kext
(prevents
AppleGraphicsDevicePolicy
from loading)
Or, patch
NVDAResmanTesla.kext
's main binary:
0x1ea59a - 0x1ea5b3: nop
Then, open the patched binary in a text editor and find+replace
VSLGestalt
to
IOLockLock
or any other known symbol of the same length.
enable framebuffer
Copy from 10.13.6:
/System/Library/Extensions/GeForceTesla.kext
/System/Library/Extensions/GeForceGA.bundle
enable acceleration
Copy from 10.13.6:
/System/Library/Extensions/GeForceTeslaGLDriver.bundle
/System/Library/Extensions/GeForceTeslaVADriver.bundle
Patch
GeForceTesla.kext
's main binary:
nvVirtualAddressSpaceTesla::free() + 183: nop
fix Arduino uploads
Replace from 10.13.6:
/System/Library/Extensions/AppleUSBACM.kext
prevent WindowServer crash since 10.14.4
Replace from 10.14.3:
/System/Library/PrivateFrameworks/GPUSupport.framework
/System/Library/Frameworks/OpenGL.framework
prevent WindowServer crash since 10.14.5
Replace from 10.14.4:
/System/Library/Frameworks/CoreDisplay.framework
rebuild the prelinkedkernel
sudo chmod -R 755 /Volumes/Mojave/System/Library/Extensions
sudo chown -R root:wheel /Volumes/Mojave/System/Library/Extensions
Disable SIP and reboot into the patched system.
sudo kextcache -i /
enable subpixel antialiasing
defaults write -g CGFontRenderingFontSmoothingDisabled -bool false
fix News app crash
sudo printf "\n/System/Library/Frameworks/OpenCL.framework" >> /System/iOSSupport/dyld/macOS-whitelist.txt