With Ivy Bridge based Apple computers and OS X 10.8 Mountain Lion out, it’s time to build an Ivy Bridge Hackintosh! Below is my walkthrough for building a capable workstation that can run both Windows and OS X. But first, meet the components of this build:
Category Archives: Mac OS X
Updated fix for “Still waiting for root device” on OS X 10.8.1 Mountain Lion
Apple’s yesterday update to 10.8.1 for OS X Mountain Lion again results in “Still waiting for root device” error during the next boot for Hackintosh owners. Moreover, the previous disk enumeration delay patch for IOAHCIBlockStorage.kext doesn’t work anymore as the kext has been changed in 10.8.1. Thankfully z0rglub from InsanelyMac forums has already published the proper hex strings for the 10.8.1 patch. The following commands place a backup of the unmodified binary before patching it.
cd /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS sudo mv IOAHCIBlockStorage IOAHCIBlockStorage.orig sudo cp IOAHCIBlockStorage.orig IOAHCIBlockStorage sudo /usr/bin/perl -pi -e 's|\xbb\x4b\x00\x00\xeb\x03|\xbb\x4b\x00\x00\xe8\x01|g' IOAHCIBlockStorage sudo /usr/bin/perl -pi -e 's|\x74\x0e\x48\x8d\x3d\xb2\x91\x00\x00|\xbf\xc8\x00\x00\x00\x90\x90\x90\x90|g' IOAHCIBlockStorage sudo touch /System/Library/Extensions
Update: This patch DOES NOT work for 10.8.2′s IOAHCIBlockStorage.kext Update 2: Updated fix for “Still waiting for root device” on OS X 10.8.2 Mountain Lion
This fix has been made possible due to countless hours spent by bcc9 from InsanelyMac forums reverse-engineering Apple’s work and his original script.
Fix for “Still waiting for root device” on OS X 10.8 Mountain Lion
This error manifests itself on OS X 10.8 Mountain Lion only if you boot your Hackintosh with UseKernelCache=Yes, as booting with “-f” results in a normal boot sequence.
The reason is believed to be due to a timing change Apple has introduced in the IOAHCIBlockStorage.kext, results in a bug on Hackintosh builds: the system enumerates the disk partitions too fast and the boot partition gets skipped. The fix involves patching the IOAHCIBlockStorage.kext and adding a slight delay that allows enough time for disk enumeration.
The shell script patcher is available from the author’s Dropbox, but if you prefer to do everything by hand yourself, here is the list of the commands:
cd /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS sudo mv IOAHCIBlockStorage IOAHCIBlockStorage.orig sudo cp IOAHCIBlockStorage.orig IOAHCIBlockStorage sudo /usr/bin/perl -pi -e 's|\xeb\x4c\x00\x00\xea\x03|\xeb\x4c\x00\x00\xe8\x01|g' IOAHCIBlockStorage sudo /usr/bin/perl -pi -e 's|\x74\x0e\x48\x8d\x3d\xa5\x90\x00\x00|\xbf\xc8\x00\x00\x00\x90\x90\x90\x90|g' IOAHCIBlockStorage sudo touch /System/Library/Extensions
Reboot and see if this fixes the problem for your Hackintosh.
Update: This patch DOES NOT work for 10.8.1’s IOAHCIBlockStorage.kext
Update 2: Updated fix for “Still waiting for root device” on OS X 10.8.1 Mountain Lion
This fix has been made possible due to countless hours spent by bcc9 from InsanelyMac forums reverse-engineering Apple’s work and his original script.
CMOS Reset Error on OS X 10.8 Mountain Lion after wake from sleep
If you experience CMOS checksum errors and CMOS resets on wake or reboot after installing OS X 10.8 Mountain Lion on your Hackintosh, you need to patch the AppleRTC.kext. Open your Terminal and follow these easy steps:
1. First backup the original kext:
mkdir ~/Desktop/BackupRTC sudo cp -r /System/Library/Extensions/AppleRTC.kext ~/Desktop/BackupRTC/
2. Copy the original kext to your desktop for patching:
sudo cp -r /System/Library/Extensions/AppleRTC.kext ~/Desktop/
3. Patch it:
sudo perl -pi -e 's|\x75\x30\x89\xd8|\xeb\x30\x89\xd8|' ~/Desktop/AppleRTC.kext/Contents/MacOS/AppleRTC
4. Delete the original version:
sudo rm -rf /System/Library/Extensions/AppleRTC.kext
5. Copy the patched version in the place using Kext Wizard, rebuild the permissions and the system cache.
6. Reboot.