Jump to content

Chameleon with DSDT override


mackerintel
 Share

253 posts in this topic

Recommended Posts

Just for fun, I've added chameleon_dsdt-debug as a /boot on a boot-132 disk, and booted with it -- sorry, can't use Chameleon yet as I'm using Munky's EFI boot.

 

This is what I got -- after that, screen went to white Apple logo boot screen, but got stucked and Leopard had not loaded:

post-85724-1225642051_thumb.jpg

 

I have a (hopefully) proper DSDT.aml file on my root partition, generated with DSDT_Patcher1.0.1d.

 

Hope I can do more tests when Chameleon is updated with both these features of EFI boot and DSDT.

 

Thanks.

Link to comment
Share on other sites

@All people still suffering "Package 0 didn't received a HPET", use the newest patcher: http://forum.insanelymac.com/index.php?act...st&id=37485

 

Drag the patcher into terminal and then write -newHPET press enter, your HPET should now work with AppleIntelCPUPowerManagement.kext

pls report if it worked or not

greetz

 

 

Works!

Link to comment
Share on other sites

Hi all,

 

Firstly Mackerintel, thanks for your efforts! :rolleyes:

 

For us EFI partition booters using the "Munky" method we can't use your boot file, hence, is it possible to use Psystar's OpenDSDT kext? If so, then how? Their site gives the following instructions:

 

Getting And Replacing Your DSDT

  1. extract the DSDT from your computer using GetDSDT
  2. disassemble with iasl
  3. address issues with DSDT in the resulting file
  4. reassemble with iasl
  5. convert back to hex
  6. inject the resulting hex into the config entries in the DSDT.plist which is present in OpenDSDT.kext

 

Source: store.psystar.com/opensource/opendsdt

 

