How I update Mac OS - 10.12.5 Example

A few people have asked me how I go about updating Mac OS so I thought I would post.

Firstly, wait a day after the update comes out. This ensure there is time for NVIDIA to release the compatible Web Driver and RehabMan to add patches to the patch-nvme repository.

The first thing I will do is check https://www.tonymacx86.com/ for any major issues related to updating. I'll read about it and make sure I'm not getting into any trouble.

Next, I'll use Carbon Copy Cloner to backup my boot drive to a regular AHCI SSD. This ensures I'll always have a bootable clone to work from. This is required for this update method.

After cloning, I'll go ahead and download the NVIDIA Web drivers and patch-nvme repository, as well as the Apple Combo update. I'll use Pacifist to search the Combo update for the virgin IONVMeFamily.kext and extract it to my downloads folder.

Downloaded Files

Pacifist

Next I'll go into the patch-nvme-master folder and modify the path to the virgin IONVMeFamily.kext in the patch_nvme.sh script.

Then I'll create the patched NVMe driver.

./patch_nvme.sh 10_12_5
Creating patched HackrNVMeFamily-10_12_5.kext
Vanilla MD5 matches expected MD5 entry (5093d2f6b472e6660f5242324ba958a6)
Patched MD5 matches expected MD5 entry (d02e1e567d72823617b2b7ba6ea710b7)

Next I'll run the Combo update and allow the update to complete. Then the computer will restart. After restarting, I'll boot to my cloned drive.

From there, I'll remove the IONVMeFamily.kext installed by the update. It will cause issues in combination with the HackrNVMe kext.

sudo rm -rf /Volumes/Rocket960/System/Library/Extensions/IONVMeFamily.kext

Then I'll replace my old HackrNVMe kext with the new one.

rm -rf /EFI/CLOVER/kexts/10.12/HackrNVMeFamily-10_12_4.kext
cp -R ~/Downloads/patch-nvme-master/HackrNVMeFamily-10_12_5.kext /EFI/CLOVER/kexts/10.12/

I'll then set NvidiaWeb to False in my config.plist. This'll at least allow my system to boot from my NVMe drives.

From there I'll reboot and also add the flag nv_disable=1. This allowed me to boot without the web driver, showing a low resolution screen. From there I was able to install the NvidiaWeb driver.

After it successfully installed, I reset NvidiaWeb to True in my config.plist and rebooted. It took a couple tries (related to the kernel cache, no doubt) but it allowed me to boot at full resolution from my NVMe drive after that.

All set!

Let me know if you have any questions!


If you found this resource helpful; the greatest compliment you could give is a small donation. Your patronage really motivates me to invest more of my time into the community.