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.

myFix 2.0

Rather than bore you with several paragraphs describing everything in great detail I’m just going let the bullet points in the changelog do the talking for me. While myFix has been greatly improved and altered on a fundamental level, it is now much more integrated with myHack itself so I will be explaining the new features in more detail on the release notes for myHack 3.0 and in the myHack guide.

Changelog:

  • Over 600 revisions since myFix 1.3
  • Compiled as universal i386 & x86_64 binary (previously only i386)
  • myHack app now serves as a graphical front end
  • Revised terminal app functionality
  • myFix is now distributed exclusively with myHack app
  • Utilizes new myHack.kext for kernelcache support
  • Cleanly merges Extra Extensions with System Extensions
  • Added new chameleon (re)installation feature
  • Added single user and safe boot support
  • Added new sudo access method
  • If run under single user mode, root is fsck’ed and mounted automatically.
  • Vastly improved error handling and detection
  • /Extra/Extensions.mkext no longer built
  • Removed routines to fix sleep enabler pmversion
  • Dropped all support for OS X 10.5

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.

SojuGarden IRC

So a few of us got together and opened a new IRC network, we had been hopping in and out of a few other networks over the years and we finally got tired of some of the administrative details of those networks… mergers with other networks bringing new opers in that interfere with our channels, outdated services, etc.

I had actually ran a rather large network for many years but I shut it down about 5 years ago when I moved abroad and I have contributed to the development of several IRC services including anope, denora, and magirc (which is still in alpha development). So it was a no-brainer to get up and running with a little help from my friends in the community who have generously offered the use of their own dedicated servers and their vast knowledge and experience to help others in the community.

You will notice the link to our network’s portal and statistics in the main site menu, please connect to the network round-robin and join us in #hackintosh – it’s just getting started but the more users join us the more useful it will become. You will notice there is a link/ssl link on all channel lists on the website but I will also provide a direct link here for your convenience:

SojuGarden IRC #hackintosh – Standard Connection | Secure Connection

We only have one small request to make for the use of our #hackintosh support channel. If you come in seeking help, and receive it, please stick around and help others whenever you can with whatever you can. Give a little something back =)

We look forward to seeing you there!

-Conti

 

Chameleon Sources

To make things a little easier on myself in preparation for the release of myHack 3.0+ I’ve pulled the latest chameleon from svn, applied some fixes specific to git, myHack and my ML patch, and pushed it to my git account. You will now be able to view/access the Chameleon source I use for myHack there. The link will be placed in the appropriate places on this site as well as in the footer for future reference.

https://github.com/Conti/Chameleon