Body Background

myHack Installer Guide rev.13

Last Updated: 2010/06/20

Preface:

The myHack installation package aids in the installation of a retail OS X 10.6 “Snow Leopard” operating system on PC’s. It is designed to save time by simplifying most of the installation process. However, It is NOT a replacement for the human brain and is not intended as a 1-click solution to install OS X 10.6 on PC. Such “1-click install solutions” ultimately fail (just like “OSx86 Distros”) because they do not educate the end users as to why something is done, how something is done and where something is done. They create more problems than they solve. Even if they appear to ‘work’ for a time they are not optimized for your individual system. When you run into a problem in the future, which you will, it will be difficult or impossible to correct the problem without knowing exactly what has been modified on your system (which you won’t know since you used some auto-patching fail-ware). I encounter people suffering from these problems each and every day who are guided back into the light by the myHack installer.

This guide is not intended as an all-inclusive how-to for running snow leopard on your PC. It is intended as a simplified method which focuses on how to get up and running with Snow Leopard quickly and easily utilizing the myHack Installer and will cover basic concepts including but not limited to hardware selection, kexts, permissions, etc in simplest terms. I will continue to update this guide and my ultimate goal is to provide more detailed and complete information to help you turn your working myHack foundation into a flawless hackint0sh.

This guide is by no means finished, consider this an active work in progress.

Basic Requirements:

myHack Installer 1.1
OS X 10.6 “Snow Leopard” Retail DVD (OS X 10.6.3 Retail DVD is supported as of myHack v1.1)
USB External Hard Drive or Flash Drive w/ at least 8GB of space.

A system capable of running a “vanilla” OS X kernel… Including but not limited to the following:

Recommended systems known to work very well : Budget Build | Enthusiast Build | Professional Build

You will also need access to a system that is currently running OS X 10.4 or above (Tiger, Leopard or Snow Leopard) to prepare your USB installation device.

Note: There is a “chocolate kernel” option which is capable of running OS X 10.6 (with some limitations) on legacy Intel, AMD & Intel i5 processors (Note: i5 processors are supported by the vanilla kernel after OS X 10.6.2). I added this feature to extend limited support to these non-vanilla installs but I do not suggest or support these kinds of systems! In other words it is there if you need it but please don’t ask me for help with any system other than the recommended “vanilla” hardware I have listed above! I do not have the experience necessary to adequately assist people with legacy Intel or AMD processors, ATI graphics, non-intel chipsets, etc. However, there are many other individuals in the community that are willing and capable of assisting you with any questions you may have.

Section 1 : Basic Installation Instructions

Step 1 – Prepare USB Drive

Partition and format USB device using either MBR or GUID partition scheme in disk utility. I personally recommend MBR – I prefer MBR for legacy OS compatibility on dual/tri/quad boots & because I am more familiar with the functionality of MBR partition schemes and how to work with them.

Restore OS X Install DVD to USB using disk utility.

Run myHack installer and install it to the USB drive you just prepared (Make sure you are selecting the USB drive by pressing the “Change Install Location..” when prompted).

At this point you should make any additional alterations that you may require to the USB drive (add additional kexts, dsdt, etc). Note: Ensure that you have repaired permissions and generated a fresh Extensions.mkext if you have modified any kexts manually.

Thats about it, you should now be ready to test your installer on your target system.

Important Information:

1) EXTREMELY IMPORTANT!!! IF YOU ARE RUNNING THIS INSTALLER ON A REAL APPLE COMPUTER TO PREPARE A USB INSTALLER READ THIS!!! I can not possibly stress how important it is that you ensure you are installing to the USB drive and NOT the root partition of the computer you have run the installer  on. The root partition is selected by default. If you install the Chameleon Bootloader (one of the core components of the myHack Installer) to the root partition of a REAL Apple Computer you will BREAK the system and it will fail to boot!!!*

*In the unfortunate event that you make this mistake despite this warning, instructions on how to repair your real MAC can be found [HERE].

2) The GraphicsEnabler option will enable graphics acceleration on most Nvidia 8xxx/9xxx/2xx graphics cards & a few ATI graphics cards**. If the GraphicsEnabler option fails to work for you at first try changing the PciRoot value in the com.apple.Boot.plist manually. If your system still fails to have functional graphics use the GraphicsDisabler option instead until you find a solution.

