myHack 2.2

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

This version was downloaded 13599 times.

I noticed two things while testing some more unorthodox configurations with myHack 2.1. Since I was testing on multiple systems I had renamed some Extra directories from them, for example “Extra_Notebook_ML”. When installed with myHack I noticed that instead of installing to /Volumes/myHack OS X Install Disk/Extra – it would end up in /Volumes/myHack OS X Install Disk/Extra_Notebook_ML/. Oops. So I fixed that.

Also I was able to reproduce a very random error that only a small number of people have ever reported to me. I’m not sure if the error I reproduced was caused by the same problem as these users but I have added an enhancement to myHack to prevent it from ever happening again. The symptom was an instant reboot before chameleon menu loaded. It was really rather confusing to me as there was no reason for it (code wise) and the same version of chameleon installed on the USB stick worked fine… Then I noticed something – that wasn’t reported in myHack or even the terminal when installing chameleon by hand – for some reason when booting from the USB stick OS X was mounting all the HFS+ partitions (other than the root volume) as read-only!

So now myHack performs a check on the target volume prior to running any tasks, and will alert the user to unmount, and mount the drive again using disk utility if it is mounted as read-only – this method resulted in a volume that was writable in all of my tests, as it should, unless the device is physically damaged or has a ‘read only’ switch, as some USB sticks do. Hopefully in the extremely unlikely event that anyone runs into this issue, this simple check will save you a headache.

I’ve also taken the time to bump the chameleon version while I was at it, I have once again applied the patch for mountain lion support.

I’ve cleaned up some other internal things that don’t require mention, but sufficed to say the app runs a little bit smoother now.

Changes from myHack 2.1:

  • Updated Chameleon to 2.1svn r1827*[1]
  • Bugfix: User supplied Extra with name other than Extra will now be installed correctly.
  • Enhancement: Test to ensure target volume is mounted read/write before running any tasks.
  • Cleaned up and improved a few things in the code.

*[1] I have edited Chameleon 2.1svn r1827 to include support for OS X 10.8 – these modifications have not yet been added to the official Chameleon trunk.

Make sure to read the release page for myHack 2.1 if you have not done so already, for a complete list of changes, contents and features.

Additional details of the myHack app’s contents are maintained on the downloads page. Credits and instructions are maintained on the guide page.

Please post thank you comments or report successful Mountain Lion installs on this post but for support or to report a problem you encounter – please use the myHack forum instead.

myHack 2.1

This version is now deprecated, consult the downloads page for a link to the latest version.

This version was downloaded 1298 times.

You may notice I have skipped past the 2.0 Final release, I have been very busy in the last months and while I had been working on one I have already deprecated it by adding one new feature in particular – support for OS X 10.8 Mountain Lion.

I have decided to remove the myHack Chameleon boot theme and stick with text only instead. The GUI is more trouble than it is worth at times and the Chameleon GUI code could really use a rewrite, should you choose to use a graphical menu you may install and configure one during post installation. I may provide one or more boot themes in the future as a separate download but what I have always aimed for with myHack is to keep things simple and to (hopefully) get as many systems booting as possible with minimal effort so I see no need for them to be installed by default.

You will also notice I am removing the EvOreboot.kext – it is no longer needed since newer builds of chameleon include a restart fix.

I have added experimental support for OS X 10.8 Mountain Lion. It has been tested and is working with Developer Preview 1 – The “Generic Extra” failed to boot my system personally (kernel panic on ApplePolicyControl, I will find a way to correct this using a “Generic Extra” in a future release of myHack, this is also a problem many people have with 10.7.3) – there is a simple solution to the ApplePolicyControl panic however, and that is using appropriate smbios information for your system in /Extra/smbios.plist. As I already have one I have used on both Snow Leopard and Lion I proceeded to move beyond testing and simply copied my Lion Extra’s onto the USB stick – after that the ML installer booted and OS X 10.8 installed without problem.

I call this experimental support because I can not and will not provide/disclose any information regarding OS X 10.8 that would violate my ADC NDA via this blog or the forum until the official public release is made. Additionally I do not know what changes are in store for 10.8, so while I can confirm myHack 2.1 will work for Developer Preview 1 with an Extra that works for you in Lion, I have no way to know how it will work with future releases.

I have not included an OSInstall Mod for 10.8 DP1 in this release. If you are one of the few ADC subscribers out there who still use MBR partitions on your hackintosh but would like to give ML a test run – Nawcom has posted an OSInstall bundle on his blog here. Installation is self explanatory, simply overwrite the files in the appropriate locations with the files included in the archive.

 

Changes from 2.0 RC4(.1):

  • Updated Chameleon to 2.1svn r1822*[1]
  • Added experimental support for OS X 10.8 Mountain Lion*[2]
  • Added MBR OSInstall Mod for OS X 10.7.3 Installers*[3]
  • Bugfix: Passwords containing a $ symbol will now be accepted.
  • Removed EvOreboot.kext.
  • Disabled graphical boot menu.
  • Removed myHack boot theme.
  • Polished off Chameleon modules installation method.

*[1] I have edited Chameleon 2.1svn r1822 to include support for OS X 10.8 – these modifications have not yet been added to the official Chameleon trunk. This new build of Chameleon does resolve the bug that many experienced on RC4(.1) – bug info and resolution was posted here and here.

*[2] Tested with OS X 10.8 Mountain Lion Developer Preview 1 – May not work in future versions. You will have to point to the InstallESD.dmg manually by use of the “Browse Manually” option for now. The Install Mac OS X Mountain Lion.app itself will only be supported after the official public release.

*[3] Credit goes to Nawcom for taking the time to cook this up for us the other day.

