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:
- There is no longer any question of ‘can this run from /Extra/Extensions or do I need to put it in /System/Library/Extensions/’
- 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.
- 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.
- 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