kext为10.4 - 10.6

时间:2010-01-21 20:31:56

标签: macos

我有一个带有四个二进制文件的过滤器方案驱动程序,用于10.4 PPC,10.4 i386,10.5& 10.6 i386和10.6 x86_64。我需要将它们全部放入一个kext中。由于两个不同的i386二进制文件,我不认为我可以将它们组合在一起。

如何将它们全部放入相同的kext包中?

2 个答案:

答案 0 :(得分:3)

请参阅Apple的SimpleUserClient示例:您可以为每个操作系统版本使用子密钥。

请注意,您可能需要稍微调整构建设置,因为稍后的ld版本会插入早期内核链接器无法理解的加载命令;请参阅this邮件列表消息(以及周围的线程,如果您需要更多上下文)。

(为什么这个问题标记为“非编程相关”?)

答案 1 :(得分:0)

如果您有四个单独的二进制文件,则无法将它们放入相同的kext包中。您可以通过将一个包放入另一个包的Plugins目录中,将最多两个二进制文件放入一个包中;如果初始驱动程序没有,插件将匹配。但是,如果您的kexts之间没有API更改,您可以使用在10.5和10.6上编译为10.4的kext,或者在10.6上编译为10.5的文本。