myHack Guide

Last Updated: 2012/05/10

Preface:

This guide is not intended as an all-inclusive how-to for running OS X on your PC. It focuses on how to get up and running with OS X quickly and easily utilizing the myHack application.

For questions not covered in this document, please join us in the Forum or on IRC.

Basic Requirements:

myHack 3.1
Download myHack 3.1
Downloaded 2987 times.
Size: 3.16 MB
  • For Mountain Lion you will need the Install OS X Mountain Lion.app from the app store or the InstallESD.dmg from it.
  • For Lion you will need the Install OS X Lion.app from the app store or the InstallESD.dmg from it.
  • For Snow Leopard you will need a Snow Leopard Retail DVD or a DMG of it.
  • An External Hard Drive or Flash Drive w/ at least 8GB of space.

You will also need access to an x86 system (PPC is not supported) that is currently running OS X 10.6 or newer to prepare your installation device (this can be a real mac, a hackintosh, or an OS X virtual machine).

Note: An internal drive can be used as well but keep in mind any drive you use will have the chameleon bootloader installed on it – it is best to use a drive which is physically independent of your actual OS X installation. In the event that something goes horribly wrong with your actual OS X installation the myHack OS X install disk you have prepared will prove to be an invaluable tool with which you can repair your OS X installation and get it working again.

Hardware Requirements:

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

  • Processor: Intel Core 2 Duo, Core 2 Quad, Core i3, Core i5, Core i7 *[1]
  • Motherboard: Intel chipset with AHCI enabled
  • At least 2GB of memory (4GB or more recommended).
  • Most Nvidia 8xxx 9xxx 2xx 3xx 4xx 5xx graphics cards*[2].
  • Most ATI HD 5xxx/6xxx series graphics cards*[3].
  • USB Keyboard and Mouse. (Apple keyboard recommended)*[4]
  • At least 40GB of internal hard disk space attached to Intel SATA controller running in AHCI mode.

*[1] LGA 1155 chipsets (P55 for example) and Core i5 processors are only supported by the vanilla kernel on OS X 10.6.2+. Core i3 processors are only supported by the vanilla kernel on OS X 10.6.5+. “Sandy Bridge” intel processors are only supported by the vanilla kernel on OS X 10.6.8+ and work better in Lion and Mountain Lion. LGA2011 chipsets with “Sandy Bridge-E” processors are only supported by the vanilla kernel on OS X 10.7.3+. “Ivy Bridge” intel processors are not yet supported by any vanilla OS X kernel.

*[2] Some people with Nvidia cards still have issues using Graphics Enabler, particularly users on “GTS” models of these cards. The 5xx series has only begun to really work properly with GraphicsEnabler in OS X 10.8 Mountain Lion. The further back you go in OS X versions, the fewer of the cards I listed will work.

*[3] Most reference design HD 5xxx and 6xxxx ATI graphics cards will work oob on Lion and Snow Leopard but on Snow Leopard you will need to install the ATI kexts from the 10.6.7 MBP update. The 69xx series ATI graphics cards appear to be working on ML, but they did not work on Snow Leopard or Lion, although a future update may add support.

If your graphics does NOT work out of the box or with chameleon’s GraphicsEnabler one of the best resources for more information on graphics card support for OS X is netkas’ blog. Also feel free to ask on the Forum or IRC.

*[4] Most PC notebooks have their keyboard and touchpad wired internally to ps2. Even brand new 2012 sandy bridge based notebooks still use ps2… It really is amazing that this decades old technology is still hanging on. You can usually get ps2 HID’s working by using AppleACPIPS2Nub.kext+ApplePS2Controller.kext (these are now included in the Generic Extra supplied with myHack 3+). Some other users are not so lucky and will need to resort to other solutions.

Section 1: Installation

Step 1 – Create OS X 10.6, 10.7 or 10.8 Installer

Make sure that the internal/external stick/drive that you will be creating the OS X installer on is mounted and it has an empty HFS+ formatted partition of at least 8GB in size on it. You can partition and format it using Disk Utility, under Applications/Utilities. The partition scheme may be either “GUID Partition Table” (GPT) or “Master Boot Record” (MBR).

