Building an Ivy Bridge Hackintosh with Gigabyte Z77X-UD5H and Intel i7-3770k

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:

Gigabyte Z77X-UD5H-WB WIFIIntel Core i7-3770K Quad-Core Processor 3.5 GHz 6 MB Cache LGA 1155Cooler Master Hyper 212 EVO CPU Cooler with 120mm PWM FanCorsair Vengeance 16 GB (2x8GB) DDR3 1600MHz DIMM MemoryCrucial 256 GB m4 2.5-Inch Solid State Drive SATA 6Gb/sPowerColor ATI Radeon HD6850 1 GB DDR5 PCI-Express Video Card

Continue reading

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.