Kext to System Extension migration

In macOS, how to prevent loading kext during macOS upgrade, like from 10.14 to 10.15. where 10.15 is still capable of loading both kext as well as system extension. Is ther any Info.plist key for kext where we can specify max os requirement? Or kext to system extension migration guide would be helpful.


Thanks.

Accepted Reply

What sort of KEXT are you creating? The answer here is very different for different types of KEXTs:

  • I/O Kit KEXT have an automatic loading mechanism which complicates things.

  • Other types of KEXTs, like NKEs, are loading programmatically by your code, and thus you can implement whatever checking you want in that code.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Replies

What sort of KEXT are you creating? The answer here is very different for different types of KEXTs:

  • I/O Kit KEXT have an automatic loading mechanism which complicates things.

  • Other types of KEXTs, like NKEs, are loading programmatically by your code, and thus you can implement whatever checking you want in that code.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Thanks Eskimo, As of now my kext is NKE. I think i can handle. If possible please let me know the steps for I/O Kit as well.

If possible please let me know the steps for I/O Kit as well.

I don’t know, alas (I/O Kit is mostly about drivers, which I’m mostly not).

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"