Fwd: Upgrading a ROM based KEXT
Fwd: Upgrading a ROM based KEXT
- Subject: Fwd: Upgrading a ROM based KEXT
- From: "Satyam Lad" <email@hidden>
- Date: Mon, 30 Oct 2006 10:17:19 +0530
---------- Forwarded message ----------
From: Satyam Lad <email@hidden>
Date: Oct 28, 2006 1:44 PM
Subject: Re: Upgrading a ROM based KEXT
To: Dean Reece <email@hidden>
Hi Dean,
Yes my new KEXT which is in the " /S/L/E/ " folder gets loaded in safe boot.
I think that my new KEXT is not getting cached but the KEXT from the ROM is getting cached.
What can be the possible reasons for a KEXT from /S/L/E/ not getting cached when a lower version of driver is present in the cards ROM?
I have seen version.plist in almost all systems default KEXT's in /S/L/E/ folder, but this version.plist is not present in my KEXT. What is the use of version.plist? Is this affecting in my case?
Is it that we are missing something in our info.plist file:
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>myProduct</string>
<key>CFBundleIdentifier</key>
<string>com.myCompany.driver.myProduct</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>2.0</string>
<key>IOKitPersonalities</key>
<dict>
<key>
myProduct</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.
myCompany.driver.myProduct</string>
<key>IOClass</key>
<string>
myProduct</string>
<key>IONameMatch</key>
<array>
<string>myCard</string>
</array>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
</dict>
</dict>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOATAFamily</key>
<string>1.0b1</string>
<key>com.apple.iokit.IOPCIFamily</key>
<string>1.0b1
</string>
<key>com.apple.kernel.iokit</key>
<string>1.0b1</string>
<key>com.apple.kernel.libkern</key>
<string>1.0b1</string>
</dict>
<key>OSBundleRequired</key>
<string>Local-Root</string>
</dict>
</plist>
PLEASE COMMENT.
Are there any other parameters to be set to increase the probe score?
-Satyam.
On Oct 27, 2006, at 12:27 PM, Michael Smith wrote:
> On Oct 27, 2006, at 11:20 AM, Satyam Lad wrote:
>> The probe score will always be the same as the info.plist is the
>> same for both the KEXT's.
>> The only difference in both the KEXT (in terms of info.plist) is
>> of "CFBundleVersion" property. The new KEXT has a higher number
>> then the older (ROM) KEXT.
>
> This won't achieve your desired goal; version numbers are not
> considered when matching, only the probe score counts.
>
> If you want the kext to win vs. the ROM, you need to ensure the
> kext has a higher probe score.
Actually, that true only if the two kexts have different
CFBundleIdentifiers. The way it is *supposed* to work in this case
is as Satyam is attempting The kext managmenet system will collect
all the versions it can find for any given CFBundleIdentifier and
attempt to use the latest version.
The fact that it is working as expected on the first reboot tells me
that he has it mostly working correctly. The fact the subsequent
reboots use the ROM kext indicates that perhaps his newer kext isn't
getting included in the kext cache.
What happens if you safe boot (hold the shift key down), which
bypasses the caches and goes back to scanning for individual kexts.
Does it get the newer kext then?
Cheers,
- Dean
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden