我有一个带有四个二进制文件的过滤器方案驱动程序,用于10.4 PPC,10.4 i386,10.5& 10.6 i386和10.6 x86_64。我需要将它们全部放入一个kext中。由于两个不同的i386二进制文件,我不认为我可以将它们组合在一起。
如何将它们全部放入相同的kext包中?
答案 0 :(得分:3)
请参阅Apple的SimpleUserClient示例:您可以为每个操作系统版本使用子密钥。
请注意,您可能需要稍微调整构建设置,因为稍后的ld
版本会插入早期内核链接器无法理解的加载命令;请参阅this邮件列表消息(以及周围的线程,如果您需要更多上下文)。
(为什么这个问题标记为“非编程相关”?)
答案 1 :(得分:0)
如果您有四个单独的二进制文件,则无法将它们放入相同的kext包中。您可以通过将一个包放入另一个包的Plugins目录中,将最多两个二进制文件放入一个包中;如果初始驱动程序没有,插件将匹配。但是,如果您的kexts之间没有API更改,您可以使用在10.5和10.6上编译为10.4的kext,或者在10.6上编译为10.5的文本。