myHack 3.0

This version is now deprecated, consult the myHack guide for a link to the latest version.

This version was downloaded 2054 times.

I’ve put so much time and effort into actually working on myHack 3.0 that I’m a bit burned out and not really sure where to begin in describing it all. I guess I will just cover a few of the major core changes and leave the rest to the myHack guide.

The first significant change you will notice is the flow of the dialogs now allows you to use myHack as a front end to myFix, and gives a couple of other useful options in addition to the creation of OS X installers and the old install chameleon + extra options that were used for post installation in the past. The old post installation method is no longer required, myHack now runs automatically during OS X installation and installs chameleon, extras, utilities, etc automatically – you will notice growl-like notifications and several dialogs will popup within the last 2 minutes of OS X installation – this is myHack doing it’s job and making your life easier.

The next significant change that will not be immediately noticed is you no longer have to put any extensions in /System/Library/Extensions/ – myHack installs myHack.kext to /System/Library/Extensions/ and utilizes new features inside of myFix to merge everything you place into /Extra/Extensions/ into the myHack.kext. This is really wonderful for 3 reasons:

  1. There is no longer any question of ‘can this run from /Extra/Extensions or do I need to put it in /System/Library/Extensions/’
  2. It keeps /System/Library/Extensions/ clean and there is no reason to ever overwrite a vanilla extension. All extensions from /Extra/Extensions have their versions bumped during the merging process to ensure that they load even if an extension with the same name already exists on the system.
  3. It allows us to utilize kernelcache for much faster boot times, the way OS X was meant to run. Special thanks to Bronx Teck who originally created and tested this technique, he suggested it would be a good feature to add to myHack and I then expanded on his original idea by adding the version bumping to the migration so there would not be any conflicts.

A constant source of irritation to people for many months now has been the lack of 4k sector support in chameleon, while most of us who have worked on chameleon have known the problem really has to do with the dd utility in OS X, until now, the fix had to be applied manually from the command line or from linux. No more, the improved chameleon installation functions I have written into myFix 2 will work on all advanced format devices with 4k sectors.

With a little help from nawcom and meklort I was able to create pure on-the-fly OSInstall patching for MBR support. No longer are the OSInstall mpkg/framework bundled with myHack and the modification is no longer limited to only a few OS versions. It has been tested and is working with everything from 10.6.0-10.6.8, 10.7.0-10.7.3 and all of the 10.8 developer previews released so far (as of the time of this writing, we are on developer preview 3).

I took the time to update a few things that are bundled with myHack as well. FakeSMC has been updated to version 4.1 – it has been working reliably for me and I noticed that despite the fact FakeSMC 2.1 worked perfectly it was confusing new users because it would complain about missing keys (which wasn’t really important, but irritating). Also it does support the use of plugins, the only one I use personally is the IntelCPUMonitor.kext. I have also added the PS2 extensions I use for my notebook, if you have a USB keyboard and mouse you can remove these post installation and run myFix, but more and more users are utilizing myHack on notebook computers so it is better to have these and not need them than to need them and not have them. I also updated the pci-ids database for lspci (you can do this at any time manually by runing “sudo update-pciids” from a terminal, but I thought it would be nice to bundle it anyway as the old database was about 3 years old).

Another useful feature that will not be immediately apparent is I have ported the code I used in myHack 1.x for PciRoot detection to myHack 3. When installing a Generic Extra from a usb installer or when targeting / (root) it will detect your PciRoot and add it to the org.chameleon.Boot.plist automatically. It only runs if installing a Generic Extra because I would expect that if you are using your own Extra that you already have set everything up correctly, and it does not run when creating an OS X installer because you may not be using that installer on the same system. When booting the OS X installer if graphics does not work with graphics enabler at first you will need to pass PciRoot=1 at the boot prompt, if that does not work your graphics are not properly supported by Graphics Enabler.

Important note: Since kernelcache is now used by default you will need to be aware that if you are running myFix from a system running a different arch or older OS, such as fixing a lion installation that will runs a 64bit kernel from a Snow Leopard system that is running an i386 kernel the kernelcache will not be created correctly and it will cause a boot failure of the installation disk. Meklort helped me out by patching the latest build of chameleon to ensure that the -f flag will ignore the kernelcache completely and not only the kextcache. So if your OS X installation fails to boot, the first thing to try is passing the -f flag at the boot prompt.

The changelog can sum up the rest, I have more changes planned for myHack but I will be waiting to hear back from users on their own experiences working with the new software before I do anymore work on it, and will take into account their suggestions as I always do.

The downloads page has been removed, and I am no longer going to maintain download links on release pages – you will find a link to download myHack 3.0 in the myHack guide.

