overdue-scratch

Author Topic: PC-EFI works fine, Chameleon crashes and burns.  (Read 2177 times)

0 Members and 1 Guest are viewing this topic.

Ranguvar

  • Entrant
  • Posts: 3
PC-EFI works fine, Chameleon crashes and burns.
« on: August 11, 2011, 04:48:44 AM »
Filing as a bug because if one suceeds 100% of the time on certain hardware (though trying different installs, even) yet another fails 100% of the time, that sounds to me like a legitimate bug.

As the title says, Chameleon fails for me when booting a USB Lion installer, my current OSx86 install (Lion), everything but GNU/Linux and Windows.

PC-EFI, on the other hand, works perfectly fine.

This isn't the end of the world, but I would prefer to use Chameleon, it seems to be more feature-ful and a bit more actively developed.  I tried Chameleon with PC-EFI's boot file, but that failed.

I have tried Chameleon RC5 revisions from the earliest reported to boot Lion, all the way to current HEAD, to no avail.

They all hang, usually right after macx_swapon, after DSDT has arrived, fsck has run, etc. (I once left it on all night to be sure).

I found a few other people with this issue back when I was trying to get the Lion installer-on-a-stick to work, back then it would hang right at reaching a line about /var/db/BootCache.playlist being unavailable (I now realize this was unrelated).

A few links to them:
(Mentioned in description): http://www.kexts.com/view/1555-lion_instal...efi_netkas.html
(Read to the end, multiple people claimed PC-EFI fixed the problem): http://www.insanelymac.com/forum/index.php?showtopic=263249

I've tried -x and -f, and -cpus=1.

Special kexts used and plist info / DSDT should not matter, as I have this issue with a basic Lion installer too (only basic kexts and no DSDT), but I'll include them anyways.

Pictures of the Chameleon boot before failing:
http://i.imgur.com/PW5pS.jpg
http://i.imgur.com/ikefC.jpg
http://i.imgur.com/9V95R.jpg
http://i.imgur.com/yQEGh.jpg

I use a GA-P35-DS3L board with an Intel Core 2 Q6600 processor and an NVIDIA GeForce 9600 GT 512MiB, 6GiB of DDR2 RAM.  My boot drive is a 500GiB SATA, but I have a 1.5TiB SATA and 300GiB ATA also installed.

Kexts: RT2870USBWirelessDriver, Lnx2Mac's RT81xx driver, AppleACPIPS2Nub, ApplePS2Controller, AppleHDA for RTL888 audio, AppleRTC patch for CMOS reset fix, ACPIMonitor, FakeSMC, IntelCPUMonitor, IntelThermal, JMicron36xATA, JMicron36xSATA, LegacyAppleAHCIPortIntelICHx, NVClockX, SuperIOFamily.

org.chameleon.Boot.plist:
Code: [Select]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DSDT</key>
<string>/Extra/DSDT.aml</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string></string>
<key>Theme</key>
<string>Default</string>
<key>Quiet Boot</key>
<string>No</string>
<key>Instant Menu</key>
<string>No</string>
<key>Timeout</key>
<string>3</string>
<key>GUI</key>
<string>Yes</string>
<key>Boot Graphics</key>
<string>Yes</string>
<key>Boot Banner</key>
<string>Yes</string>
<key>Legacy Logo</key>
<string>No</string>
<key>Rescan</key>
<string>No</string>
<key>Default Partition</key>
<string>hd(1,2)</string>
<key>Hide Partition</key>
<string></string>
<key>PCIRootUID</key>
<string>1</string>
<key>USBBusFix</key>
<string>Yes</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>Graphics Mode</key>
</dict>
</plist>

smbios.plist:
Code: [Select]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SMbiosvendor</key>
<string>Apple Computer, Inc.</string>
<key>SMbiosversion</key>
<string>MP31.88Z.006C.B05.0802291410</string>
<key>SMmanufacter</key>
<string>Apple Computer, Inc.</string>
<key>SMproductname</key>
<string>MacPro3,1</string>
<key>SMsystemversion</key>
<string>1.0</string>
<key>SMserial</key>
<string>G87421B908S</string>
<key>SMfamily</key>
<string>MacPro</string>
<key>SMboardmanufacter</key>
<string>Apple Computer, Inc.</string>
<key>SMboardproduct</key>
<string>Mac-F4208DC8</string>
<!-- <key>SMcputype</key>
<string>1281</string>
<key>SMexternalclock</key>
<string>266</string>
<key>SMmaximalclock</key>
<string>2400</string> -->
<key>SMmemtype</key>
<string>19</string>
<key>SMmemspeed</key>
<string>533</string>
<key>SMmemmanufacter_1</key>
<string>Crucial Technology</string>
<key>SMmemmanufacter_2</key>
<string>OCZ</string>
<key>SMmemmanufacter_3</key>
<string>Crucial Technology</string>
<key>SMmemmanufacter_4</key>
<string>OCZ</string>
<key>SMmempart_1</key>
<string>BL12864AA106A.8FE5</string>
<key>SMmempart_2</key>
<string>OCZ2N800SR2G</string>
<key>SMmempart_3</key>
<string>BL12864AA106A.8FE5</string>
<key>SMmempart_4</key>
<string>OCZ2N800SR2G</string>
<key>SMmemserial_1</key>
<string>8011ADAC</string>
<key>SMmemserial_2</key>
<string></string>
<key>SMmemserial_3</key>
<string>7E15139D</string>
<key>SMmemserial_4</key>
<string></string>
</dict>
</plist>

