Re: sub-KEXT question
Re: sub-KEXT question
- Subject: Re: sub-KEXT question
- From: Nik Gervae <email@hidden>
- Date: Mon, 9 Feb 2009 14:55:21 -0800
Ah, now we've gotten to the nut of the matter. The new compiler suite is inserting an LC_UUID into the Mach-O. This has nothing to do with the headers you're building the kext against, but the version of the dev tools themselves.
It looks like this sample needs to be updated to add the -no_uuid option to the build line. I couldn't find a technote on the matter, but here's something from the mailing lists. Your Google mileage may vary.
http://lists.apple.com/archives/Xcode-users/2008/Mar/msg00790.html
Please do file a bug as instructed in the sample's readme file.
--Nik
On 09 Feb, 2009, at 14:43, Kevin Brock wrote: kld(): /System/Library/Extensions/SimpleDriver.kext/Contents/PlugIns/SimpleDriver_10_4.kext/Contents/MacOS/SimpleDriver_10_4 load command 2 unknown cmd field The unknown command is LC_UUID, which is only defined in the 10.5 SDKs. The base SDK and the deployment target are both set to OS X 10.4, so why would it be getting headers from the 10.5 SDK instead of the 10.4u SDK? Kevin On 09 Feb, 2009, at 14:33, Kevin Brock wrote:
Nik Gervae wrote: My apologies. I thought your problem was that you were expecting the plugin to load on 10.4 by running kextload on the containing kext. That is not the case; kextload only tries to load the kext(s) named. You didn't specify the exact command line used, or whether you installed and sighupped kextd/restarted to have the driver(s) loaded by kextd.
I used the lines from the readme, which were: > sudo touch /System/Library/Extensions> sudo killall -HUP kextdThe 10.5 kext will not load on 10.4 because of the OSBundleLibraries declarations, so the messages about a compatible version of the com.apple.kpi.* dependencies are expected in either case (even if kextd does successfuly load the 10.4-targeted kext). If the 10.4-targeted plugin is not getting loaded by kextd, then it looks like there is a bug.
Yes. The Sample contains a pre-built binary, which gets the same errors. When doing touch/killall: Feb 9 13:45:55 Orlando kextd[331]: kld_load_from_memory() failed for module /System/Library/Extensions/SimpleDriver.kext/Contents/PlugIns/SimpleDriver_10_4.kext/Contents/MacOS/SimpleDriver_10_4 Feb 9 13:45:55 Orlando kextd[331]: a link/load error occured for kernel extension /System/Library/Extensions/SimpleDriver.kext/Contents/PlugIns/SimpleDriver_10_4.kext
When I try to explicitly load the 10.4 version: > sudo kextload -t /System/Library/Extensions/SimpleDriver.kext/Contents/PlugIns/SimpleDriver_10_4.kextI get this: orlando:~ brock$ sudo kextload -t /System/Library/Extensions/SimpleDriver.kext/Contents/PlugIns/SimpleDriver_10_4.kext/ kextload: extension /System/Library/Extensions/SimpleDriver.kext/Contents/PlugIns/SimpleDriver_10_4.kext/ appears to be valid kextload: notice: extension /System/Library/Extensions/SimpleDriver.kext/Contents/PlugIns/SimpleDriver_10_4.kext/ has debug properties set kld(): /System/Library/Extensions/SimpleDriver.kext/Contents/PlugIns/SimpleDriver_10_4.kext/Contents/MacOS/SimpleDriver_10_4 load command 2 unknown cmd field kextload: kld_load_from_memory() failed for module /System/Library/Extensions/SimpleDriver.kext/Contents/PlugIns/SimpleDriver_10_4.kext/Contents/MacOS/SimpleDriver_10_4 kextload: a link/load error occured for kernel extension /System/Library/Extensions/SimpleDriver.kext/Contents/PlugIns/SimpleDriver_10_4.kext/ load failed for extension /System/Library/Extensions/SimpleDriver.kext/Contents/PlugIns/SimpleDriver_10_4.kext/ (run kextload with -t for diagnostic output)
Kevin
|
_______________________________________________
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