我正在尝试在macOS Sierra上加载kext。但是会发生错误。请有人帮助我。
1.
禁用SIP。
2.
kext开发者模式。
3.使用xcode构建kext。
4.
5.
/System/Library/Extensions/test.kext无法加载 - (libkern / kext)验证失败(plist / executable);检查系统/内核日志是否有错误或尝试kextutil(8)。
6.
...代码签名失败:代码签名无效
如果您开始使用kext dev,请不要将您的kext放在Library / Extensions文件夹中,因为如果您的kext出现问题并且阻止您的操作系统启动,这可能会导致灾难。您可以从Library / Extensions以外的任何位置加载它。
除非启用了csrutils的明显错误,否则应加载kext。就像评论中的某个人说的那样,通过使用csrutil status
检查你是否启用了SIP。如果没有,我猜你的项目中有一个错误的plist。请张贴您的plist,以便我可以看看。
参考你的2.从sierra开始nvram
将不起作用,除非你处于恢复模式。
如果你禁用了csrutil,你会看到
kext signature failure override allowing invalid signature -67050 0xFFFFFFFFFFFEFA16 for kext
在您的代码签名失败提示后,然后成功加载您的kext。
关于步骤#2,according to Apple,
从macOS El Capitan开始,kext-dev-mode boot-arg现在已经过时了。
$ sudo nvram boot-args="kext-dev-mode=1" # Has No Effect
您只需在此授权列表中添加Oracle编辑器即可。在恢复模式下重启mac(cmd + R)
然后打开终端并输入:
spctl kext-consent add VB5E2TV963
重启你的mac。 Mojave和Virtual Box 6对我很好。