Jump to content

Working Intel DH87MC + i5-4670k (Haswell) Installation with 10.8 Server


2 posts in this topic

Recommended Posts

(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 [2015-09-25] Running 10.11 GM (No Longer as server)

 

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.)

 

Tested:

  • 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.

Good luck.

 

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.)

Audio Update: Using https://github.com/toleda/audio_kext_enabler and https://github.com/toleda/audio_ALC892, I now have audio. Using Audio_ID: 1.

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.

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

I have just successfully patched my Intel Haswell motherboard's (DH87MC) UEFI BIOS using a RaspberryPi Model B as an SPI programmer based on CodeRush's recommendations. Posting how I did here for other people who may have no option but to go down this path. Warning, this is not for the faint hearted, or people who have no experience in soldering. Unless you know what you are doing, you are very likely to mess up your board.

  • Make sure your motherboard has the BIOS you want to patch.
  • I followed Pacman's instructions from here (or here) very closely. I deviated from his instructions when installing pciutils required a manual download, and makesudo make installand sudo make install-lib. flashrom also requires manual downloading, makeand sudo make install.
  • I did not remove the BIOS (SPI) chip, instead I soldered very thin wires to it in place. This is not necessarily good practice, but worked for me.
  • I did not remove the motherboard cables (also not necessarily good practice), but I disconnected my computer from all external connections, especially power. 
  • With the main computer unplugged and disconnected from everything external, except the soldered wires from the raspberrypi, I booted the raspberrypi, and executed a "sudo flashrom -p linux_spi:dev=/dev/spidev0.0 -r biosbackup.rom". Took at least 5 minutes. Now we have the BIOS in a file named 'biosbackup.rom'.
  • I copied the file biosbackup.rom from the raspberrypi to a Windows 7 VM, and ran PMPatch.exe, naming the output file biosbackup_patched.rom. (I was not able to run on OSX due to Segmentation fault: 11.)
  • After I brought the patched file back to the raspberrypi, and I executed "sudo flashrom -p linux_spi:dev=/dev/spidev0.0 -w biosbackup_patched.rom -V". It also took at least 5 minutes.
  • It came back verified, but before I removed the wires, I ran a second test by executing "sudo flashrom -p linux_spi:dev=/dev/spidev0.0 -r biosbackup_patched_reread.rom".
  • I compared the files biosbackup_patched.rom and biosbackup_patched_reread.rom in OSX using Hex Fiend. They were identical.
  • I reset the CMOS by removing the motherboard battery to be on the safe side.
  • Removed the wires from the BIOS SPI chip.
  • Reassembled the computer, and booted successfully.
  • Tested with 10.8.5 and 10.9 DP8 successfully.

Once again, this is your last resort, and is not recommended unless you absolutely know what you are doing. CodeRush and Fix It Felix Jr, thanks for all the support. Much appreciated.

 

EDIT:  If you are going this way, you may want to consider investing in a SOIC8 / SOP8 (or whatever matches your SPI chip) in circuit test clip instead of soldering on to your motherboard. Look for "SOIC8 in circuit" on ebay. They go for about $10.

post-287063-0-54298200-1381807096_thumb.png

post-287063-0-12261100-1381807116_thumb.png

post-287063-0-42835900-1381807128_thumb.png

post-287063-0-35404600-1381807149_thumb.png

post-287063-0-87661900-1381807161_thumb.png

post-287063-0-00824500-1381807172_thumb.png

Link to comment
Share on other sites

 Share

×
×
  • Create New...