**ATI Graphics may require additional kexts to function correctly. (Note: I do not support ATI cards, I suggest you visit netkas’ site for information on ATI graphics hardware).

3) The GraphicsDisabler option is selected by default in the myHack installer when installing to a USB installation device to ensure installer functionality on as many systems as possible. I strongly advise you to not use GraphicsEnabler on USB Installers since there is no way to reliably determine if your target system will have supported graphics, what the PciRoot of the target systems graphics is, or if a future OS X software update will break the GraphicsEnabler’s functionality. The USB Installer serves two purposes, one is installation (obviously) the other is for recovery/repair of broken installations, therefore the goal should be to make it as universally compatible as possible.

IMPORTANT NOTE: If you are using GraphicsEnabler or gfx strings do not use the GrahpicsDisabler option! One or the other can be used but not both.

Step 2 – BIOS Setup

Some information will be posted here eventually…

Step 3 – Installation

Assuming everything is configured properly for your system you should be able to boot to your USB device and be greeted by the OS X installer.

Go ahead and run a normal install however you like. NOTE: If you can not select your drives or you see nothing but the USB drive, go into your bios and ensure that your SATA device is running in AHCI mode. Alternatively you can try to install the IOATAFamily.kext as it will allow many systems to access SATA (and even some PATA) devices without the need for AHCI.

After installation completes go ahead and reboot the system. Note: If you get an installation failed message after install it is safe to ignore it, this is a common but inconsistent error. It happens when the installer can not “bless” the targeted partition and it believes your system will not be bootable.

Step 4 – First Boot

When you reboot again boot to the USB (you are going to use the chameleon bootloader and kexts on your USB device that worked to load the installer, to load your freshly installed Snow Leopard system). At the boot prompt select the internal hard drive partition that you installed Snow Leopard on and boot it.

Go ahead and go through the initial configuration, I tend to advise against using migration assistant – especially if you are migrating from a hacked leopard installation, unless you are absolutely certain it was a clean retail install. There are a number of reasons for this that I may write about later.

Step 5 – Post Install

After you make it to your desktop open up finder, browse to the USB device and locate the myHack installer (as of v1.0 RC4 it will be copied automatically to the root of the usb device during the initial preparation described in “Step 1″). Run the myHack installer, this time installing to the snow leopard partition on your internal hard drive instead of the USB device. Generally speaking you should use select the same options as you did before when you prepared your USB installer since you know that it boots correctly. Make sure you copy over any additional changes you made to the USB installer (additional kexts, dsdt, etc) to your internal hard drive’s snow leopard partition. Note: Ensure that you have repaired permissions and generated a fresh Extensions.mkext if you have modified any kexts manually.

You should now be ready to reboot your system without the USB installer attached.

Unmount the USB drive and reboot the system with the internal drive.

Congratulations! If all went well you now have a functional Snow Leopard installation running on your system.

If you haven’t done so already you should now get to work on generating a patched dsdt, and further fine tuning your system so that it runs like a well oiled machine. I intend to post some information on these subjects and more in Section 2 of this guide eventually but for now I suggest you visit the #snowleopard IRC channel I referenced on the Home page for links to additional information and help from others in the community.

Section 2: Software Updates

Generally speaking with vanilla OS X installs you can use software update without much concern. The updates you should avoid to install through software update are the “10.6.x Updates” which will contain a full revision # (10.6.1, 10.6.2, etc). I will update this page with what we know about each software update as it becomes available and what benefits/potential problems will result from installing it. It is important that you do not install these updates until you have researched and ensured your system will not be negatively impacted by them.

First a few general notes that are true of all updates:

Always backup your system prior to running an update, if you don’t want to create a complete system backup at the very minimum backup all the files in /System/Library/Extensions and /Extra to your USB Installer and ensure that the USB Installer is functioning correctly (it boots and you can use the terminal on it). This is critical in case something goes wrong it will enable you to fix the problem right from your bootable USB without having to completely format and reinstall your OS.

I’ve seen some confusion come up with this issue so I am going to state it here: I recommend waiting at least 10 minutes before rebooting after applying any  combo updates, this gives kextd time to finish it’s caching process. If you do not, it may take 10-15 minutes to boot, this is “normal”. If your stuck on the boot screen after an update, take a walk, be patient, it may take a while for your login prompt to work – and hitting the reset button will only cause you to have to let this process run all over again until you finally wait the 10-15 minutes for kextd to do it’s thing. Again this is due to issues that only a *few* people will see with kextd.

