Updated fix for “Still waiting for root device” on OS X 10.8.2 Mountain Lion

Apple’s OS X Mountain Lion update to 10.8.2 has modified the IOAHCIFamily.kext once again, resulting in a failed boot with the “Still waiting for root device” error on the console. The previous fix won’t work, as well.

Here is the updated fix for 10.8.2’s version of IOAHCIFamily.kext. Don’t copy-paste everything into the Terminal at once, do it one line at a time. Pasting the whole code at once will result in the second half of the commands being used as your password at the first sudo command.

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|\x8b\x4a\x00\x00\xeb\x03|\x8b\x4a\x00\x00\xe8\x01|g' IOAHCIBlockStorage
sudo /usr/bin/perl -pi -e 's|\x74\x0e\x48\x8d\x3d\x72\x92\x00\x00|\xbf\xc8\x00\x00\x00\x90\x90\x90\x90|g' IOAHCIBlockStorage
sudo touch /System/Library/Extensions

Update: Updated fix for “Still waiting for root device” on OS X 10.8.3 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.