I am stuck at step 5... My dsdt.aml is binary (made with fassl's patcher), which I assume is in hex so how do I "inject" it into a key in the plist? Would appreciate any help.

 

Chagani

Link to comment
Share on other sites

Open DSDT.aml with a hex editor like 0xED, on teh left there it is in Hex, ctrl +a to mark everything, then just copy and paste. btw, for many people, including me, OpenDSDT.kext hadn't worked.

 

greez

 

Probably OpenDSDT won't be able to solve Aliases problem since it's probably loaded too late

 

EDIT: feel free to try to apply my patch to any other hacked Darwin+EFI bootloader. Or just wait for big unifed bootloader

Link to comment
Share on other sites

Working fine here on EP35-DS3. (HPET, RTC, IntelCPUM. loaded; i'm only using OpenHaltRestart for shutdown/restart, all the other files are vanilla besides fake plists for audio and ahci)

 

I tried for several times till i made it work. Combination is, patching with patcher 1.0.1d and newHPET, and loader used is acpiv12 (chameleondst).

 

Previous attempts failed. So i am not sure now why, because of other loader or because i just used patcher without newHPET. Can you guys in short explain this, so I (and maybe the others) could know what is what, to know what exactly to use for the next time.

 

Thanks guys for this, these are awesome things!!

Link to comment
Share on other sites

I tried for several times till i made it work. Combination is, patching with patcher 1.0.1d and newHPET, and loader used is acpiv12 (chameleondst).

Patcher is the program that dumps your DSDT and corrects it. Patched Chameleon is used to load this patched DSDT. Could you try the latest Chameleon patch and report back if you have problems using newest Chameleon with your current DSDT.aml

Link to comment
Share on other sites

@All people still suffering "Package 0 didn't received a HPET", use the newest patcher: http://forum.insanelymac.com/index.php?act...st&id=37485

 

Drag the patcher into terminal and then write -newHPET press enter, your HPET should now work with AppleIntelCPUPowerManagement.kext

pls report if it worked or not

 

 

greetz

 

fassl,

 

Works on my Gigabyte P35-Q6. I get a "No ACPI Version 2 Found" during boot from the debug version of chameleon and without the -newHPET when I load AppleIntelCPUPowerManagement.kext I get a string of Package 0 and then a kernel panic. With the -newHPET I boot fine and system profiler shows AppleIntelCPUPowerManagement loaded.

 

What's the significance of the "No ACPI Version 2 Found" message?

 

Thanks,

SMF

Link to comment
Share on other sites

I´m a bit confused about all this. I have chameleon installed (with extensions folder in root) and compiled my dsdt.aml which i copied into /, too. Now, what about the files from within chameleon.zip? How do i use them????

 

Could anybody please be so kind and enlight me ?

 

Cheers

 

Goron

Link to comment
Share on other sites

(milanca @ Nov 2 2008, 11:33 PM)I tried for several times till i made it work. Combination is, patching with patcher 1.0.1d and newHPET, and loader used is acpiv12 (chameleondst).

Patcher is the program that dumps your DSDT and corrects it. Patched Chameleon is used to load this patched DSDT. Could you try the latest Chameleon patch and report back if you have problems using newest Chameleon with your current DSDT.aml

 

Thanks mackerintel for this. Sure, its pretty clear what is doing what, what i was actually curious about was newHPET flag.

 

I can confirm that latest patched chameleon (date 31.okt) is working fine, sleep works, as everything else. No temperature increasing (roisoft mentioned in one of earlier posts having 5 degrees hotter cpu). Here, temperature is ~37 C.

 

HPET section working with this option, thats what newHPET flag does (if there are more curios guys as i am)

Method (_STA, 0, NotSerialized)
                   {
                       Return (0x0F)
                   }

                   Method (_CRS, 0, NotSerialized)
                   {
                       Return (ATT3)
                   }

Instead of original:

Method (_STA, 0, NotSerialized)
                   {
                       If (LGreaterEqual (OSFX, 0x03))
                       {
                           If (HPTF)
                           {
                               Return (0x0F)
                           }
                           Else
                           {
                               Return (0x00)
                           }
                       }
                       Else
                       {
                           Return (0x00)
                       }
                   }

                   Method (_CRS, 0, NotSerialized)
                   {
                       If (LGreaterEqual (OSFX, 0x03))
                       {
                           If (HPTF)
                           {
                               Return (ATT3)
                           }
                           Else
                           {
                               Return (ATT4)
                           }
                       }
                       Else
                       {
                           Return (ATT4)
                       }
                   }
               }

 

For the first time i patched dsdt with patcher 1.0.1c and without newHPET, when i decompiled that one now instead of "return (0x00)" there was "return (zero)". Maybe that was the problem i couldnt boot. Not sure though, just a notice.

 

Thanks guys for this again. This is revolution :P

Link to comment
Share on other sites

The -newHPET function just skips your HPET device and writes a new one that should work for most people.

 

Device (HPET)
			{
				Name (_HID, EisaId ("PNP0103"))
				Name (ATT3, ResourceTemplate ()
				{
					IRQNoFlags ()
						{0}
					IRQNoFlags ()
						{8}
					Memory32Fixed (ReadWrite,
						0xFED00000,		 // Address Base
						0x00000400,		 // Address Length
						)
				})
				Name (ATT4, ResourceTemplate ()
				{
				})
				Method (_STA, 0, NotSerialized)
				{
					Return (0x0F)
				}
				Method (_CRS, 0, NotSerialized)
				{
					Return (ATT3)
				}
			}

 

Actually the first version of the patcher did that all the time, thats why it worked for people with the first patcher but not with the newer ones.

 

greetz

Link to comment
Share on other sites

@All people still suffering "Package 0 didn't received a HPET", use the newest patcher: http://forum.insanelymac.com/index.php?act...st&id=37485

 

Drag the patcher into terminal and then write -newHPET press enter, your HPET should now work with AppleIntelCPUPowerManagement.kext

pls report if it worked or not

greetz

 

it work

 

ps: i have edited my dstdt_fixed.txt to solve a warnig by adding : Return(Package(0x02){0x00, 0x00}) in the Method (_WAK, 1, NotSerialized), it seems to work, i have no error and no warnig during the compilation, and the OS boot

this tips was found on the net, so tell me if i'm right :)

Link to comment
Share on other sites

Have tried it yesterday:

 

The patcher generates 43 warnings and 47 optimisations. I copied the file to /, deleted AppleACPI and APIC from my Extra/Extensions folder and rebooted. The system starts up with vanilla .kexts :thumbsup_anim: ... for some reason -which i don´t understand yet- i still need the CPUPMDisabler, if i delete this one also, i get the "package 0 didn´t get an HPET" error.

 

Does this mean it works? Or have i missed something?

Link to comment
Share on other sites

Have tried it yesterday:

 

The patcher generates 43 warnings and 47 optimisations. I copied the file to /, deleted AppleACPI and APIC from my Extra/Extensions folder and rebooted. The system starts up with vanilla .kexts :thumbsup_anim: ... for some reason -which i don´t understand yet- i still need the CPUPMDisabler, if i delete this one also, i get the "package 0 didn´t get an HPET" error.

 

Does this mean it works? Or have i missed something?

 

http://forum.insanelymac.com/index.php?s=&...st&p=947456

 

Version 1.0.1d

-added -newHPET arg, for people still suffering "Package 0 didn't get a HPET" after patching. so you guys drag the Patcher in the Terminal and write -newHPET

Link to comment
Share on other sites

Hi fassl:

Question to PSTATES (used by speedstep like superhais)

 

Some people didnt get any output from:

ioreg -lw0 | grep PerformanceStateArray

So i .

 

Others get such (example):

 

| | "PerformanceStateArray" = (,,,)

Can such an missed entry PerformanceStateArray added / fixed by patching (i use successfull dtds.aml )

Link to comment
Share on other sites

I´m a bit confused about all this. I have chameleon installed (with extensions folder in root) and compiled my dsdt.aml which i copied into /, too. Now, what about the files from within chameleon.zip? How do i use them????

 

Could anybody please be so kind and enlight me ?

 

Cheers

 

Goron

 

 

Unzip "chameleon.zip". Inside, you will find a file called "chameleon". (Just ignore the other files in the zip)

 

In the root of your OS X partition, you should see a file called "boot".

 

You want to make OS X use your new "chameleon" file instead of the existing "boot" file.

 

The easiest way to do this:

 

1. In the root of your OS X partition, rename the "boot" file to "bootOLD".

 

2. Place your "chameleon" file in the root of your OS X partition.

 

3. Rename your "chameleon" file to "boot".

Link to comment
Share on other sites

 Share

×
×
  • Create New...