Building a Hackintosh from A to Z

I’ve been slacking on this blog. I guess you can say my computing life has been in a state of turmoil recently. A mid-life crisis per se. After much soul searching, I decided to write my first check to the embodiment of all that is evil, the reincarnation of Skeletor, Steve Jobs. For a long standing zealot of the Microsoft Windows camp, this is perhaps the highest form of treason.

skeletor jobs

Anyhow, this post isn’t really to talk about why I switched; my Windows machine didn’t go anywhere. It is just sitting in a VM in my Mac now. All said and done, I am now a somewhat proud owner of a MacBook, iPhone, and… a Hackintosh?

Building the Hackintosh has been one of the most frustrating experience of my life. This was mostly due to the combination of my utter lack of knowledge of the subject matter and the abysmal quality of the guides that are available. Speaking of the OSx86 guides. They are perhaps the most poorly written, ill-explained walkthroughs ever written. They are only somewhat useful if you have read every last one, and have been failing at your OS X installation for 4 weeks. Those 4 weeks consist mostly of copying and deleting .kexts and twiddling various settings randomly. Consider it the bar to entry.

So, I made a commitment, that if I ever managed to get OS X working properly on my desktop, I would write a guide that did not suck. So here I am today.

As a precursor, the files on this guide apply specifically to my computer setup. Although the general information about the topic should help others understand what is going on, so they just aren’t poking blindly in the dark when trying to get OS X working.


Installing OS X: Two Methods

You can install OS X on Pentium 4, AMD, Core2 and i7 processors, with generally no problems (though I would recommend Intel chips for better support). However, there tend to be some issues with chipsets. For the most part, Intel based motherboards seem to work fine. However, non-standard motherboards, in my case the NVidia nForce 790i SLI, may have issues. (There are currently no working SATA drivers for this board.)

Hardware compatibility is obviously the major hurdle for OS X installations. Macs roll off the assembly line, with mostly the same set of hardware from machine to machine. As such, there’s a very limited set of drivers available for the platform. To work around this, hackers have spent significant time porting and implementing drivers to OS X. The annoying part is finding that special combination of .kexts that work for you and your machine.

Putting the driver issue to the side for now; there are two methods to install OS X:

  • Hacked Installation Disc – There are currently four popular hacked/custom OS X discs: Kalyway, iDeneb, iAtkos, and iPC. These discs come prepackaged a custom installer, sometimes a custom kernel (voodoo), and a variety of drivers. These installation disc torrents can be found on everyone’s favorite torrent site. Because the discs come with basically everything you need on them, and the hard work done, you can more or less just pop it in and get a running system fairly easily. The downside to this method is that since various system files and drivers are modified, Apple Software Update can easily break this installation, turning your computer into a paperweight until the files are restored. This makes it a very brittle installation.
  • Boot-132 – This is a fairly new installation method, and as such, the tools and guide regarding this are not very well developed or explained. But, this method is not as brittle as the aforementioned. Updates from Apple are very unlikely to break your installation.

Boot-132 Explained

Boot-132 works by storing the modified kernel and kernel extensions (aka .kext files aka drivers) on a boot disk. This boot disk starts up and then loads OS X under its modified system environment that is compatible with non Mac hardware. Since the modified environment is contained in the boot loader, this allows users to install OS X from directly from the retail CD [0] and without any modification to the installation itself! This boot disc is commonly a CD or a USB drive. [1]

Recently, a technique has been developed that allows users to store the Boot-132 boot loader and system files in a special partition of a GPT format disk.

Partition Tables (and GPT) Explained

When you partition a hard disk, the disk uses a partition table to contain the disk layout/volume information. The primary partition format found on Windows is Master Boot Record. However, Master Boot record is getting a bit long in the tooth, and the new standard is GUID Partition Table (GPT). This is interesting because GPT partitioned disks must have a 200MB EFI System Partition. This partition contains the disk’s boot loader, and is generally hidden from the user, and currently unused and untouched by most operating systems; as is the case on Mac OS X. This means that system updates will not meddle with and patch your critical system files.

Thus, the EFI partition is the perfect place to store the Boot-132 modified system files.


Stay tuned… Building a Hackintosh from L to Z coming soon.

[0] The Boot-132 install must be from a Retail CD. The OEM CDs that ship with MacPro or MacBook are stripped down versions of the OS tailored specifically to that hardware. They will most likely not work if trying to install off of them.

[1] There is a product called EFI-X that claims to magically turn your computer into a Mac by plugging their “BPU” or “Boot Processing Unit” (wow, what a joke) into your USB drive. This, in reality, is simply a USB drive with a Boot-132 loader. Boot-132 is free. A small USB drive goes for around $10. The company sells their BPU to uninformed masses for $340. And it generally doesn’t even work. Thanks to Karma, EFI-X got into some legal hot water and had to shut down their US office.

Continue on to Part 2 of Building a Hackintosh from A to Z.


amgupt01 said...

Yeah, I lucked out. My laptop uses like half of the same components as Macbooks do.

Same graphics card, same wireless and a bunch of compatible stuff like the trackpad and the motherboard.

The only things that don't work on my laptop are the audio jacks (Mic, headphones but the speakers work with the AzaliaAudio kext), SD Card reader, and S-Video jack.

Also, I installed the VoodooPS2Controller so I have mutlitouch scrolling on my laptop, too!