HITBSecConf2017 Amsterdam (April 10th - 14th)
Register Online Now!
A Guide to Building a Socket 1155 z68x Hackintosh Running Apple's Next Generation OS
It's been a good 5 years since I last played around with a Hackintosh – back then folks like Maxxuss were about the only ones who were actively involved in anything groundbreaking when it came to running Apple's operating system on non native machines.
I even took a brief dabble with running OS X 10.4.1 and 10.4.3 on an old Compaq Evo n610c. 5 years ago, running OS X on non-Apple hardware was truly an exercise in deep research, patience and painful experimentation (not to mention praying hard to the God-of-Tech that you didn't just fry what was probably your main working machine!)
Fast forward to today and the Hackintosh scene has certainly come a long way – say goodbye to deadmoo patched installers and hello to the wonderful world of slick point and click GUI tools like Chameleon, MultiBeast and DSDT Auto Patcher - Not only are there a lot more tools to help you get stuff done, the amount of research available and constantly updated 'community built’ kernel extensions makes for a very different end user experience - provided of course you stick with fairly current hardware.
We’re not saying that a Hackintosh build is for everyone and certainly not something to be undertaken by the faint of heart, which of course brings us to the number one question - Why would someone want to build something like this in the first place? The reasons are many; choose one - from 'Apple's specs are too restrictive', 'their machines are un-upgradeable' to 'I can't afford to buy a proper Mac so this is the next best thing' - For us there's really only one reason; BECAUSE WE CAN (and also because we don't have EUR5k+ lying around to pay for a similarly configured MacPro)!
While the process for getting OS X installed on a PC isn't exactly 'rocket science' expect that it's not going to work the first time around and be prepared to spend at least a couple of hours or even days researching hardware compatibility lists coupled with tons of reading – needless to say, doing all this BEFORE you decide to rm -rf your drive would be a good idea!
The steps outlined in this article will assume that you're building a machine from scratch and using the same (or very similar) hardware to what we've put together. Basically we’ve done the research for you but keep in mind that things such as BIOS versions and subtle changes in hardware specs from one model of motherboard to the other can give you drastically different results! As we’ll keep repeating - DO YOUR RESEARCH!
When Apple first announced that Lion would be installed via the App Store, many have been wondering whether a retail DVD purchase option would be made available – So far there hasn't been any solid indication from Cupertino on whether you'll be able to go out and buy a physical DVD installer from your nearest Apple Store or authorized distributor. For now, the only install method available for Hackintosh builders involves extracting some essential files from the Gold Master (GM) .dmg and placing them on a USB drive.
While we’re on the subject of Lion, where does one get an install image? From the Apple Developer Center of course! Though you will probably find copies floating around on various BitTorrent trackers, DO NOT PIRATE SOFTWARE - You're already deep in the ‘grey area’ of what is 'legal' by installing OS X on a non-Apple branded machine – stealing the software to make this happen is DEFINITELY illegal! Besides, Lion retails for about USD30 - a price I'm sure even the most penny pinching buyer can agree is 'affordable' considering what you're getting.
What we Used
Since we set out to build a more powerful MacPro, we decided to go down the 'not so well trodden path' and build a machine not only running Apple's next generation operating system but to do so on a hardware setup that they don't even sell! Go big or go home right?
After much digging on various forums, Wikis and blogs we came up with the following spec list:
Mainboard - Gigabyte z68x-UD3-B3
Since we didn't want to build a LGA 1366 based 'noob' machine, the clear choice was to go with the z68 chipset. Some say Gigabyte are the OEM manufacturers for some Apple machines, which might explain why most of the 'successful' Hackintosh builds we’ve seen have been based off Gigabyte motherboards. Our z68x-UD3-B3 came with an F1 BIOS (which we flashed to the latest F5 version)
CPU - Intel i7 2600K 3.4GHz
We originally wanted to get the i7 990X Extreme edition, but we're not ATM hackers plus it would mean that we would have had to go with the older socket 1366 x58 based boards.
GPU - ATI Radeon 5870
The 5770 and 5870 are natively supported in OS X and are the cards that currently ship with the current 2011 MacPro's. That being said, these cards are being phased out and you might have a hard time finding one - The newer 6570, 6770 and 6870 are apparently supported courtesy of some kext hacking but if you want to be safe and have full Quartz Extreme (QE) and Core Image (CI) support out of the box, then stick with the 5x70 series.
Sound - On-board ALC889
Network - On-board RTL8111E
The not so important specs
RAM - 16GB Kingston 1333MHz DDR3
Power - Silverstone 750W Gold power supply
Cooling - Coolermaster V10 CPU cooler (seeing that this box lives in Malaysia, any plans on over clocking the 2600K will probably need fairly robust cooling)
Boot Drive - Intel 510 SSD 120GB
Storage Drive - Western Digital 2TB Green
DVD-RW – LG SATA DVD-RW though technically not needed since you're installing via USB
8GB USB stick – They’re cheap as hell, so so no reason you shouldn't have one.
Our hardware not l33t enough for you? Take a look at the Customac builds listed on tonymacx86’s page - he’s got a build to suit almost every budget, just keep in mind that your choice of motherboard and graphics card will be the two main keys to a less headache inducing (and more importantly) rock solid Hackintosh build.
OS X Lion Gold Master
Extra Lion DP4 and GM
Multibeast 3.7.3 (3.8.0 was just released)
DSDT-GA-Z68X-UD3-B3-F5.aml (Gigabyte -> Socket 1155 -> z68)
Gigabyte z68x-UD3-B3 F5 BIOS
Note: If your BIOS is already at F5 then you will not require this download, else grab it and use the built in Q-Flash utility to upgrade before you do anything else – Need help flashing your BIOS using Q-Flash? There are tons of YouTube videos online.
Non-Essential Software (but better safe than sorry)
z68x DSDT Auto-Patcher
Gigabyte HDEF Auto-Patcher for z68x
Extra Folder with system definition MacPro3,1
TRIM Enabler 1.1 (see Tweaks & Add Ons)
Pre installation preps
As mentioned earlier, Lion is supposed to be installed via the App Store - as such you're going to need to prep your USB stick with some necessary software extracted from the .dmg. We're assuming you're doing all the steps below from OS X - in our case 10.6.8, but of course there's no reason you'll not be able to accomplish the same via Linux or Windows. We're also going to assume that being a HITB reader, you're all comfortable with working from Terminal ;)
Step 1 - Setting up your USB drive
Open up Disk Utility and partition your USB disk using MacOS X Extended (Journaled) with a GUID partition map (Figure 1 and Figure 2). We named ours Lion-BOOT
Step 2 - Grab a Lion by its toe
Mount your legally (or otherwise) obtained Lion Gold Master .dmg, right click on Install Mac OS X Lion, choose Show Package Contents (fig 3). Drill down into Contents -> Shared Support and mount InstallESD.dmg (fig 4). You should then have a folder named Mac OS X Install ESD pop up (fig 5)
From Terminal and run the following command:
open /Volumes/Mac\ OS\ X\ Install\ ESD/BaseSystem.dmg
Go back into Disk Utility, select your USB drive and click on the Restore Tab – In the Source field, drag the Mac OS X Base System and into the Destination field drag your USB partition. Click Restore. The process should take about 5 minutes to complete (Figure 6)
When the restoration is done, open the new Mac OS X Base System created on your USB drive, navigate to System -> Installation and delete the Packages link that’s in there, Go back to the original Mac OS X Install ESD folder (Figure 5) and drag and drop the Packages folder from there into your USB drive’s System -> Installation directory (Figure 7)
Step 3 – Other software (needed for post installation)
Create a new directory in the top level directory on your USB drive – we called ours PIS (Post Install Software, what did you think?) – Into this directory, copy the following tools that you downloaded earlier:
Extra Lion DP4.pkg
HDEF Gigabyte Autopatcher
DSDT Autopatcher z68
Step 4 – Almost ready for reboot
Launch Chameleon RC5.pkg and Extra Lion DP4.pkg making sure to install both to YOUR USB DRIVE and NOT YOUR PRIMARY PARTITION – be very careful or you could hose your base machine.
Dragging a Lion Up a Bridge
With your USB prepped and ready, plug it in and reboot into the Gigabyte BIOS setup menu. From the BIOS main menu, ensure the following options have been enabled / set to the state shown in brackets ():
Advanced BIOS Features
Advanced BIOS Features -> Hard Drive Disk Boot Priority (set your 8GB USB to boot first)
Advanced BIOS Features -> Full Screen Logo Show (DISABLED)
Integrated Peripherals -> PCH SATA Control Mode (AHCI)
Power Management Setup
Power Management Setup -> HPET Support (ENABLED)
Power Management Setup -> HPET Mode (64-BIT MODE)
Power Management Setup -> ACPI Suspend Type (S3(STR))
If your USB preps were done correctly and your BIOS has been setup as above, should see some text fly (Figire 8) and shortly thereafter be greeted by Figure 9 and 9a.
Fire up Disk Utility from within the Installer and partition your disks accordingly. In our setup we had our 120GB SSD as the primary drive where OS X was installed and partitioned our 2TB drive into 3 segments - 1 TB, 880GB and 120GB – The 120GB partition is used for a SuperDuper clone of the main SSD once everything was set up properly. We recommend you have a similar solution in place to clone your primary drive – should anything go wrong down the road, say when updating to 10.7.x, you’ll have a fresh backup ready to go.
Lion should take anywhere between 15 and 30 minutes to install – when you’re done, breath a sigh of relief as you’re half way there but DO NOT REMOVE THE USB STICK – You’ll still need it to boot your system.
Reboot and when the Chameleon boot screen pops up, choose your new install and let it boot into the Lion welcome screen (Figure 10)
The Final Hurdle
You now have a lemony fresh Lion hackintosh – but you’re not quite done yet as the system isn’t bootable without your USB stick and not configured correctly either (i.e. you’ll find that you have no networking and no sound). Time to fix that!
Copy all the files from your Post Installation Directory to the Desktop. Before anything else, rename DSDT-GA-Z68X-UD3-B3-F5.aml to DSDT.aml and fire up Multibeast 3.7.3 (Figure 11)
Click through the installer till you get to the Installation Type screen – The following options need to be enabled (Figure 12, 13 & 14):
Drivers and Bootloaders
Kexts & Enablers
Realtek Gigabit Ethernet 2.0.6 Upgrade
Chameleon RC5 Default
When Multibeast is done, unmount your USB stick, say a little prayer to the hacking Gods and REBOOT!
If everything went well, you should find yourself booting back into OS X sans USB stick with working network and sound! However, If something didn’t go right, never fear – just reboot with your USB stick and you should be able to return to OS X and retry Multibeast again.
Post Installation Issues
Kernel Panic in IntelCPUPowerManagement.kext
Firstly, don’t panic – this is a well known and very well documented problem that’s caused by an improperly patched DSDT.
If you find your system not booting because of this error, reboot with your USB stick or with the –x –s flag and copy NullCPUPowerManagement.kext from your USB stick into the /Extra/ directory and reboot. Alternatively, you could also move IntelCPUPowerManagement.kext from /System/Library/Extensions/ to your Desktop thus preventing it from starting up
Of course this means you will not have S3 (sleep to RAM / hibernate) or even S1 (display) sleep capabilities and the only way to fix this is to have a properly patched DSDT – either downloaded from the tonymacx86 DSDT Database or if you prefer, you can use the z68x DSDT Auto Patcher tool to read your BIOS values and attempt to generate a valid .aml file from it – We strongly recommend the downloaded DSDT route though.
What’s the point of having a properly patched DSDT (apart from getting native sleep to work)? GREATER PERFORMANCE! Behold the screenshots of our Geekbench scores before patching our DSDT (Figure 15) and after (Figure 16) – We think a performance jump of 1500+ points is pretty significant, plus sleep is good for you ;)
If you find that your system gives you nothing but the sound of silence, be sure you have ONLY the ALC889 kernel extension in /System/Library/Extensions/ – This is extremely important! We spent a good 6 hours installing / uninstalling / rebuilding / re-caching and pulling our hair out in frustration trying to figure out why on-board sound wasn’t working when it should have been.
We tracked the issue down to a very peculiar ‘bug’ in OS X 10.7 (at least on a Hackintosh from the looks of it). The problem stems from OS X loading the first NON VALID audio kernel extension if you have multiple kexts in /System/Library/Extensions i.e. if you have ALC885, ALC888 and ALC889 extensions in there but only require ALC889; OS X will either try to load ALC885 or ALC888 but NOT ALC889! Yes, very strange and very annoying to nail down!
CMOS Reset Upon Reboot
Even with a fully patched DSDT, there is a known issue in AppleRTC.kext which will cause your BIOS to reset to it’s default state after your machine has been put into S3 sleep (once or more times). The Hackintosh community is still looking for a proper solution, but a current workaround involves binary patching AppleRTC.kext with an unconditional jump over the problem area using the following PERL snippet run from Terminal:
sudo perl -pi -e 's|\x75\x30\x44\x89\xf8|\xeb\x30\x44\x89\xf8|; s|\x75\x3d\x8b\x75\x08|\xeb\x3d\x8b\x75\x08|' /System/Library/Extensions/AppleRTC.kext/Contents/MacOS/AppleRTC
Obviously this is NOT a permanent solution though it does work. Details and discussions of what has been discovered thus far is on-going over at InsanelyMac and we recommend you check there for the latest fixes:
Tweaks & Add Ons
How to Enable Trim on your SSD
Since Apple first announced that Lion would have TRIM support, most SSD users have been eagerly awaiting to upgrade SPECIFICALLY for this feature. WTF is TRIM you ask? From Wikipedia:
TRIM was introduced soon after SSDs started to become an affordable alternative to traditional hard disks as permanent storage in PCs. Because low-level operation of SSDs differs significantly from traditional hard disks, the typical way in which operating systems handle operations like deletes and formats resulted in unanticipated progressive performance degradation of write operations on SSDs. TRIM enables the SSD to handle garbage collection overhead, that would otherwise significantly slow down future write operations
The only minor detail about TRIM support in Lion that Apple forgot to mention is that it only works on APPLE BRANDED SSDs – That’s right; unless you bought your SSD directly from Apple (for possibly three times the market price), there will be NO TRIM SUPPORT for you in 10.7! Fortunately, Oskar Groth’s TRIM Enabler 1.1 has you covered – while officially the tool doesn’t support OS X 10.7, we’ve tested it and it works perfectly with Trim Support showing up as Yes on our Intel 510 SSD.
Note: We didn’t notice either performance gain or degradation after installation but then again our SSD is new and only about 1/3 full.
Editing smbios.plist for Further (Cosmetic) Customization
All aspects of what you see when you click About This Mac including the details in More Info are set within DSDT.aml as well as in smbios.plist – If OS X detects your RAM with the wrong speed or if you’d prefer your machine to report itself as an iMac instead of a MacPro (or a MacMini even) you can do so within smbios.plist. Below is a link to an excellent article explaining all the options and their associated values:
If you plan to use an Apple Bluetooth keyboard and mouse you’re going to need a third party USB Bluetooth module as the on-board chip does not work – we were super lucky to find a VZTEC BT2279 USB Bluetooth module in our local IT mall for the princely sum of USD3! Yup, 3 bucks for a device that is fully EDR compliant and works out of the box with OS X – What more could you ask for? You can probably order the device directly from the VZTec website (http://www.vztec.com/product_show.asp?id=160) if you can’t find It on eBay.
EDIT: While the BT-2279 does work, it only allows ONE BT DEVICE to be connected at a time - thus either keyboard or mouse but not both. Our solution? Buy a second hand Apple Bluetooth Module (the A1181 for example) and solder a USB header on to it.
You’re now an owner of your very own custom built MacPro that not only cost significantly less to put together but one that packs a lot more punch as well! When you have a moment between playing with your new toy, don’t forget to donate towards the tonymacx86 project for the awesome work they’ve done with Multibeast and the DSDT Database – it’s really and truly thanks to folks like these and the countless others in the Hackintosh community that it’s even possible to run OS X on a PC! Be grateful!
Macbidouille / HardMac Forums
Photos from our build