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:
for 4:3 displays – or for 16:9 something like:
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.