是否可以在 Mac OS X 上使用 Linux USB 驱动程序?

Ada*_*wis 2 linux mac usb drivers macos

我有一个日常使用的 USB 设备,它有 Linux 和 Windows 驱动程序。我想在 Mac OS X 中使用这个设备(意思是不通过虚拟机)。是否可以?请注意,驱动程序似乎包含源。


从自述中编辑系统要求:

  • Linux 2.4 或 2.6
  • 内核编译的系统设置。

Ric*_*lka 5

不。内核接口完全不同。尽管 MacOSX 和 Linux 都是 UNIX 风格的(实际上,Mac OS X 是 100% UNIX 认证的),但它们在体系结构上却大不相同。最好的办法是尝试 VMWare 并使用 VMWare 下的 Linux 实例来尝试访问它。

编辑:我刚刚看到您的编辑,说您有源代码并且不想要 VMWare。我还是会说不。Linux 和 MacOSX 的基础完全不同。除非有人专门为 MacOSX 工作,否则源代码不会“正常工作”。我会检查“#ifdef darwin”或类似内容的来源,它不起作用。您也必须拥有正确的版本 - Apple 在主要版本之间对其内核进行了足够的更改,以至于非常旧的端口可能无法正常工作。

许多年前,有一个让设备驱动程序可以跨平台移植的项目。它被称为UDI 项目。理论是在您的内核中有一个设备驱动程序环境。API 将在所有操作系统中保持一致。设备驱动程序在任何地方都是源代码兼容的,并且在具有相同 ABI(x86、AMD64 等)的机器之间二进制兼容(你想要什么)。我记得达尔文有一个端口,但我认为它在 MacOSX 上比任何东西都更具理论性。

该环境在技术上有效(它实际上是作为 UnixWare 的本机设备驱动程序接口提供的,旧的 DDI 是 UDI 之上的兼容层),但由于人为/政治原因失败了。将SCO/Caldera作为项目的主要推动力并没有多大帮助。对于具有良好驱动程序支持的操作系统(例如 Solaris、Windows)而言,拥有这些驱动程序的内核比没有这些驱动程序的内核更具优势,因此根据定义,唯一的支持来自没有驱动程序的操作系统,并且影响不大. Stallman 也不太喜欢它——二进制兼容性会降低(他假设)为驱动程序提供源代码的可能性。