myHack Guide

Last Updated: 2013/10/24

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.3.1
Download myHack 3.3.1
Downloaded 512530 times.
Size: 3.4 MB
  • For Mavericks you will need the Install OS X Mavericks.app or the InstallESD.dmg from it.
  • 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 strongly recommended).
  • Most Nvidia 8xxx 9xxx 2xx 3xx 4xx 5xx 6xx 7xx graphics cards*[2].
  • Most ATI HD 5xxx/6xxx/7xxx series graphics cards*[3].
  • Intel HD3000/HD4000 Integrated Graphics*[4]
  • USB Keyboard and Mouse. (Apple keyboard recommended)*[5]
  • 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” processors are supported by the vanilla kernel on OS X 10.8.0+.

*[2] Some people with Nvidia cards still have issues using Graphics Enabler, particularly users on “GTS” models of these cards. The 5xx and 6xx series has only begun to really work properly with in OS X 10.8 Mountain Lion. 6xx and 7xx work the best in OS X 10.9 Mavericks, no GraphicsEnabler is required and you will benefit from the OGL improvements apple has made to Mavericks. nVidia has the slight edge over ATI currently because nVidia released drivers for Mac Pro users. 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. 7xxx works well on Mavericks.

*[4] To get HD3000/HD4000 IGPU working may require the use of an smbios.plist from a mac model that has one of these devices, in addition to GraphicsEnabler and/or a DSDT modification. Note: HD4000 will only work in OS X 10.8+  and HD3000 will only work in OS X 10.7+.

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.

*[5] 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 (Appstore/Facetime/iCloud /Intel HD Graphics/etc 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 unless you have one of the graphics devices which will provide hardware acceleration without GraphicsEnabler, or you have removed system extensions in order to force VESA mode).
  • Note: ML 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 (begin/changed/end)”
  • 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 the OSX Latitude crew.

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, RampageDev, 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.3 contains:

  • The myHack binary
  • myFix 2.2
  • 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

2013/10/24 – Revision 34 – Updated download link to 3.3, OS X 10.9 installation and hardware support updated.

2013/06/11 – Revision 33 – Updated download link to 3.2 BETA 8 and posted initial details for OS X 10.9.

2012/08/22 – Revision 32 – Minor revisions in hardware requirements section.

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

Explanation of downtime…

As many of you had noticed and wondered, the site was down for a while now… I had a series of unfortunate events that started with the corruption of a single disk in my server’s zpool a month ago. I didn’t have the time or feel any sense of urgency to replace it then so I just made sure everything was backed up and kept going with a degraded pool for a couple of weeks, planning to fix it later.

Then a second disk went… All was lost. The real panic set in when I couldn’t get my workstation to load my other zpool either (kernel panic on zfs kext), and I had used my external backup drive in a futile attempt to recover the server’s pool a day earlier… I thought it was all over! Much to my relief that problem turned out to be OS corruption rather than any problems with that pool… All of this stems from the high heat and humidity we’ve been having here, I’ll have to be a little less stingy with the A/C. On the bright side it gave me an excuse to clean up, organize, and take care of alot of other systems administrative tasks which I had been putting off.

So the server is in working order again now, and what spare time I’ve had from work that was not absorbed by this mess has gone into myhack 4, which I hope to release around the time that 10.10 GM is available. Truly sorry for the panic this may have caused and for not explaining it on the forums/facebook/twitter/etc, but I was more focused on getting it fixed with what time I had to do it rather than checking social media.

Donations toward the drive replacement fund would be greatly appreciated and well utilized! If I have enough redundant spares on hand I can ensure this does not happen again in the future.

  1. 10.10 Proof of concept… 15 Replies
  2. Status Report on myHack v4 7 Replies
  3. Server Replacement 7 Replies
  4. myHack 3.3.1 4 Replies