Todo:

  • Update myFix
  • Find more time to improve myHack & myFix further

Make sure to read the release pages for myHack 2.0 RC1, RC2, RC3 and RC4 if you have not done so already, for a complete list of changes, contents and features.

Additional details of the myHack app’s contents will be maintained on the downloads page. Credits and further instructions will be maintained on the guide page.

Please post thank you comments and successful Mountain Lion installs on this post but for support or to report a problem you encounter – please use the myHack forum instead.

Update to Chameleon Bug

Note: As of myHack 2.1 this bug has been resolved and is no longer an issue – although if you do not have your VESA graphics mode defined on problem systems the apple logo will not be centered, but rather, it will be in the top left of the screen and you will not be able to see the spinner wheel – the system will boot though.

After a few more hours of meklort toying around and me helping to test the builds this problem has been solved, well for the most part…

Chameleon build 1407+ boots as would be expected with -v boot flag, without flags
however there is a minor problem still. The apple logo will appear in top left corner of screen, the rest of the screen is blank (black) and no spinner is visible. If patient though it will boot still, rather than hanging. Having a VESA resolution defined in the Boot plist will avoid this undesirable behavior on effected systems, but at least it will still boot even without, so that’s good enough for free software as they say.

I will be releasing an update to the myHack app with a newer build of Chameleon as well as a few other small changes in the days to come.

Original Post:

So I woke up refreshed this morning and meklort was kind enough to tell me what to replace in boot.c to get builds 1214-1220 to boot. I narrowed down the cause to a single commit.

You can read more here: http://forge.voodooprojects.org/p/chameleon/issues/146/

So by modifying drivers.c and reverting this change I got build 1394 to work as expected but there is probably a better solution to this problem, I’m going to wait until I hear back from the Chameleon team before deciding if I release the next revision of myHack with my alteration of Chameleon 2.0 or with a solution that they come up with.

For now just define the VESA graphics mode in the Boot.plist as I described in my last post.

Chameleon Bug and myHack 2.0 RC4+

Note: As of myHack 2.1 this bug has been resolved and is no longer an issue – although if you do not have your VESA graphics mode defined on problem systems the apple logo will not be centered, but rather, it will be in the top left of the screen and you will not be able to see the spinner wheel – the system will boot though.

So I managed to reproduce and track down this bug that a few people reported to me in build 1332 of Chameleon that I used in myHack RC4+. The bug is as follows:

After boot menu, if booting without flags – instant reboot

After boot menu, if booting with -v boot flag it brings you to a black screen, with a white bar on top that flickers, but that is as far as it goes.

After boot menu, if booting with -f or -x boot flags it will boot.

While the exact cause of this isn’t yet clear to me I have narrowed it down considerably by downloading, compiling and testing many many revisions of the chameleon trunk starting with the one I knew worked that I used in myHack RC3-  (2.0 RC5 revision 1203) my results were as follows:

  • 1221 = broken (bug I mentioned above is reproduced, all future revisions including 2.0 final – r1394 – share this bug)
  • 1220 = can’t boot (other bug)
  • 1219 = can’t boot (other bug)
  • 1217 = can’t boot (other bug)
  • 1216 = build failed
  • 1214 = build failed
  • 1203 = works

 

So going through svn, so much has been changed between then and now it’s hard for me personally to figure out how to fix it, nothing obvious jumps out of me, but I only dabble a bit when it comes to Chameleon’s rather insane code structure.

I spent way more time on this than I should have (hours and hours), but I really wanted to drop the RC from myHack with a nice clean 2.0 Chameleon without the RC on it either, it doesn’t appear I will be able to do that until this bug is fixed – or at least I would prefer not to.

I did find a simple work around though – if you add a VESA graphics mode to your boot plist it will boot normally, in revision 1203 this isn’t needed, but everything after that (that works) apparently needs it on _some_ graphics cards – the card I was testing with is a 9800GTX+. It shouldn’t need it but I recalled from a similar issue I ran into a couple years ago that it might be the case, and indeed it was.

So if you are having this issue open up org.chameleon.Boot.plist and add:

    <key>Graphics Mode</key>
<string>1024x768x32</string>

for 4:3 displays – or for 16:9 something like:

    <key>Graphics Mode</key>
<string>1280x720x32</string>

etc…

NOTE: The VESA mode you define must be supported by your graphics card bios and your monitor, using ?video at the chameleon boot prompt will give you a list of the modes supported by your graphics card.

I’ve passed these findings along to cosmo1t and meklort and I’m sure they will look into the matter further, but the information I posted above will help in the meantime if you happen to run into this problem.

myHack 2.0 RC4.1

This version is now deprecated, consult the downloads page for a link to the latest version.

This version was downloaded 42431 times.

This is just a minor edit of RC4′s resources. arch=i386 in boot plist caused more trouble than it was worth, i thought it might make things easier on people who relied on older kexts that are 32bit only, since 64bit apps can still run in userspace as long as there are x86_64bit instructions available in the CPU regardless of if the kernel itself is running i386 or x86_64 I didn’t think it would cause any trouble.

But it does cause some trouble, because some 32bit only kexts loaded for people who weren’t expecting them to load – this is what resulted in some blank screen issues for a few people with some graphics cards (x3100 was referenced in particular for one users report).

So anyway no reason to really download all over again, but just remove arch=i386 line from org.chameleon.Boot.plist or type arch=x86_64 at the boot prompt if you are having any issues with the latest version of myHack.

Download was updated and is still available on the myHack 2.0 RC4 release page, if you have RC4 already though please don’t waste the bandwidth – you can just edit the plist in Resources.