dxd - dynax driver framework  2721
cross platform open source driver development framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Build Environment

All Platforms

IOKit Kernel Extension Framework

  • 10.7 for 32bit and 64bit Intel kernels and any later for 64bit Intel kernels only
  • XCode 8
    • 7.3 disables earlier SDKs to re-enable earlier SDKs:
      • install Xcode, run and quit. Now Xcode.app can be modified:
      • edit MinimumSDKVersion key value in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist
        sudo plutil -replace MinimumSDKVersion -string "10.6" /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist
  • USB device kext matching: https://developer.apple.com/library/content/qa/qa1076/_index.html
  • Kernel Debug Kit according to the OS of the driver test https://developer.apple.com/download/more/
  • further information about isolating kernel panics: http://developer.apple.com/mac/library/technotes/tn2002/tn2063.html#TNTAG5
  • debugging information: https://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptDebugger/debug_tutorial.html
  • finding Info.plist kext dependencies:
    kextlibs -xml MyDriver.kext
  • working with unsigned kexts with 10.9+
    sudo nvram boot-args="kext-dev-mode=1"
  • disable System Integrity Protection (for debugging)
    • reboot to the Recovery System by restarting your Mac and hold down the Command and R keys at startup.
    • from the Utilities menu, select “Terminal”.
    • type, “csrutil disable” to disable System Integrity Protection, “csrutil enable” to reenable System Integrity Protection.
    • restart your Mac.
  • allowing ptr display from kernel log in 10.11 - 10.11.2
    sudo nvram boot-args="-show_pointers"
  • 10.12+ unified logging
    log show|stream --predicate 'senderImagePath contains "$PRODUCT_NAME"'

WDK - Windows Driver Framework

Two machine kernel debug setup

Build server

  • use an ssh service to connect to your windows build server http://www.freesshd.com
  • install your signing certs under the service "user" - Windows has no strict user concept

tools

CoreAudio server plugin driver

  • Installation
    /Library/Audio/HAL
  • stop CoreAudio Daemon
    sudo launchctl stop /System/Library/LaunchDaemons/com.apple.audio.coreaudiod.plist
  • start CoreAudio Daemon
    sudo launchctl load /System/Library/LaunchDaemons/com.apple.audio.coreaudiod.plist
  • debug CoreAudio Daemon by attaching to coreaudiod as root
    sudo /Applications/Xcode.app/Contents/MacOS/Xcode

CoreMIDI server plugin

  • Installation
    ~/Library/Audio/MIDI Drivers
    /Library/Audio/MIDI Drivers

(c) copyright 2009 dynamic acoustics e.U. generated on Sun May 5 2019

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.