View Single Post
Old 11-02-2009, 09:05 AM
lancelotu lancelotu is offline
Join Date: Jul 2009
Posts: 58
Originally Posted by night_rider View Post
A vanilla install has meant going from a simple distro to Chameleon bootloader and DSDT patching. I'm pretty happy with the results. Here's where I'm at now:

Asus P5K-e (bios 1202)
2.33 GHz Core 2 Duo
4GB 800MHz DDR2
disabled JMicron ATA in bios

vanilla install
Chameleon install
DSDT patch for: audio, USB, SATA
One of the most important details and the one I always have to ask :
What version of Chameleon are you using ? rc 2 rc3 ?
If you are using other than Chameleon 2.0-RC3 please install this version before you continue reading.

As I've lumbered along I did encounter some things that befuddled me. Here are some residual questions I'd like some feedback on:

1. /Extra/Extension.mkext

My DSDT.aml file would not work for the longest time but as soon as I built an Extensions.mkext I suddenly had sound. Is this a necessity? The Chameleon documentation seems to make it optional.
Here is how this works:
In order to have sound working you need to do 2 things: put a dummy kext called AD1988BFix.kext either in /SnowVolume/Extra/Extensions or SnowVolume/System/Lybrary/Extensions AND add some strings in your DSDT.aml.

You don't have to do a new Extensions.mkext just because you modified something in your DSDT.aml, but because you have added a new kext (AD1988Fix.kext)
That's why your sound started to work after you rebuild your new Extensions.mkext.

About the Extensions.mkext and system extensions.

Extensions.mkext it's a cache of your current set of kexts . Every time you start your"mac", the system will load the extensions from this Extensions.mkext to avoid reading all the kexts and improve the boot time. That's why when you change something in your kexts, add new one(s) or delete some, it's mandatory to let your system know that by either deleting Extensions.mkext and forcing the system to build a new one with your current kext or, my favorite method : booting with -f option. When you boot with -f option the system will read the /Extensions folder, will load the new or modified kexts, if there any and will rebuild the Extensions.mkext.

2. DSDT.aml vs dsdt.aml

Must this be capitalized? Is a specific key entry in necessary? (ex: r(2,1)/Extra/DSDT.aml
NO and NO, just make sure that your dsdt.aml or DSDT.aml is located on the / (root) of your SnowVolume and it will be loaded (if you're using chameleon rc3 you can also put it in /Extra)

3. EFI Strings... um where?

Ok. I used OSX86Tools to get my 7900GS running. Worked fine but everytime I look at /Extra/ my efi strings are not in there. I do a spotlight search for and none of the ones on my hard drive have the strings? What the heck is OSX86Tools patching? Where are my EFI strings? I need to know to uninstall my 7900GS and stick in the new card.

I know it's a stupid question but I just could not find the edit anywhere.
You have two "" one located in /Extra and one located in /SnowVolume/Library/Preferences/SystemConfiguration/

Did you checked both ? Also, if you are using chameleon rc3 you can add

this :

to your and let the bootloader detect your graphic card.

4. Kextcache on EFI partition

Through this process, to protect my OS install, I've experimented on a spare USB drive before implementing a change on my production partition. The only difference between the two is that USB drive has boot and /Extra on the EFI partition.

After I had success with an Extensions.mkext I attempted to create one on my USB EFI partition but got all kinds of ownership errors on the /Extra/Extensions. I never could create the Extensions.mkext there.

I did chmod/chown the EFI contents. I believe the kextcache command went something like:

sudo kextcache -v 1 -t -l -m /Volumes/EFI/Extra/Extensions.mkext /Volumes/EFI/Extra/Extensions

Thanks again for a really great thread. I feel like I can see the finish line.

sudo kextcache -v 1 -t -l -m /Volumes/EFI/Extra/Extensions.mkext /Volumes/EFI/Extra/Extensions will give you a permission error only on those kext that you add or modified isn't it?

You can solve that by moving the kexts that you want to add or modify in


chown and chmod them, repair disk permissions with Disk Utility ( or with terminal since you've just chmod and chowned):

diskutil repairpermissions /Volumes/EFI

and then
sudo kextcache -v 1 -t -l -m /Volumes/EFI/Extra/Extensions.mkext /Volumes/EFI/System/Library/Extensions should work.

OR if you have Chameleon RC3 installed put the kexts in /Extra/Extensions or /System/Library/Extensions and reboot with -f option
Reply With Quote