After you have successfully booted  and logged into a freshly updated system, wait a few minutes for the system to finish background processes and become idle, then run pfix from the terminal. Running pfix will ensure that everything is tuned properly and that kextd is happy. This may not be necessary, but if you have noticed after a few boots that it is still taking “longer than normal” to boot and get to the login screen that is a sign that something isn’t right in your kextd/kextcache/system cache. Running pfix should correct it.

If you get a kernel panic during reboot, or after running pfix, the first thing you should try is booting to your USB Installer, opening the terminal and running pfix, sometimes kextd doesn’t properly rebuild your system caches after an update. If you still receive a kernel panic on reboot, boot in -v (verbose) mode and see if you can narrow it down to a suspect kext. If you can figure out the kext that is causing the problem you can move it out of /S/L/E or /E/E and then run pfix from the USB Installer – this will prevent it from loading. If that still doesn’t work you may need to replace the kext with a newer or older version of it from a fresh download or a backup you have.

If you follow these few general notes you should seldom have a problem, and even if you do, you should be able to fix it quickly and easily.

OS X 10.6.1 Update

This is  a safe update for everyone. No new kernel. No known issues for OSx86 users.

It contains a few minor bugfixes and improvements.

Click here for full information and link to download the 10.6.1 update.

OS X 10.6.2 Update

This update brings with it a new kernel. The good news is the new kernel adds vanilla support for i5+p55 systems so if you are running the chocolate kernel on an i5+p55 system you should be able to switch over to the vanilla kernel after installing this update. The bad news is this new kernel removes support for intel atom processors so if you are running the vanilla kernel on an intel atom system you will have to back up the kernel from 10.6.0 and continue using that, or switch over to using the chocolate kernel (or another patched kernel).

Aside from what I’ve just mentioned this update contains a large number of bugfixes and improvements that will benefit most users.

Note: The only other potential problem worth mentioning is if you are using an older version of myHack installer (RC4.1 or earlier) you must update to the latest available myHack installer prior to running this update. The Sleepenabler.kext used in older versions of the myHack installer will cause a kernel panic on 10.6.2. The SleepEnabler.kext included with myHack installer v1.0 RC5 and later works flawlessly with all versions of OS X released so far.

Click here for full information and link to download the 10.6.2 combo update.

OS X 10.6.3 Update

This update brings with it a new kernel. The good news is the SleepEnabler.kext released in myHack 1.0 FINAL is still working as hopped. Only a few minor things to consider.

  • - If you are running a patched kernel for atom support or legacy intel, you will have to continue using it – if it is chocolate_kernel installed with myHack you won’t have to do anything, but if you have overwritten mach_kernel with one of your own you will need to back it up and restore it before rebooting.
  • - If you are running vanilla AppleHDA.kext using dsdt fixes or otherwise you will need to add this version bumped AppleHDA_10.6.2.kext I created to /S/L/E (NOT /E/E) and run pfix in order to continue using Audio – the 10.6.3 kext breaks AppleHDA for most of us.
  • -There have been significant improvements to most graphics extensions, however I have seen reports of a few graphics cards which have lost some support or have diminished performance – if this happens to you rolling back graphics extensions will provide a solution until a better one becomes available.
  • -Apple has apparently removed all 64-bit support for Intel Graphics. If you are running the 64bit kernel and use Intel Graphics you can either revert to running the i386 kernel or replace the Intel Graphics kexts with their 10.6.2 counterparts.
  • -As with any update, make a full backup of the extensions in /S/L/E before running the combo update – just in case.
  • -Netkas mentioned on his site that radeon 4830/4850′ s framebuffer has an inability to work without dvi2vga dongle in second port, to fix it – use 10.6.2 framebuffer by replacing the following kexts with their 10.6.2 counterparts:

ATI4800Controller.kext
ATISupport.kext
ATIFramebuffer.kext

Aside from what I’ve just mentioned this update contains a large number of bugfixes and improvements that will benefit most users. I’ve been running it since the moment it came out without any problems.

Click here for full information and link to download the 10.6.3 combo update.

OS X 10.6.4 Update