Changelog:

  • Over 1,600 revisions since myHack 2.2
  • Compiled as universal i386 & x86_64 binary (previously only i386)
  • myFix now integrated into myHack
  • Improved GUI and dialogs
  • Reduced launch time
  • Added support for myHack to be run from read only volumes
  • Added support for myHack to be run from OS X install disk
  • myHack now installs chameleon/extras/utilities during OS X post install
  • myHack can now be run from the OS X install disk’s “Utilities” menu
  • myHack application state saving disabled
  • Links in myHack app window now open in default browser
  • Additional menu options for new features
  • Chameleon installation is now performed by myFix
  • Chameleon installation now supports “Advanced Format” disks with 4k blocks
  • Removed “OSInstall Mod” files for 10.6, 10.6.3, 10.7 and 10.7.3
  • OSInstall.mpkg is now is modified by myHack directly
  • OSInstall.framework is now patched by myHack directly
  • OSInstall framework patches have been tested on 10.6-10.6.8, 10.7-10.7.3 & 10.8 DP1-DP3
  • GraphicsEnabler=Yes is now default option in org.chameleon.Boot.plist
  • UseKernelCache=Yes is now default option in org.chameleon.Boot.plist
  • Ported PciRoot detection code from myHack 1.x
  • Improved OS X Installation source detection
  • Added “Rescan” button on target selection dialog
  • If user extra is invalid, user is taken back to extra selection dialog
  • Improved detection for read-only targets
  • Added detection for mounted disk image targets
  • Volumes that are not formatted as hfs are no longer listed in target selection dialog
  • Root volume is no longer listed in target selection dialog when creating OS X Installer
  • Target device is no longer unmounted before user confirms erase
  • Base System and Install ESD are unmounted after file copy is completed
  • Updated lspci pci.ids.gz
  • Updated FakeSMC.kext to version 4.1
  • Updated Chameleon to myHack git fork
  • Added ApplePS2Controller.kext and AppleACPIPS2Nub.kext
  • Disabled / (root) target from target selection dialog when creating OS X Installer
  • Vastly improved error handling and detection throughout
  • Numerous additional internal changes and improvements
Additional details of the myHack app’s contents, credits, and instructions are maintained on the guide page.

Feel free to post thank you comments and whatnot on this post but for support or to report a problem you encounter – please use the Forum or the #hackintosh channel on SojuGarden IRC.

17 thoughts on “myHack 3.0

  1. I have a HP probook 4530s with the following specs:-
    CPU : (Sandy Bridge) Intel Corei3 2310M
    RAM : 4ig
    Graphics: HD 3000
    BIOS : 68SRR Ver. F.29
    I created the installation usb drive with myhack. I booted with –v and it loads and installs everything but it hangs where it is supposed to display the first graphic display with the mouse pointer at the top most left corner. Please help.

    • I had the same problem with my HP probook 4530s, this was before GraphicsEnabler supported the HD3000. Now that it does support it you just need to use GraphicsEnabler + an smbios.plist that matches a mac model that uses the HD3000 for graphics.

      Your other option is injecting the HD3000 into an IGPU section in your DSDT (which is what I did).

  2. Hi!

    I have got a Mac Pro 1.1 (now, 2.1) but still with 32bit EFI and without chameleon… I could use myHack 3.0 in order to run Mountain Lion on it, or I have to do something before?

    Thank you so much

    • A real mac pro?

      myHack is designed for Hackintosh only, though the OSInstall.mpkg it creates does remove the hardware checks and might prove useful in your efforts I do not support any kind of genuine mac hardware.

  3. Wanted to say thanks, it worked great on 10.8 DP3 on second try. Will post in appropriate area for debug help on first failure. will be contributing.

  4. I get an error during boot of the install (it installs lion). v3.0 and 10.7

    The error is in the chameleon boot prompt, and it reads “Cannot find mach_kernel”.

    I tried a copy of v2.2 I had since i had just downloaded prior to the v3 release, however I get a kernel panic when running the installer for that version.

    Any ideas about the mach_kernel error in chameleon/boot window?

    • this is probably because I chose encrypted drive. When I don’t, the machine reboots, but doesn’t display Cannot find mach_kernel. still looking for idaes

    • As stated in the post, and in a previous reply I made, please direct all support questions to the Forum or IRC.

      That said, OS X does not support the intel drive encryption, OSX does support the use of apple’s file vault for whole disk encryption, however, file vault does not work with Chameleon as it requires apple EFI.

      It can not find mach_kernel because it can not read an encrypted drive. Had you not added the “this is probably because I chose encrypted drive” I would have been confused myself, but that pretty much explains it.

  5. I saw in your post you’ve decided to remove the downloads section. I have to say it was not intuitive to find the download in the guide section.

    Thanks for your hard work!

  6. Hey Conti, Thx so mutch man. Just installed Lion with myHack 2.2 yesterday and runs perfect on my new Asrock H61M/U3S3 just couldn’t fix the USB 3.0 from Asmedia.
    But I read that there is a new version so what the heck I will reinstall Lion 10.7.0 now. Bye!! AND THX!!

  7. I’d guess a few bucks in donations would show how appreciative you are. I know I’ll do it, and just to think the time he invested so us could have an easier time…

  8. Thanx for myHack 3.0 Application

    I tasted on Snow Leopard The Application Just now but
    it stuck on Looping After entering password. ….
    Do i miss something? or it have to running on Lion…?

    Thanx

    • Please direct any support questions to the Forum or #hackintosh channel on SojuGarden IRC.

      But no, Lion is not required it has been tested and works on Snow Leopard – perhaps your account does not have sudo permission.

  9. Thanks on the on-the-fly OSInstall patching for MBR support. I really appreciate it. Keep it up Conti!

  10. Not that it’s said enough, But many of us really appreciate your efforts..

    Thank-you..