3 ms·
I wish there would be more guides like this for macOS KEXT development. Easy to read, clean code examples, and quick to get started. I was planning to port a d
by ctas 7y ago
I wish there would be more guides like this for macOS KEXT development. Easy to read, clean code examples, and quick to get started.
I was planning to port a driver for a specific PCI 802.11 NGFF WiFi device from FreeBSD or Linux, but it's really hard to find exhaustive guides on KEXT development, whereas Linux has the amazing guide at https://www.kernel.org/doc/html/latest/driver-api/80211/index.html https://www.kernel.org/doc/html/latest/driver-api/80211/inde....
- yjftsjthsd-h 7y agoI thought Apple was deprecating (3rd party) kernel-mode drivers? Or am I misremembering that?
- pjmlp 7y agoThose exhaustive guides are called books on OS X's case. https://www.amazon.com/Mac-OS-Internals-Approach-paperback/dp/0134426541 https://www.amazon.com/Mac-OS-Internals-Approach-paperback/d... https://www.amazon.com/MacOS-iOS-Internals-User-Mode/dp/099105556X https://www.amazon.com/MacOS-iOS-Internals-User-Mode/dp/0991... https://www.amazon.com/MacOS-iOS-Internals-II-Kernel/dp/0991055578 https://www.amazon.com/MacOS-iOS-Internals-II-Kernel/dp/0991... https://www.amazon.com/MacOS-iOS-Internals-III-Insecurity/dp/0991055535 https://www.amazon.com/MacOS-iOS-Internals-III-Insecurity/dp... https://www.amazon.com/Mac-OS-iOS-Internals-Apples/dp/1118057651 https://www.amazon.com/Mac-OS-iOS-Internals-Apples/dp/111805... However the future leads to userspace extensions, so their usefulness is kind of relative, beyond targeting pre-Catalina versions.
- non-entity 7y agoSame but for Windows. There are a handful of decent, but cursory WDK books / tutorials, and the Windows Internals books, but outside of that the MSDN documentation seems pretty bad. A lot of stuff seems almost contradictory (it probably isnt, but it reads that way) Everytime ove wanted to develop a driver for windows, I get stuck because I cant even figure out what type of driver to use because there are so many possible models and existing stacks to build off of. At least with linux and BSDs I can hop in something like an irc channel when and someone can usually help me.