If you are creating a Snow Leopard installer make sure that you have inserted the retail DVD or mounted the dmg image of it prior to proceeding.

If you are creating a Lion or Mountain Lion installer make sure that you have downloaded the Install OS X (Mountain) Lion.app from the app store and have it, or the InstallESD.dmg from it, somewhere on your filesystem.

If you haven’t already done so, download the myHack dmg (the link is above in the basic requirements section). Mount it and drag the myHack app to Applications to install it or double click to run from the dmg itself.

Run the myHack.app, myHack will ask you to enter your administrative password, enter your password and proceed to the next step, the password will only be stored in your system memory it is not recorded, stored, or transmitted anywhere.

Note: if the user account you are running myHack on does not have authorization to use “sudo” you will need to logout and run again from an authorized administrative account with access to the “sudo” command.

Select your install type –  Create OS X Installer > Create OS X 10.8 Install Disk, Create OS X 10.7 Install Disk, or Create OS X 10.6 Install Disk for Mountain Lion, Lion, or Snow Leopard respectively.

Select the target volume – this should be the internal/external stick/drive that you will be creating the OS X installer on.

myHack will now attempt to locate the installation source. If this is for a Snow Leopard installer it will look under /Volumes/ for a Snow Leopard install DVD or mounted dmg – if this is for a Mountain Lion or a Lion Installer it will prompt you if you want to have myHack attempt to locate it for you or browse manually (I suggest using browse only if search does not locate it) – if you choose to browse it will accept the location of Install OS X (Mountain) Lion.app or InstallESD.dmg.

myHack will then prompt you to warn you that all data on the target you selected will be erased. Once you press ok it will ERASE all data on the target volume you selected and copy the OS X installation files to it.

Note: If the file copy progress appears to be stalled, don’t worry, the progress bar can only calculate based on files completely transferred – large files may take a while to completely transfer to the destination prior to the progress being reported. Also if it appears to be transferring slowly, remember that the speed of transfers will be limited only by the speed of the device – some USB sticks and SD cards are very slow.

After all files have been transferred it will automatically install Chameleon, myHack utilities, a Generic Extra, and make all necessary modifications to the installer.

That is it, assuming you followed the steps correctly (the app is rather foolproof, assuming you have read and followed these simple instructions) you may now reboot, select the device that contains the myHack OS X Install Disk at your bios boot prompt, and boot to your installer!

Wasn’t that easy?

Step 2 – BIOS Setup

This is just a quick/general checklist, if you can not find these values in your bios ignore them for the time being unless you run into a problem:

  • Ensure you have your SATA controllers in AHCI mode.
  • Ensure you have enabled your CPU’s C states.
  • Ensure you have HPET set to 64bit.
  • Disable any devices you do not intend to use (extra SATA, Firewire, etc).
  • If you have a UEFI system, ensure that you boot in legacy (bios boot) mode.

Step 3 – OS X 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.

This part is just like any typical OS X Installation, click on the language you want to use, go to the utilities menu, open disk utility, partition and/or erase the device you want to install OS X on, exit disk utility and then proceed with the OS X installation.

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 an IOATAFamily.kext as it will allow many systems to access SATA (and even some PATA) devices without the need for AHCI but it is not recommended.

In the last two minutes or so of the OS X installation a series of growl-like notifications and dialogs will prompt you. This is myHack running it’s post installation functions.

myHack will prompt you if you would like to install the generic Extra & Extensions bundled with myHack or if you would like to supply your own. Using your own is particularly useful if you already have a finely tuned OS X installation – you can simply provide the Extra of your choosing and it will migrate it properly for you. The generic bundle will boot most vanilla systems perfectly, but does NOT contain any extensions for audio/ethernet/acpi/ata/etc or dangerous DSDT “auto patchers”.

After installation completes you should be ready to reboot your system without using the myHack OS X Install Disk.

Reboot the system with the internal drive that you just installed OS X on.

Congratulations, If all went well you now have a functional OS X operating system running on your system!

Step 4 – First Boot

Go ahead and go through the initial OS X configuration, I tend to advise against using migration assistant, unless you are absolutely certain it was a completely clean installation. There are a number of reasons for this that I may write about later.

