OK, so I wrote about wanting a Mac Pro but not being able to afford one. Well, the deed is done. I purchased the parts, built the computer and installed Mac OS 10.9 on it. My Hackintosh (running Mac OS on non-Apple hardware) is done and it was a great success! Here’s the tale of that journey.
The parts I chose:
This set of parts were chosen after more than a month of painstaking research, a lot of it on the forums at tonymacx86.com. This is a great resource for anyone wanting to build a Hackintosh.
I’m a big believer in RAID, so it’s no surprise I chose RAID 1 for Mac OS and RAID 6 for my other stuff. I was a little nervous about the HighPoint RocketRAID card, since I couldn’t find anyone that had used it in a Hackintosh, but I did find that Mac OS 10.8 and later supported the card I wanted.
The most important components for a Hackintosh are the CPU, motherboard and video card. The choices I made were for maximal compatibility with Mac OS.
Once I assembled the components into an actual machine, I tested the memory for 3 days (with memtst86) and each individual hard disk with the Western Digital diag program. Then, it was off to the races…
First up: flash an up-to-date BIOS for the UD5H (F7, but F8 was released shortly after I got it built). The BIOS settings I used:
- System Information > Working Environment > Classic Mode
- Load optimized defaults
- Performace > Memory > X.M.P. > Profile 1
- BIOS Features > Intel Virtualization Tech > DISABLED
- BIOS Features > Boot Option Priorities: set appropriately
- BIOS Features > Full Screen LOGO Show > DISABLE
- Peripherals > Device Config > Initial Display Output > PCIe 1 slot
- Peripherals > Device Config > xHCI Mode > AUTO
- Peripherals > Device Config > Intel Processor Graphics > DISABLED
- Peripherals > Device Config > xHCI Hand-OFF > ENABLED (the default, but good to check)
- Peripherals > Device Config > EHCI Hand-OFF > ENABLED
- Peripherals > Super I/O Config > Serial Port A > DISABLED
- Power Management > Wake on Lan > DISABLED
- Save and Exit Bios
I also updated the firmware on the HighPoint card.
As I said I did software RAID 1 for the Mac OS drive. I tried doing a test install with hardware RAID 1 (with the SSDs attached to the 3620), but it didn’t work. I wasn’t sure why, so I moved on to software RAID 1. I was able to install, but upon rebooting after the install it wasn’t able to boot properly. After a lot of searching, I figured out the installation had put the boot loader (the thing that loads the operating system) in the wrong place.
When you make a RAID 1 array in the Mac OS Disk Utility, the actual boot partition is a composite of the real underlying disks. Here is the output of diskutil list:
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *128.0 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_RAID 127.7 GB disk0s2
3: Apple_Boot Boot OS X 134.2 MB disk0s3
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *128.0 GB disk1
1: EFI 209.7 MB disk1s1
2: Apple_RAID 127.7 GB disk1s2
3: Apple_Boot Boot OS X 134.2 MB disk1s3
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS mack-root *127.7 GB disk2
The actual boot disk is disk2 and it is made up of two parts, disk0 and disk1. I think what happened is the installer put the boot loader on /dev/disk2 and not at the beginning of /dev/disk0 and /dev/disk1. So, I needed to do that. Here’s how I did it:
newfs_hfs -v EFI /dev/disk0s1
newfs_hfs -v EFI /dev/disk1s1
mount_hfs /dev/disk0s1 /Volumes/EFI
mount_hfs /dev/disk1s1 /Volumes/EFI2
fdisk -f boot0 -u -y /dev/rdisk0
fdisk -f boot0 -u -y /dev/rdisk1
dd if=boot1h of=/dev/rdisk0s1
dd if=boot1h of=/dev/rdisk1s1
cp boot /Volumes/EFI/
cp boot /Volumes/EFI2/
fdisk -e /dev/rdisk0 <<EOF
fdisk -e /dev/rdisk1 <<EOF
I ran this script booted from the UniBeast USB drive I used to install Mac OS. When you boot from the USB drive, it goes into the Mac OS installer, which allows you to get a Terminal window and execute the above script. Once I did that, I was able to reboot normally into my newly installed Mac OS 10.9.1.
We’re not done, though. While Mac OS is running, it’s not fully configured for our Hackintosh hardware. The next phase is to run MultiBeast and install appropriate drivers for the hardware I have. For me, these were the settings I used:
Quick Start > DSDT Free
Drivers > Audio > Without DSDT > ALC898 (automatically checks HDAEnabler)
Drivers > Disk > TRIM Enabler > 10.9.x TRIM Patch
Drivers > Misc > FakeSMC v5.3.820 Plugins
Drivers > Misc > FakeSMC v5.3.820 KWMonitor Application
Drivers > Misc > PS/2 Keyboard/Mice and Trackpads
Drivers > Misc > USB 3.0 - Universal
Drivers > Network > Intel hnak's AppleIntelE1000e v2.4.14
Customize > Boot Options > IGPEnabler=No
Customize > Boot Options > Verbose Boot
Customize > Boot Options > 1080p Display Mode
Customize > System Definitions > iMac > iMac 14,2
Build -> Select Install Drive: Mavericks -> Install
Here’s a picture of the MultiBeast window:
When I clicked “Install” in the lower right corner I got a popup that said
Kernel extension is not from an identified developer
The kernel extension at “/System/Library/Extensions/GenericUSBXHCI.kext” is not from an identified developer but will still be loaded.
I clicked “OK” to that, then rebooted without the USB drive attached.
The video card I have is a good performer but it’s also pretty quiet. It’s got 1152 CUDA cores. However, to get the most out of it, I needed to install the nVidia CUDA drivers. After doing so, CUDA-Z shows this info:
I haven’t figured out what I can do with this fancy pants video card, but so far the performance good. The Geekbench 3 score for the new machine is:
That’s just the 32-bit score. The 64-bit score requires paying for the app. By comparison, the Mac Pro score is 3215 (single) / 18296 (multi). It makes sense the multi-processor score is higher since the 2013 Mac Pro has a Xeon processor, which is much better when multiple cores are active.
What about the stats on various monitored quantities? Installed with Mac OS (by UniBeast or MultiBeast) is a hardware monitoring program. Here’s a screen cap of it:
Note the CPU frequency was at 800MHz during the cap, instead of 3.50GHz, which is the normal, non-turbo frequency. This shows the speed-step (or whatever it’s called in Mac OS) is working with the CPU/motherboard I have.
Finally, some pictures of the build: