The Great Hackintosh Experiement


A few weeks ago I decided to embark on a great experiment….to see if I could successfully install Max OSX 10.6 on my PC hardware.  This is not a task for the light-hearted.  Apple likes to keep their OS running on their own hardware, which is prohibitively expensive (compared to PC hardware).  I wanted to experience OSX for myself,  but I wasn’t going to fork over $1500 for new hardware when I have a perfectly capable machine here.  So I decided what the hell…why not try, right?  I’m going to detail every step I took to get this beast up and running.

To start, if you’re even considering any of this, you need to make sure you have compatible hardware.  To make life really easy, stick with Intel processors if you can.  Apple uses Intel in all of their systems (as of this posting..who knows if that’ll change in the future), so if you want the most pain-free experience, start with that.  Motherboard support seems pretty good across the board, as long as you’re sticking with simillar hardware to what’s in the Mac.  Here’s a list of all the hardware I have in my system:

Processor:  Intel Core 2 Quad Q9550
Motherboard: Asus P5K-E Wifi/AP (using the P35 chipset)
RAM: 8GB DDR2 1066 (4 X 2GB sticks)
Video Card: XFX ATI Radeon 5870
Monitors: 3, one hooked up to DisplayPort, the other 2 to DVI
Sound Card: Sound Blaster Live 5.1 USB
Hard Drive: 250GB SATA

Now these were all the important pieces.  I do have an Asus Xonar DS as my main sound card in Windows, but there aren’t any Mac-compatible drivers.  I just dug up my old Sound Blaster USB one to use instead.  I also have my old Geforce 8800GT video card sitting in the extra PCI-Express slot, which I use in Windows as my PhysX card.  I wasn’t intending on using this at all, but I wanted to leave it in the system if I could.  It seemed like all of this hardware would work so the next step, OS installation.

For this you’ll need a few things things.  First, get a retail copy of OSX Snow Leopard from Apple.  It’s only $30, so it’s worth going legit (or as legit as you can…).  Plus it’s much less of a headache that way.  Some of the pre-built OSX images out there (like iAtkos and whatnot) have extra drivers and stuff in them, and can cause problems when you update(as I discovered…my first experiment didn’t turn out well using that method).  Second, you’re going to need a a couple pieces of software called iBoot and Multibeast.  You can get both here.  iBoot is going to allow you to boot into OSX since regular PC hardware won’t work by itself.  Multibeast will allow you to make small tweaks and install extra drivers that will make your life much easier.  So I downloaded both of those, burned iBoot to a DVD, and just threw Multibeast onto a USB stick.  Also while you’re at it, grab the OSX 10.6.7 Combo update from here and throw it onto a USB stick too.  Makes life easier later.

I’m only sticking with 1 hard drive here too…again, to make my life easier.  Make sure it’s empty (or at the very least don’t mind formatting it).  You’re also going to need to make sure your BIOS has the SATA system set to ACHI.  If not, iBoot and the install DVD won’t boot.  You’ll be able to find all these settings in your BIOS.

Put in iBoot and restart your computer.  It should boot into a menu where you can choose to iBoot…don’t yet.  For me, I had to do 2 things here…first, unplug the SATA cable from my HDD.  Without this I was constantly getting EBIOS read errors when going into the OSX Installer.  Second, eject iBoot from your DVD drive, insert the Snow Leopard DVD and press F5.  This should refresh the menu and the new option should say Mac OSX Install.  Choose that and you’ll begin the boot process.  Once the Apple logo comes up, you can plug the SATA cable back into the HDD.  When you can take control in the installer, just go through the menus.  Once you hit the point where you can choose where to install the OS, make sure you create 2 partitions.  One for the main partition and one for a backup (trust me…you’ll need this).  Then just install to the first partition and away you go.

Once installation is done and you reboot, you’ll need to make sure you put iBoot back in.  You’re going to need to keep that in the drive every time you boot for the time being (we’ll fix that up later).  When you get to the iBoot menu you’ll be able to choose 2 options: either iBoot or your new OSX partition.  Move over to the OSX option but before you hit enter I had to type “PCIRootUID=1”.  This allowed me to actually boot into the system…without it, it would just lock up.  Press Enter and you should see the intro video…go through the steps, create your user account, blah blah blah.  After this, you should be in!!  Awesome…except for me.  I didn’t have the correct video resolution (let alone proper desktop expansion across 3 monitors), nor did I have network access.  That’s ok…we’ll fix both in short order.  First thing to do is to make a backup…go to Applications->Utilities->Disk Utilities, and do a restore from your main partition to the backup one.  If you run into any problems along the way, you can just use iBoot to boot into that partition and restore back to the main one (which I had to do on multiple occasions).

Now back to the system.  I fixed my network problem first because I didn’t have the 10.6.7 on a USB stick.  But if you do, we’ll install that first.  If not, look below for the network fix but be prepared to reapply that after the OSX update (it updates the network drivers, forcing you to do the entire process again).   Install the OSX update off of your stick (or from a networked drive in my case) but DON’T RESET after you do…just leave the installer up.  If you do at this point, you’ll have a busted OS and need to restore.  At this point, fire up Multibeast.  It may crash (and bring down the Update installer window too) but don’t worry…just restart Multibeast.  Go through the Multibeast screens and when you get to the point where you can choose different options, you’ll want to install EasyBeast and the PCIRootUID fix.  This should make it so you won’t have to type anything in when you boot.  Restart.

At this point, I had proper video resolution.  I made some adjustments in the Display settings but that was it.  Great.  Now to get connected to the Interwebz.   This part was tricky.  There didn’t seem to be any kexts out there for my specific network chipset but I luckily found this great walkthrough.  The trick here though is my network didn’t come back right away.  It took a couple resets…but that’s ok.  Also since my motherboard had wifi, I wanted that to work too if I could.  Lucky for me Realtek (the wifi chipset manufacturer on my board) provided drivers.  I found them here.  Ran that installer, restarted and backed everything up.

Once network access was up and running, I was almost done.  There was just a few small things I still wanted to get fixed.  First, the OS only detected 4 of 8 GB of RAM.  Also, I was still at the mercy of iBoot…EasyBeast isn’t enough for my machine, not if i wanted to keep hardware accelerated graphics.  I wanted to be able to boot into my system without the need of a boot disc if I could.  Lastly, I was still in 32-bit mode.  Ideally I’d like to be running the 64-bit kernel if I could.

Well the first and second problems were easily solved with 1 step.  Using Multibeast, I installed the Chameleon ATI Experimental Bootloader.  Once this was installed and I restarted the system, I was able to boot into OSX without the help of iBoot and the machine detected all 8GB of RAM.  In order to get it to boot into the 64-bit kernel though, I needed to modify the boot.plist file.  Look for a file called located in the /Extra folder off the root of the hard drive.  Open this file in TextEdit, and look for an entry for “Kernel Flags”.  You probably see an string entry just below that says “arch=i386”.  Change that to “arch=x86_64” and reboot once more.  You should now be running the 64-bit kernel. Remember, after this point, do another backup.

I was now at the point where everything essential to my computing experience was good to go.  I had a desktop that spanned 3 monitors, I had sound and network access…I was solid.  I was now able to install all of my other software, run updates through the Apple Software Updater thing…all that good stuff.  As I kept saying above, any time you are going to install a new driver or a system update from Apple, always make a backup of your drive incase something screws up. You can then always just revert back to the last good state (albiet after a somewhat lengthy copy process).  But that’s better than having to reinstall everything again.  There’s still small things: I can’t put my system to sleep (not sure if it’s even possible to fix that) and I still have my main windows drive unplugged while I use OSX, but that’s fine.

I’m now rocking OSX and can happily develop for the iOS platform without having to jump through hoops using a Virtual Machine.  If you have any questions/comments, please post below. I’ll update this article as I go with new discoveries and whatnot.  But for now, I hope this guide helped.


Until next time…