(Also will work the same for 10.8.4, without the server.).
Now running 10.9 Server. [2014-11-13] Now running 10.10.0 + Server 4.0
I have been building Hackintosh boxes for several years now. I originally favored microATX format. After 4 different hacks, and being a Mac user since the early days, I came to the conclusion that most of the hack hardware's reliability was sorely lacking:
- microATX has heat issues when you load up the box, even without overclocking.
- Gigabyte and other popular boards are problematic from a quality point of view. They are also archaic, some with VGA ports and such.
- BIOS. Just infinite opportunities to goof things up.
- Memory. I had so much trouble, it is not even funny.
I needed to build a 10.8 OSX Server with rock-solid uptime. So, here is the hardware I acquired:
- Corsair 400R case. Plenty of space. Most crucially, runs cool.
- Intel DH87MC ATX motherboard. A real Haswell H87 motherboard. Yes I know, it is not over-clockable. But I am building a server, and shooting for quality and reliability. Has no obsolete anything on it. Super quality board.
- Corsair Vengeance 8Gigs (I had so much trouble with memory in the past.) This is supposed to be just good memory.
- i5-4670k. Why 'k'? It was on sale. I will not overclock.
- A decent OCR 600W modular power supply. I recycled one of my old ones.
- Nvidia 8800GT video card. I recycled that one too. After all, it is a server, not a game machine. Eventually, I will attempt to use the integrated graphics.(Don't even try this before Maverick.)
Now the key question. Does it boot 10.8.4? Yes it does.
Does it run as a OSX server? Yes!
Here is how I did it:
- Assemble everything. 400R is a beautiful case.
- Boot with and test memory with memtest CD. Got burned before.
- Carbon copy cloner rip a working 10.8.4 installation from my real mac to a sata drive that I connected through a $10 USB drive case. (Please don't ask me how to install from scratch, there are literally hundreds of installation tutorials out there.)
- I made no modification on the real Mac's drive. All of the modifications below are to the drive being prepared.
- On that Mac, install Chameleon 2254 only to that drive. If you install Chameleon on your real Mac's drive, it will not boot. You will be toast!
- Boot the Haswell PC with a Windows or Linux installation, and create a DSDT (I think this is optional since this is a UEFI board, but I did it anyway). This is well described on the web.
- Put the dsdt.aml into the /Extra folder in the drive you are preparing.
- Install FakeSMC.kext and NullCPUPowerManagement.kext into the S/L/E
- Install AppleIntelE1000e.kext (version 2.4.14 or later) into S/L/E/IONetworkingFamily.kext/Contents/PlugIns/
- Install Realtec 892 using m u l t i b e a s t and without DSDT option (This did not work.)
- I also have the AppleRTC.kext patch, but not sure if that is needed since this is a UEFI board.
- Using HexEdit, patch the /mach_kernel. Look for eb0a83f83a and replace it with eb0a83f83c. Credit goes to pikeralpha. This enables Haswell code to run on the kernel.
- Rebuild caches. Check disk and permissions to be on the safe side.
- Boot and cross your fingers. (I booted with -s -x -f -v GraphicsEnabler=No PCIRootUID=0 first boot, whether that makes a difference, not sure.)
- After a successful boot, make a smbios.plist, and put it into the /Extra. I used MacPro6,1 and Mac-F60DEB81FF30ACF6 also provided by pikeralpha.
- I generated a new serial using chameleon wizard, but it does not have MacPro6,1, so the serial belongs to MacPro5,1. Oh well.
Enjoy Haswell, and a very good quality and modern Intel board with 10.8.4. (Server just works as well.)
- Uptime. No kernel panic or anything in two days. Not even once.
- Audio: did not work, but did not try other than the initial installation. I plugged in a $5 usb audio gizmo from my junk drawer, and it is perfectly fine. If you find a solution, let me know.
- Built-in internet. Works just fine.
- Heat: is very cool.
Geekbench (32): about 10,000. I think memory is running at 1333. But I made 0 adjustments to the UEFI, or bios for that matter. Other than boot order.
- Shutdown & restart, working.
- Sleep, did not test, but this is a server. Don't need sleep.
2 MONTH UPDATE: In two months of operation, not even a single kernel panic, and no crash, running as OSX Server 24x7.
Benchmark: Geekbench 3, 64 bit benchmark results: 3,451 / 11,207. Pretty respectable.
10.8.5: [After patching the BIOS, now full 10.8.5]
Using MiniHack's method, upgraded to 10.8.5, and reverted back to the 10.8.4 (patched) kernel, also reverting AppleACPIPlatform, AppleAHCIPort, IOPCIFamily, IOPlatformPluginFamily kexts back to 10.8.4 versions. Updated AppleIntelE1000e.kext to version 2.5.4c. FakeSMC to HWSensors.5.3.820.pkg. Also updated to Chameleon 2262 to use internal video. Boots fine.
Internal 4600 Video: Works with IntelAzulFB=
8 (Insert <key>IntelAzulFB</key> <string> 8</string> to org.chameleon.Boot.plist.)
DSDT Update: Also runs without a DSDT just fine.
Network Update: Downgraded the AppleIntelE1000e.kext to version 2.4.14 as version 2.5.4c kicks out during large transfers (>10 gigs).
2013-10-13 Update: After the unlocked BIOS update as documented below, now running 10.8.5, and can boot 10.9 DP8.
2013-10-23 Update: Updated to 10.9 Mavericks. Everything works.
2013-12-16 Update: I now have two of these rigs. One server one client. Sleep works just fine.
2014-02-26 Update: Now running 10.9.2 and Server 3.0.3.