Step 5 – Post Install

This is the section where I used to have instructions on running tools within myHack for post installation, but now that it’s done during OS X installation about the only thing to say here is this is where you begin your journey (if you did not already have a perfectly tuned extra for your system) and find the extensions you need to get the rest of your system working perfectly.

For help in this portion of your journey, I suggest you join us in the Forum or on IRC.

Important Note for OS X  10.7+ and OS X 10.8 Installs: If you do not have an smbios.plist in /Extra/ made for your system, based on the mac model which your system most closely resembles, several things will not function correctly (App store/facetime/icloud for example) and the system may not boot at all (You may receive a kernel panic related to ApplePolicyControl if you have not removed it). The solution is to create an smbios.plist for your system and place it in /Extra/ – if you need help figuring out how to create one feel free to ask in the Forum or on IRC.

Section 2: Basic Troubleshooting

What I am placing here is primarily for common issues faced when booting OS X Installers or first boot of an installed OS X system using the Generic Extra bundled with myHack. It does not cover the many issued that can be faced during post installation when using additional Extras. For help with problems not covered here I suggest you join us in the Forum or on IRC.

When I say “Boot with ____” it means to type in those flags at the chameleon boot prompt and press enter. You will see the chameleon boot menu and prompt by pressing any key at the first chameleon screen you see.

  • Symptom: The system fails to boot but I don’t know why
  • Resolution: Boot with -v and watch carefully to determine at which point the system is failing
  • Note: When trying any of the suggestions below it is best to add the -v flag each time until the system is booting correctly, this is the most used of all boot flags.
  • Symptom: The display goes blank or system reboots instantly after booting OS X or Installer
  • Resolution 1: Boot with PciRoot=1
  • Resolution 2: Boot with GraphicsEnabler=No (Only use if resolution 1 fails, will not work on ML DP2+)
  • Note: ML DP2+ will not boot without graphics support as there is no longer VESA support. You will have to either replace your graphics card or find a method to get it working if it is not supported by GraphicsEnabler
  • Symptom: System hangs at “PCI Configuration Began”
  • Resolution: Boot with npci=0×2000 or npci=0×3000
  • Note: If neither of the above boot flags help you with this problem you will need to install a patched IOPCIFamily.kext, simply place in /Extra/Extensions/ and run myFix. You can obtain the latest patched IOPCIFamily.kext from netkas HERE.
  • Symptom: System fails to boot or runs extremely slowly with mouse jumping around
  • Resolution: Boot with cpus=1
  • Symptom: Booting from USB drive the boot process stops at ”EHCI unable to take control from BIOS”, “Still waiting for root device”, or anything else EHCI/UHCI related
  • Resolution: Boot with USBBusFix=Yes
  • Symptom: Booting internal drive the boot process stops at “Still waiting for root device”
  • Resolution: Ensure SATA devices are configured to run in AHCI mode in your system bios
  • Symptom: None of your internal drives are listed in the OS X installation app
  • Resolution: Ensure SATA devices are configured to run in AHCI mode in your system bios

Section 3: 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.X.x Updates” which will contain a full revision # (10.6.1, 10.6.2, etc). I will make a post in the FAQ section of the forum 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.

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 or other convenient location and ensure that the USB Installer is functioning correctly (it boots and you can use the terminal on it) prior to running the update. This is critical in case something goes wrong, a bootable installer will enable you to fix the problem from the installer’s terminal app (available under the utilities menu) without having to completely format and reinstall your OS or use a separate machine/operating system to attempt to repair it.

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 myFix. Running myFix will ensure that everything is tuned properly and that the system caches are 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/kernelcache/system cache. Running myFix should correct it.

If you get a kernel panic during reboot, the first thing you should try is booting to your USB Installer, opening the terminal and running myFix, 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, the SleepEnabler.kext in /E/E has been a notorious source of these issues after a kernel update. 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 myFix from the USB Installer – this will prevent it from loading. If that still doesn’t work you may need to replace the suspected 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.

Section 4: Credits

myHack was made possible by:

The chameleon bootloader.

FakeSMC

