hey sir,
I recently made a kext which creates an
IOBlockStorageDriver. The program compiled with no errors and created a
kext . However, when i try to load it, it says this :
kld(): Undefined symbols:
__ZN21IOBlockStorageDriver111requestIdleEv
__ZN21IOBlockStorageDriver114breakUpRequestEyP18IOMemoryDescriptor19IOStorageCompletionPNS_7ContextE
__ZN21IOBlockStorageDriver114prepareRequestEyP18IOMemoryDescriptorP19IOStorageAttributesP19IOStorageCompletion
__ZN21IOBlockStorageDriver17discardEP9IOServiceyy
kextload: kld_load_from_memory() failed for module /private/tmp/member.kext/Contents/MacOS/member
kextload: a link/load error occured for kernel extension member.kext
link/load failed for extension member.kext
(run kextload with -t for diagnostic output)
can anyone help me in conquering this problem, any help would be appreciated.
P.S : my info.plist file is this :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "
http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.Mycompany.driver.MyDriver.${PRODUCT_NAME:identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.0d1</string>
<key>IOKitPersonalities</key>
<dict>
<key>member</key>
<dict>
<key>IOMatchCategory</key>
<string>IOBlockStorageDriver1</string>
<key>IOProviderClass</key>
<string>IOBlockStorageDevice</string>
<key>IOClass</key>
<string>IOBlockStorageDriver1</string>
<key>CFBundleIdentifier</key>
<string>com.Mycompany.driver.MyDriver</string>
</dict>
</dict>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kpi.unsupported</key>
<string>9.0.0</string>
<key>com.apple.kpi.mach</key>
<string>9.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>9.0.0</string>
<key>com.apple.kpi.iokit</key>
<string>9.0.0</string>
<key>com.apple.iokit.IOStorageFamily</key>
<string>1.5.2</string>
</dict>
</dict>
</plist>