The latest XPC EFI boot loader version 0.83.02 allows you to install Mac OS X 10.7 Lion dev preview 2 without having to change or copy a single file on the OS X install volume. Apart from configuring XPC it all works out of the box which simplifies installing OS X Lion a whole lot. XPC now fully supports the new disk-image based installation process that was first introduced in Lion dev preview 1 and is able to boot from mounted .dmg volume images. I just gave it a try and it worked flawlessly on my Hackintosh rig!
However, there are still quite a few traps an aspiring Hackintosh user may fall into, so I came up with a few tips & suggestions that can prove useful to your endeavor. Obviously, it’s a lot less time consuming to just buy a real Mac but hey, where’s the fun, right? :-)
- Always use the latest XPC version which can be downloaded here. Please be aware that XPC doesn’t come with an installer. You either need DuetToHDD on the Mac or a Windows-based boot partition installer. Check out this link (you don’t need iBOOT though).
- XPC needs to be installed on a FAT32 partition with a Master Boot Record (MBR) on the drive. AFAIK it’s not yet possible to install it to a hidden EFI partition using a GUID Partition Table (GPT). This means you can’t have XPC and Mac OS X Lion on the same volume, because the disk can either have a GPT or a MBR. Rumor has it that XPC will support GPT at some point in the future.
- If you’re using DuetToHDD (which despite its name also supports USB volumes using the usb parameter) to create a bootable drive on the Mac make sure the target volume is formatted to FAT32. The easiest way to do this is to use a (USB thumb) drive with a target partition larger than 1 GB. Mac OS X will default to FAT16 on smaller volumes which won’t work for XPC. Make sure you don’t accidentally overwrite a wrong drive’s partition table when using DuetToHDD. There’s also a Windows-based tool which may be easier to use than DuetToHDD on the Mac.
- If you need kexts to boot your OSX86 rig, you can copy them to the extra_kext/common folder. You most likely need at least fakesmc.kext in there.
- Once your rig is up and running, you can fine tune it by installing the kexts to /System/Library/Extensions and remove them from extra_kext/common.
- You may have to remove the CPU c-states-defaults in XPC’s settings.plist in order to gain CPU performance. With the default c-state settings the performance on my rig is reduced to 50% according to Geekbench.
- While some mainboards don’t require a DSDT descriptor file, most mainboards will perform better with a properly crafted DSDT. If you already have one for your board just copy it to the /EFI/XPC folder and name it DSDT.aml. You could also create your own DSDT for your board, a good starting point is the DSDT-Patcher but be prepared for a steep learning curve. My rig doesn’t even boot OS X without DSDT. Search the appropriate OSX86 scene forums for a DSDT for your mainboard.
- Use the -v parameter to boot OS X to see the Mach kernel’s verbose output
- If you’re told that “No GUID is available. Contact support for assistance” while logging into the App Store, most likely your device properties in XPC’s settings.plist are not correct. Use a tool like EFI Studio to create your own device properties for your Ethernet device. In my case it was sufficient to specify the built-in Ethernet NIC. After a reboot I was able to log into the App Store. By the way, I wouldn’t contact support for assistance but that is entirely up to you :-)
- Set your BIOS to use AHCI instead of IDE and make sure you use the first SATA-port for your OS X installation drive. It might work on other SATA-ports, but the first one has prove to cause the least trouble. You can always move your drive to a different SATA-port once the installation is finished.
- If you’re unable to connect to your Linux NAS, this could be the reason.
- If your mainboard sports an Realtek RTL8169 family based Ethernet NIC, it probably won’t work in dev preview 2 because Apple omitted the driver in IONetworkingFamily.kext. However, support for RTL8169 was part of dev preview 1 so all you have to do is to install the kext from dev preview 1.