site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=Yk3J6Cb6tEQR4o+IwPunDmT0P308tmzRRcxDPoI+CkY=; b=wZUB0Wfi7QMimtg5R4HV1ns4mlLW0r+p3DRmuo++zs7sB/j7q76OGYdUuRcdPSCIHW 9ZSOsiMCOsSAPW+5asymgVw3x7kduB484FDXmr5yNNz5gYaIebsx6vzS9ol3iokFvmsi 3XL1j5ZGWt3Tw7wrdUwvbk0o6d0104nPHZDEI= Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=XGNg9qDlRWs26BFm5DcLTBfkU3tU9marfP56g2jd5jlgbY6AjTSOnNyZ9JoZxXxZWy c4W/dLMoAaGGkyJgI/cxyg5KcSVlTOZ5FFqa99Z9UJ0asDsCu+n0J8z9OT76PCa1Ug6b W0v3gldUOhYCmfur02AgSvzEqjqDBo08jPGjY= I neglected to mention that I've only used this approach on Snow Leopard. When using it on Leopard, I did run into one or two issues. I'll setup a Leopard machine tonight to verify if it works or not. I'd suggest placing the symbol kext inside of your real kext (Contents/PlugIns/MissyingSymbols.kext) rather than placing it in System.kext. I'd also suggest that you don't use com.apple.kpi for the bundle identifier, use your own identifier for this. On Snow Leopard (not sure about leopard), kextstat does report the com.apple.kpi.* and com.apple.kernel.* kexts. When I load the symbol kext it also shows up. If you want to test a kext on Leopard that I know works perfectly on Snow Leopard using this method, this (http://dl.dropbox.com/u/863180/wineHelper.kext.zip) should work, however I haven't tested it on Leopard. This kext just modifies the _execsw variable to cause the kernel to load wine when an .exe file is run. Evan Lojewski On Wed, Jul 14, 2010 at 6:21 AM, Platon Fomichev <pfomichev@elverils.com> wrote:
Dear Evan
I tried your approach (Leopard 10.5.8) and indeed it sounds like a salvation. Alas it does not work. I will show my progress:
1) Created a 'symbol' kext that has several exports. Placed it into PlugIns, touched the 'Extensions' and tried to load it.
iMac:Development stauff$ sudo kextload /System/Library/Extensions/System.kext/PlugIns/MissingSymbols.kext/ extension /System/Library/Extensions/System.kext/PlugIns/MissingSymbols.kext/ is a kernel component
After reboot it does not show up in kextstat, and probably won't as I haven't found any traces of system loading PlugIns module, they are hardcoded into KernelConfigTables.cpp
2) Created a 'real' kext that links against 'symbol' kext. Tried loading it. Here is a log:
kextload: mapping module file /System/Library/Extensions/System.kext/PlugIns/System6.0.kext/kernel.6.0 kextload: module file /System/Library/Extensions/System.kext/PlugIns/System6.0.kext/kernel.6.0 is already mapped kextload: mapping module file /System/Library/Extensions/System.kext/PlugIns/MissingSymbols.kext/MissingSymbols <-------- Here is symbol kext kextload: module file /System/Library/Extensions/System.kext/PlugIns/MissingSymbols.kext/MissingSymbols is already mapped kextload: mapping module file /System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext/BSDKernel kextload: module file /System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext/BSDKernel is already mapped kextload: mapping module file /System/Library/Extensions/System.kext/PlugIns/Unsupported.kext/Unsupported kextload: module file /System/Library/Extensions/System.kext/PlugIns/Unsupported.kext/Unsupported is already mapped kextload: mapping module file /System/Library/Extensions/System.kext/PlugIns/Libkern.kext/Libkern kextload: module file /System/Library/Extensions/System.kext/PlugIns/Libkern.kext/Libkern is already mapped kextload: mapping module file /Users/stauff/cvs/wm/client/osx/build/Development/testnke.kext/Contents/MacOS/testnke kextload: module file /Users/stauff/cvs/wm/client/osx/build/Development/testnke.kext/Contents/MacOS/testnke is already mapped kextload: patching C++ code in module /Users/stauff/cvs/wm/client/osx/build/Development/testnke.kext/Contents/MacOS/testnke kextload: link/loading file /System/Library/Extensions/System.kext/PlugIns/System6.0.kext/kernel.6.0 kextload: link/loading file /System/Library/Extensions/System.kext/PlugIns/MissingSymbols.kext/MissingSymbols <--- It is even loading kextload: link/loading file /System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext/BSDKernel kextload: link/loading file /System/Library/Extensions/System.kext/PlugIns/Unsupported.kext/Unsupported kextload: link/loading file /System/Library/Extensions/System.kext/PlugIns/Libkern.kext/Libkern kextload: opaque link for /Users/stauff/cvs/wm/client/osx/build/Development/testnke.kext/Contents/MacOS/testnke kextload: link/loading file /Users/stauff/cvs/wm/client/osx/build/Development/testnke.kext/Contents/MacOS/testnke kextload: allocated 28672 bytes in kernel space at 0x41679000 kextload: using load address of 0x41679000 kextload: kmod name: com.aep.kext.idprint kextload: kmod start @ 0x4167eeee (offset 0x52ae) kextload: kmod stop @ 0x4167ef02 (offset 0x52c2) kextload: module com.aep.kext.idprint created as # 114 at address 0x41679000, size 28672 kextload: adding reference from com.aep.kext.idprint (114) to com.apple.kpi.libkern (5) kextload: adding reference from com.aep.kext.idprint (114) to com.apple.kpi.unsupported (7) kextload: adding reference from com.aep.kext.idprint (114) to com.apple.kpi.bsd (2) kextload: adding reference from com.aep.kext.idprint (114) to com.apple.kpi.missingsymbols (0) <--- bad sign?? ID of missing symbols is zero kextload: kmod retain failed for com.aep.kext.idprint; destroying kmod kextload: a link/load error occured for kernel extension testnke.kext/ kextload: clearing all version/dependency relationships among kernel extensions link/load failed for extension testnke.kext/ (run kextload with -t for diagnostic output)
What am I doing wrong, please advise.
Best regards, Platon
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/meklort%40gmail.com
This email sent to meklort@gmail.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com