DSDT in DSL (readable) form attached.

I'm mostly just curious -- what could casue Chameleon to break yet PC-EFI overcomes it?
Is there a special debug mode for Chameleon beyond the -v boot flag?  Anything I could patch into the source code to give me more information?

Thank you in advance for any help.

Blackosx

  • Forum Moderator
  • Posts: 1114
Re: PC-EFI works fine, Chameleon crashes and burns.
« Reply #1 on: August 11, 2011, 09:32:09 AM »
First of all, Chameleon boots Lion fine. I and many others are using it to boot from CD, USB and HDD. So I would look more closely at your own setup. Which brings me to wow!.. You have host of various settings.. How did you come to get all these?

Your DSDT contains CPU data for speedstep, yet you're also asking Chameleon to auto generate P&C states for you? Have you calculated the correct CPU data and added it to your DSDT yourself or have you copied and pasted it from somewhere else? if you have copied somebody else's data then that is dangerous to your CPU. I personally would recommend you remove the CPU data from your DSDT and stick with Chameleon's auto generated code.

I think you should start by searching for a topic by Mald0n at InsanelyMac named Snow Leopard on GA P35-DS3 / DSDT to read about what kexts and DSDT fixes you need.

I mean, do you need all those kexts you're using? I would start simple then add more if required.
So for now, just use FakeSMC.kext and maybe your PS2 kexts if you need them. (Better still - get a USB keyboard and mouse).

Your org.Chameleon.Boot.plist is incomplete as you don't have an accompanying string for <key>Graphics Mode</key>. You should either remove it, or add a string for example.
Code: [Select]
<key>Graphics Mode</key>
<string>1680x1050x32</string>

You should also strip it down to something like this just to start with. Then you can add any NECESSARY options later. I've removed the ones which I don't think you need and also the ones which are enabled by default (so no point in having them there).

Code: [Select]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string></string>
<key>Timeout</key>
<string>3</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
</dict>
</plist>

Same for your SMBIOS.plist. Chameleon auto detects a lot of the values you had there, so strip it back to something like this.

Code: [Select]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SMbiosvendor</key>
<string>Apple Computer, Inc.</string>
<key>SMbiosversion</key>
<string>MP31.88Z.006C.B05.0802291410</string>
<key>SMmanufacter</key>
<string>Apple Computer, Inc.</string>
<key>SMproductname</key>
<string>MacPro3,1</string>
<key>SMsystemversion</key>
<string>1.0</string>
<key>SMserial</key>
<string>G87421B908S</string>
<key>SMfamily</key>
<string>MacPro</string>
<key>SMboardmanufacter</key>
<string>Apple Computer, Inc.</string>
<key>SMboardproduct</key>
<string>Mac-F4208DC8</string>
</dict>
</plist>

Why does PC-EFI boot your machine when Chameleon doesn't? - I'm not sure. Maybe it's more forgiving than Chameleon? Anyway, Netkas hasn't released a version of PC-EFI for a while. Last one I remember was back when the 10.7 developer previews were out and it was updated to load the kernelcache to try to overcome the double fault. The solution was eventually found by cparm and Chameleon contains that fix. Besides, if Chameleon didn't work with Lion then why would Netkas use it?

Chameleon seems happy to boot most others people's system, so I would also suggest looking at your USB installer - where did you get it? did you build it yourself? I recommend you have a look at your own setup and try re-building a new Lion installer. hint: Google myHack.

That's all I'm going to say for now as this forum is for Chameleon itself and not about how the ins and outs of building a hackintosh.
« Last Edit: August 11, 2011, 01:13:00 PM by Blackosx »
10.9.2 | Asus Maximum IV Gene-Z | i7-2600 3.40GHz | 4GB | Radeon 5770 1GB

Ranguvar

  • Entrant
  • Posts: 3
Re: PC-EFI works fine, Chameleon crashes and burns.
« Reply #2 on: August 11, 2011, 09:26:04 PM »
I am not saying that Chameleon is purely broken, I know that it works for the majority of people.

My DSDT's SpeedStep information comes from another who clearly branded it as for a Q6600 -- my CPU.
If different revisions of the same CPU need different SpeedStep info, I'll remove it though (as that might be the case).
I added it because generating P&C states was giving me errors, I did not know that is exactly what it does -- I'll switch them to No.

Thanks for the tip.

Cut back to FakeSMC, NVEnabler (using GraphicsEnabler has stopped working), Ev0Reboot, and my network and PS/2 drivers for the purposes of hopefully fixing this.  I use a PS/2 adapter for my USB keyboard because it means full NKRO and (though I'm sure nearly a placebo) the advantage of interrupts instead of polling.  I'll switch if I am forced, until then PS/2 is preferable.

I have a mode string, it was omitted due to a copy/paste error onto the forum.

I like to keep a lot of options in my plists, even if disabled, because it means I do not have to look them up again should I need them enabled once more, and it means typing less -- XML burns, even in vim.

Chameleon does not auto-detect my RAM information, at least, not enough to rid the "There was an error" when checking Memory in System Information.

I never claimed Chameleon did not work with Lion, I know it does for the vast majority of people.  I did provide links of others who had the same hang as me, though, and PC-EFI fixed it.
I am using the 10.6 PC-EFI installer with Netkas's 10.7 boot file, which you mentioned.

I built my own Lion installer.  It had FakeSMC, PS/2 kexts, the CMOS reset fix, and NullCPUPowerManagement.  No DSDT.  Had to use PC-EFI here, too.

Again, what I'm mostly interested in is, is there a way I can force Chameleon to spit out more useful information?  There is no evidence of a fault that I can see in the boot messages, and yet it still hangs indefinitely.  I would like to find out where exactly the hang is happening (waiting for something that never happens, infinite loop...).  If there is not a toggle-able switch for debugging, perhaps I could patch in prints at key places that are suspect to be where the problem is.

Thanks again for your assistance.
« Last Edit: August 11, 2011, 09:37:58 PM by Ranguvar »

Blackosx

  • Forum Moderator
  • Posts: 1114
Re: PC-EFI works fine, Chameleon crashes and burns.
« Reply #3 on: August 12, 2011, 09:11:21 AM »
Hi Ranguvar

I am not saying that Chameleon is purely broken, I know that it works for the majority of people.
Which points to your own installation/setup. It's not Chameleon on your hardware or we would have had many reports on this.

My DSDT's SpeedStep information comes from another who clearly branded it as for a Q6600 -- my CPU.
.../snip/...
I'll remove it though
As you didn't create it yourself, it's the safest option, as how do you know the Q6600 the other person used wasn't over clocked?

...(using GraphicsEnabler has stopped working)...
Why has GraphicsEnabler has stopped working?
Boot with -v Wait=Y and look to see what Chameleon reports for your PciRoot. In your DSDT, Device (PCI0) has Name (_UID, One) which is correct for your Gigabyte Mobo so GE should correctly detect your video card.

I like to keep a lot of options in my plists, even if disabled, because it means I do not have to look them up again should I need them enabled once more, and it means typing less -- XML burns, even in vim.
That's fine, but I was just trying to minimise what you had to narrow down the problem you're having here. For example you had <key>PCIRootUID</key> which is not a valid boot option - it should be <key>PciRoot</key>. And you shouldn't need it as the PciRoot should be correctly detected from your DSDT.

Chameleon does not auto-detect my RAM information, at least, not enough to rid the "There was an error" when checking Memory in System Information.
You should report this at the forge issues section as although this problem has been present in the past I thought this had now been fixed.

I built my own Lion installer.  It had FakeSMC, PS/2 kexts, the CMOS reset fix, and NullCPUPowerManagement.  No DSDT.  Had to use PC-EFI here, too.
Why are you not using a DSDT?
Try building your USB installer again as there could be a problem with it. As I said before, Google myHack and give it a go.

Again, what I'm mostly interested in is, is there a way I can force Chameleon to spit out more useful information? 
From Chameleon's GUI, highlight your boot device and type -v Wait=Y before pressing return. This will print out Chameleon's verbose messages and pause at the end to give you a chance to see what it prints. You might want a camera to hand to capture the messages incase the screen scrolls.

Post back the output and we can look at it further.
10.9.2 | Asus Maximum IV Gene-Z | i7-2600 3.40GHz | 4GB | Radeon 5770 1GB

Ranguvar

  • Entrant
  • Posts: 3
Re: PC-EFI works fine, Chameleon crashes and burns.
« Reply #4 on: August 27, 2011, 02:19:35 AM »
I'm working on a new, fresh Lion USB installer, and will supply more info when I've done so.

I do want to point out a new outbreak of claims of PC-EFI solving a mysterious hang with Chameleon, the same issue I've had: http://www.insanelymac.com/forum/index.php?showtopic=266405