【问题标题】:kext file fails to load after updating to Mac OS X 10.11.2更新到 Mac OS X 10.11.2 后,kext 文件无法加载
【发布时间】:2015-12-16 17:53:54
【问题描述】:

我有一个可以在 Mac OS X 10.11.1 上加载的 kext 文件,但在更新到 Mac OS X 10.11.2 后无法加载。

Mac OS X 10.11.1
执行sudo kextload abc.kext命令成功,执行sudo kextutil -tn abc.kext输出/System/Library/Extensions/ch34xsigned.kext appears to be loadable (including linkage for on-disk libraries).

Mac OS X 10.11.2
执行sudo kextload abc.kext时输出为/System/Library/Extensions/abc.kext failed to load - (libkern/kext) not loadable (reason unspecified); check the system/kernel logs for errors or try kextutil(8).,执行sudo kextutil -tn abc.kext时输出为Code Signing Failure: not code signed /System/Library/Extensions/ch34xsigned.kext appears to be loadable (including linkage for on-disk libraries).

据我了解,与在此版本上签名的驱动程序无关。 此更新中的更改列表包括:

  • 提高 Wi-Fi 可靠性
  • 提高了 Handoff 和 A​​irDrop 的可靠性
  • 修复了可能导致蓝牙设备断开连接的问题
  • 修复了阻止 Mail 删除邮件的问题 离线 Exchange 帐户
  • 修复了阻止导入的问题 使用 USB 数据线将照片从 iPhone 传输到 Mac
  • 改进了实时照片的 iCloud 照片共享

知道出了什么问题吗?

【问题讨论】:

    标签: macos osx-elcapitan codesign kernel-extension driver-signing


    【解决方案1】:

    可能与 CVE-2015-7052 有关;不幸的是,详细信息不公开,来源尚不可用。您最好在 Apple 的论坛或 DTS 上提问。

    但是,我注意到您正在使用 /System/Library/Extensions/ - 因为自 10.19/10.10 以来,此目录不再用于第三方 kext,而且由于 10.11 上的 SIP,实际上通常不可用(您显然有 SIP关闭)尝试 /Library/Extensions 代替。

    【讨论】:

    • 我会试试苹果的论坛。我知道由于 Mac OS X 10.9 第三方 kexts 应该安装在 /Library/Extensions 中,但是,即使它安装在 /System/Library/Extensions 中,kext 也已成功加载到 Mac OS X 10.9、10.10 和 10.11.1 中.我已经检查并且 SIP 在 Mac OS X 10.11.1 和 Mac OS X 10.11.2 上都打开了。如果我在 Mac OS X 10.11.2 上关闭 SIP,kext 也会成功加载。
    • 我意识到它曾经在 10.9 和 10.10 的 /SLE 中工作,并且确实在某些情况下需要使用 /SLE 的某些 kext 缓存错误。但是,由于 SIP,/SLE 在 10.11 上不再可写,并且 /LE 的 kext 缓存错误已修复,因此如果 Apple 检查 kext 的签名是 Apple 自己的 /SLE 签名,我不会感到惊讶。我会尝试 /LE,它可能会解决您的问题。
    • 我将尝试将安装目录更改为 /Library/Extensions 并让您知道它是否有效。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多