TL; DR: MBA giving way, need a Mac. Hackintosh was my answer. Guide is below in a list form.
Running Mac OS or Linux would be more ideal for a developer because certain applications are only built to support Unix systems, and sure I could make do with alternatives (which was what I was doing). Up till now I’ve been surviving with Homestead and I’ve really gotten accustomed to it. It really is a nice setup, everything is isolated and when I need to do other CPU intensive things, all I need to do is vagrant halt and redis, mysql and nginx/apache is stopped. I did give Laravel Valet a go, it was a Windows port and it was a little buggy so I went back to Homestead. I even installed Ubuntu as a dual boot but a few minutes of using it and I noped right out. It just wasn’t for me and I was plain lazy to learn to use the desktop variant. I’ve been working with a Macbook Air so I’m pretty familiar with Mac OS but I never really got to develop on it. I used to but for a short period only, I loved using Coda and being able to run a second 23″ monitor but eventually my MBA just couldn’t handle the requirements. It got really slow and the battery is giving way. So all I do is use it for web browsing.
Buying a Mac, is almost RM 10,000 at least a decent one that is. I knew Hackintosh was a thing, I’ve even tried it before. But the difference is last time, there was a pre-built image which you just needed to download off a uhm-uhm site and you’d be able to install it fine. However, now at Seirra, those images aren’t created for users anymore and a more manual approach is needed. You would need to use apps like Unibeast or Clover to make the installer/disk bootable. I was just too lazy for it. And now that my MBA is giving way and my needs are growing, I finally decided to give it a go. It was pretty overwhelming at the start but it wasn’t too bad once you’ve gotten into it. I’ll be writing a guide to get Sierra to work on a build similar to this:
- Gigabyte H97M-D3H
- MSI GTX 970 G1 Gaming (any 9xx range or even 1xxx range cards would work too)
- 16GB RAM, 500GB HDD
The Actual Guide – rewritten from VioletDragons post
Yeah, I’ll keep it straight forward by using a numbered list I know long wall of texts are just a pain to go through.
This guide is HEAVILY based on VioletDragon’s post, all credits including the guide and repository goes to him completely. I take no credits. It is basically a clearer rewrite of his original.
What You Need
- Bootable USB Drive (8GB or more)
- Existing Mac/Hackintosh with Mac OS
- Download these files: Z-H97M-D3H-Patches
Phase 1: Creating bootable drive & installing Clover
You need a system running Mac OS for this part.
- Go to the App Store, search for Mac OS Seirra and download it
- Plug in the USB and format it using:
- Name: USB
- Format: Mac OS X Extended (Journaled)
- Scheme: Master Boot Record
- Use this command to copy the files into your USB
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ Sierra.app
- Download Clover, run it and click Continue and Continue, then:
- Click change install location, select the USB (this is important! be careful not to install it on your current boot drive)
- This are the stuff you need:
- Install of UEFI Boot Only
- Install Clover in the ESP
- drivers64UEFI (select ALL except OsxAptioFixDrv2)
- Once you’ve done that we have to copy some files over.
- Download the repo from above
- Copy the kexts from the kexts folder to /EFI/CLOVER/kexts
- Copy HFSPlus.efi in drivers64UEFI to /EFI/CLOVER/drivers64UEFI
- Additionally you will need to download USBInjectAll.kext
- If you can’t find the link, find the download here (download the latest RehabMan-USBInjectAll-XXXX-XXXX file)
- Unzip it and copy the USBInjectAll.kext from the Release folder into /EFI/CLOVER/kexts
- Copy installer_HD4600.plist to /EFI/CLOVER and rename it to config.plist (overwriting the original)
Phase 2: Bios & Hardware
After finishing all these steps, I highly recommend you remove your graphics card but you can try leaving it on since you already enabled Intel Processor Graphics. I’m unsure if it will work, if it doesn’t just remove your power cables from the GPU and use the onboard HDMI/VGA/DVI ports.
- Hit DEL to enter BIOS Settings
- Reset to optimised default (should be on last page, Power Management)
- BIOS Features (second page)
- VT-d: Disabled
- Windows 8 Features: Other OS
- Boot Mode Selection: UEFI Only
- Initial Display Output: IGFX
- Intel Processor Graphics: Enabled
- Sata Configuration: Set to AHCI
Phase 3: Installing
This should be simple, just plug in the USB installer, plug it into a USB 2.0 slot. From my experience it didn’t matter if it was back or front. Then you would need to reformat the drive using the Disk Utility you want to install to:
- Format: Mac OS Extended (Journaled)
- Scheme: GUID Partition Map
Phase 4: Post Installation Boot
Keep your GPU unplugged for now.
- Copy the two kexts in the folders and the downloaded USBInjectAll.kext (from above, download here) to these two locations on your HDD
- Alternatively use a Kext Installer from tonymac86
- Copy the files from the SSDT folder to your HDD /EFI/Clover/ACPI/patched
- Install the NVidia Web Drivers. You can follow the guide on tonymac86
- Follow this guide for CPU Power Management
- If you’re using onboard audio, follow this guide
- Finally disable hibernate as it does not work on Hackintosh builds
123sudo pmset -a hibernatemode 0sudo rm /var/vm/sleepimagesudo mkdir /var/vm/sleepimage
Restart your PC and everything should work. If it doesn’t have fun figuring it out as I did 🙂 My build did not work right away but after following it based on the official guide and VioletDragons post, and a few other posts I finally manage to get it working. It’s a fun experience though. You will be better off making a post on a bigger community like tonymac86 or reddit as I’d be pretty clueless, but I guess other people could provide their input.
Mostly everything including Ethernet, USB ports and GPU. I didn’t follow the Audio guide so I’m sure if it worked. I’m using a USB headset. One problem I have right now is that USB 3.0 ports doesn’t get detected after boot. I would need to replug it in every time which can be an annoyance. I’ll need to figure this out but for now I’ll make do.