Author Topic: Chameleon 2.0 Extension.mkext loading  (Read 2953 times)

0 Members and 1 Guest are viewing this topic.

parken

  • Entrant
  • Posts: 2
Chameleon 2.0 Extension.mkext loading
« on: October 26, 2009, 03:38:17 PM »
I have two Extensions.mkext: one in /Extra and the "vanila" /System/Lybrary/Extensions.mkext.
/Extra/Extensions.mkext contains some older kexts that are also present in /System/Lybrary/Extensions.mkext, but with a higher version number.
How does Chameleon present this two mkexts to the kernel? Does ignore /System/Lybrary/Extensions.mkext altogether or it does selectively skip older/Extra/Extensions.mkext components?
Tanks in advance for help.

thorazine74

  • Member
  • Posts: 57
Re: Chameleon 2.0 Extension.mkext loading
« Reply #1 on: October 27, 2009, 10:31:59 AM »
If I understand it right all kexts look the same to the kernel, and it chooses the most appropiate according to its matching rules, and higher version kext would always be preferred than lower, so if you need a kext in extra to override another one in s/l/e you would need to bump up its version.
Mac OS X 10.5.6 Retail (Updated to 10.5.7) with Chameleon 2.0 RC1+BootIt NextGen 1.86 (MBR Single Drive)
Gigabyte 73PVM-S2H + C2D + 2 Gb
2 SATA HD (AppleAHCIport.kext) + 1 PATA DVD+RW (DarwinATAPort.kext)
Realtek ALC889 (VoodooHDA.kext)
Geforce 8600GTS (EFI String) PS/2 M & KB: VoodooPS2.kext

parken

  • Entrant
  • Posts: 2
Re: Chameleon 2.0 Extension.mkext loading
« Reply #2 on: October 28, 2009, 04:30:25 PM »
thorazine74, thanks for your answer.
I'm afraid that either the kernel's matching rules are more sophisticated, or Chameleon way of presenting mkexts to the kernel is more selective: my /E/*.mkext carries three kexts that are of a previous version n. than those present in /S/L/*.mkexts (to be precise the AppleIntelGMA950.kext 6.0 vs 6.0.2, the AppleIntelIntegratedFramebuffer.kext 6.0 vs 6.0.2, and the IOATAFamily.kext 2.0.1 vs 2.5).
If I look at what is actually running in my system (with kextstat) what is laded is :
AppleIntelGMA950.kext 6.0
AppleIntelIntegratedFramebuffer.kext 6.0
IOATAFamily.kext 2.5

It might be that the first two have been hacked themselves to override the newer versions (IOATAFamily.kext is genuine Apple's from 10.5.7 and 10.6 respectively), but I would like to know precisely what is Chameleon's behavior for the future updates...