This update brings with it a new kernel again. Nothing too special to mention. Same general considerations as are mentioned above, I don’t feel it necessary to repeat what I’ve said previously so please ensure you review my comments for 10.6.1-10.6.3 updates.

Few key notes in regard to myHack:

  • -Ensure that you have updated to myHack v1.1 before running the OS X 10.6.4 combo update.
  • -If you aren’t running myHack or don’t wish to update the entire package, ensure that you replace SleepEnabler.kext with the new version (if you are using SleepEnabler.kext).
  • -If you are running ATI graphics, the same instructions that I posted for 10.6.3 apply.
  • -Same issues for AppleHDA.kext as from 10.6.3, if you have already applied the 10.6.2 version bumped kext I mentioned above you won’t have to do much except run pfix from the USB Installer, since kextd will choke and cause a kernel panic if you don’t. (This happened to me). Just boot to USB Installer after the update, run pfix from the terminal, boot back into OS X, run pfix again to polish it off and everything works smoothly.

That is pretty much it, not a thrilling update for most of us but there are some improvements that may be important to some users. I’ve been running it with no problems to report other than the one I mentioned above which took only a few minutes to fix.

Click here for full information and link to download the 10.6.4 combo update.

Section 3: Advanced Installation Instructions

This section will eventually focus on dsdt generation & patching, additional kexts, general troubleshooting, etc…

For now look elsewhere.

Section 4: Credits

I’d like to personally thank the following people for making this all possible and for all the help they have personally given to myself and others:

(in alphabetical order)

apocolipse, aschar, aserebln, chrome, fassl, Galaxy, Kabyl, Krazubu, lastExile, modbin, Mushishi, nawcom, netkas, p|astikman, prasys, XyZ

Additionally thanks go out to the Voodoo Team, everyone who has worked on the Chameleon bootloader, and everyone else who has contributed to the osx86 scene!

Section 5: Changelog

2010/06/20 – Revision 13 – Changed myHack Installer link to 1.1. Added 10.6.3 Retail DVD to list of basic requirements. Added information on OS X 10.6.4 update to the software updates section. Removed i5 from list of non-vanilla/unsupported hardware. Added “a few general notes that are true of all updates” to Software Updates section.

2010/04/14 – Revision 12 – Changed myHack Installer link to 1.0.1.

2010/04/07 – Revision 11 – Made a minor revision to the OS X 10.6.3 update information.

2010/03/30 – Revision 10 – Added information on the OS X 10.6.3 update to the software updates section.

2010/03/04 – Revision 9 – Changed myHack Installer link to 1.0 FINAL. Minor revisions to improve clarity of instructions and avoid common mistakes. Revised preface to include an explanation of why auto-patching scripts and many of the installers and utilities found elsewhere (I won’t point any fingers) are problematic and should not be used.

2010/02/06 – Revision 8 – Changed myHack Installer link to 1.0 RC5.2. Revised “Important Information” section. Revised GraphicsEnabler & GraphicsDisabler instructions. Minor revisions throughout to improve clarity.

2010/02/06 – Revision 7 – Changed myHack Installer link to 1.0 RC5.1. Added “Software Updates” Section. Added information on the OS X 10.6.1 & 10.6.2 updates to the software updates section.

2010/01/26 – Revision 6 – Major revision. Simplified preface. Updated basic requirements and linked to specific items and example system builds known to be well supported. Updated basic installation instructions for myHack RC5.

2009/10/29 – Revision 5 – Changed note in important information regarding graphics enabler from -pci0 to -pci1. PC EFI 10.5 defaults to -pci0 instead of -pci1 (PC EFI 10.3/10.4/10.4.1 defaulted to -pci1)

2009/10/28 – Revision 4 – Minor update. Changed myHack Installer link to 1.0 RC4.1. Slightly altered “known issues” section and renamed to “Important information” for more clarity.

2009/10/17 -  Revision 3 – Guide updated to include relevant myHack Installer 1.0 RC4 information. Edited basic requirements, added graphics card recommendations and some information about non-vanilla installs. Expanded and improved Basic Installation Instructions.

2009/09/28 – Revision 2 – Guide updated to include relevant myHack Installer 1.0 RC3 information. Corrected some typos. Restructured and expanded Basic Installation Instructions. Some place holders added for planned additions.

2009/09/22 – Revision 1 – Initial Post