Mavericks boot-args to load unsigned KEXT?

Hi. I am developing a KEXT and I am having a problem testing it under MacOS 10.9.


I have VMWare fusion and I am running MacOS 10.9.5 (13F34). I am trying to load my kernel extension for development testing.


I have used the command:

sudo nvram boot-args= kext-dev-mode=1


and rebooted the virtual machine. When I attempt to load my kernel extension I get an error that says:


Code Signing Failure: code signature is invalid

Error: invalid signature, will not load.


However, the exact same binary does load using the kext-dev-mode=1 boot arguments on 10.10 - including on a VMWare image.


I am wondering if perhaps the boot arg should be different under 10.9 to load my kernel extension, or if I should setup my certificate to do KEXT code signing in order to test under 10.9.


Any advice?


Thanks.

Replies

If I remember correctly, kext-dev-mode was added in Yosemite. If you need to load an unsigned kext in Mavericks, it should be in /System/Library/Extensions/.

The latest security update for Mavericks (OS X 10.9.5 (13F1112)) seems to have become more insistant about drivers being signed.

The modified kexts I was using to support an add-on Radeon graphics card are no longer being loaded at startup, and kextutil reports a signature failure even though they are in /System/Library/Extensions:


sudo kextutil AMD5000Controller.kext

Password:

Diagnostics for /System/Library/Extensions/AMD5000Controller.kext:

Code Signing Failure: code signature is invalid

WARNING - Invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext "/System/Library/Extensions/AMD5000Controller.kext"


Adding sudo nvram boot-args= kext-dev-mode=1 does not seem to help any; perhaps kext signing is required, but the workaround has not been implemented?


How can I load my unsigned kexts in the latest Mavericks?