The hexadecimal strings used to patch the OSInstall.framework for MBR installation were developed and contributed to me by nawcom. The bin patching functions used in myHack themselves were based on code snippets provided by meklort.

The method used for running myHack during OS X post installation was based on work originally developed and suggested to me by meklort.

The method used for merging /Extra/Extensions into /System/Library/Extensions was based on work originally developed and suggested to me by Bronx Teck.

Graphical front end development was aided by the use of PlatypusCocoaDialog, and jQuery.

I would also like to personally thank the following people for helping to make this possible and for all the help they have given to myself and others over the years:

(in alphabetical order)

apocolipse, aschar, blackosx, Bronx Teck, cosmo1t, fassl, Galaxy, JaS, Kabyl, Krazubu, lastExile, meklort, modbin, monsti, Mushishi, nawcom, netkas, p|astikman, PolishOX, prasys, schnitzel, Signal64, XyZ

Additionally thanks go out to everyone who has worked on the Chameleon bootloader, without which none of this would be possible, and everyone else who has contributed to the hackintosh scene! [except those fakers who steal other peoples work, you know who you are]

Section 5: Contents

myHack 3.1 contains:

  • The myHack binary
  • myFix 2.1
  • myHack.kext
  • Chameleon myHack git fork
  • The OS X port of lspci

A “Generic Extra” that should boot most vanilla systems which includes a preconfigured generic org.chameleon.Boot.plist and the following extensions:

  • FakeSMC.kext (version 4.2)
  • NullCPUPowerManagement.kext
  • Patched_10.7_AppleRTC.kext
  • ApplePS2Controller.kext
  • AppleACPIPS2Nub.kext

Some utilities to extend the functionality of OS X Installers:

  • bzip2
  • gzip
  • nano
  • rsync
  • tar
  • tr

Section 6: Guide Changelog

2012/05/10 – Revision 31 – Minor revisions in hardware requirements section.

2012/05/09 – Revision 30 – Updated a few things in installation section for additional clarity.

2012/05/07 – Revision 29 – Updated a few things in installation section to bring it up to date  with myHack 3.1.

2012/05/07 – Revision 28 – Add basic troubleshooting section, more will be added to this section later and supplemented/expanded via a proper FAQ.

2012/05/05 – Revision 27 – Update contents section and link to myHack app to latest version – 3.1.

2012/04/26 – Revision 26 – Major changes throughout, completely revised installation and post installation sections for myHack 3.0, updated credits section, added new section ‘contents’ to maintain myHack app contents since I am removing the downloads page for now, updated link to myHack app to latest version – 3.0.

2012/04/18 – Revision 25 – Minor formatting changes, removed paragraph that is outdated from updates section, preparing for myHack 3.0 major revisions.

2012/03/18 – Revision 24 – Added information on OS X 10.8 DP2 installation, updated credits section.

2012/02/24 – Revision 23 – Added information on OS X 10.8 DP1 installation, updated hardware requirements, updated and expanded on all sections, updated link to myHack app to latest version – 2.2.

2012/02/20 – Revision 22 – Updated link to myHack app to latest version – 2.1.

2011/08/22 – Revision 21 – Edited a few details in the preface and section 1 step 1.

2011/08/11 – Revision 20 – Updated link to myHack app to latest version – 2.0 RC4 removed note about patched kernels, something special is on the way…

2011/08/06 – Revision 19 – Revised and updated credits section. Updated link to myHack app to latest version – 2.0 RC3.

2011/08/06 – Revision 18 – Revised post-installation and software updates sections, moving individual software update notices to forum. Updated link to myHack app to latest version – 2.0 RC2.

2011/07/25 – Revision 17 – Moved what myHack is/is not to home page.

2011/07/24 – Revision 16 – Rewrote guide for myHack version 2.0 RC1. Revised preface and added the what myHack is/is not sections. Made minor alterations to recommended hardware section. Added some more names to the credits section<3

2011/07/08 – Revision 15 – Removed all links to products on Amazon.com. Updated hardware requirements. Added note that the current installation instructions will be deprecated and revised soon, with the release of myHack 2.0. Preparing to add new information for installation of OS X 10.7 “Lion”. Added some new names to the credits section, I am sure I’ve still forgotten to mention some people – give me a poke on IRC if you deserve some cred and I screwed up and failed to mention you.

2010/11/12 – Revision 14 – Added information on the OS X 10.6.5 update to the software updates section.

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


Recent Posts

OS X 10.7.4 Software Update

So I waited a few days to gather some information from users on what has gone wrong with this one before posting if it is safe or if caution is advised. The verdict – caution is advised.

This is the first update that I myself have encountered a problem with so I will attempt to cover what I know as well as what others have found, and how to fix what we’ve seen break.

First problem report I heard was – a kernel panic when running the combo update.

This was related to ApplePolicyControl.kext – when the update loaded it, the system panicked and left things in a non functional state. The users resolution was to re run the combo update from a separate OS X installation, remove the problematic kext when it was done and to then run myFix. This extension is removed by the myHack “Remove Problematic Extensions” feature but that won’t help if it is loaded on a running system by a combo update.

This can be avoided however – if you have an smbios.plist that identifies your system as something that ApplePolicyControl.kext will not panic on – no panic will happen, this was the case with my own system. So you have two options:

  1. Create an smbios.plist for your system that ApplePolicyControl.kext will not panic on
  2. Run combo update from another OS X installation, targeting the 10.7.x OS X installation you want to update, when finished, run “Remove Problematic Extensions” function from myHack.

Ok, next problem – This happened on my system. When the update was completed, I rebooted. The system panicked on IOPCIFamily.kext. So I rebooted again with -f -v, no panic this time, but the system hung when trying to load AppleHDA, and claimed that kextd was not running. So first I attempted to boot into my ‘fail-safe partition’ which is basically an extra myHack OS X Install Disk for 10.7 that I have on my internal boot partition so I don’t have to dig out my USB stick every time something goes wrong. It hung at the same point….

While I am not entirely sure why the separate partition with a 10.7.0 OS X installer on it was effected by the update the reason for it happening isn’t really important – the solution is simple – I plugged in my USB myHack OS X Install Disk, ran myFix – a full one, not a quick one – and rebooted – everything works fine now. So to sum it up:

  1. Ensure your myHack OS X Install Disk is not attached or mounted on the system
  2. Run the 10.7.4 update and reboot when it is finished
  3. Boot to your myHack OS X Install Disk
  4. Run myFix, select full not quick, run, and reboot when it is finished
  5. Boot your OS X 10.7.4 installation

The last problem I have seen was reported by a user on the forum. His Nvidia GTX295 stopped working after the update. This is a problem I have seen in past updates and why in the myHack guide I always advise users to backup at minimum their /S/L/E directory prior to running any OS X updates. You may read the thread he opened on the forum HERE

The solution for this problem is as follows, and the following method can be adapted to virtually any hardware device that no longer functions after an OS X update due to Apple’s modifications of the System Extensions:

  1. Prior to running an OS X update, always backup /System/Library/Extensions
  2. In his case his NVidia graphics no longer work due to updates of the Nvidia graphics so he could either determine exactly which kext is the problem and replace only that one with the one from his 10.7.3 backup, or he could replace all of the nvidia graphics extensions including the frame-buffers
  3. Determine which extensions you want to override in /System/Library/Extensions in his case he took all of the Nvidia extensions and frame-buffers
  4. Place the extensions from 10.7.3 backup in /Extra/Extensions
  5. Run myFix, reboot
  6. Boot to OS X 10.7.4

A full list of the NVidia extensions and frame-buffers is in the thread I linked to, the clean way to do it would be to just grab the ones for your card specifically – I will be explaining to him how to figure out which ones he needs in the forum thread.

So there you have it, that is how to avoid the 3 most common problems I have seen thus far with this update. If you encounter a new one please let me know via the forum – I will update this post if needed.

Additionally, keep in mind 10.7.4 is pulling code in from 10.8 so there might be a number of issues for users who are still relying on older graphics or i386 libraries…

  1. myHack 3.1 11 Replies
  2. myFix 2.1 3 Replies
  3. myHack 3.0 15 Replies
  4. myFix 2.0 Leave a reply