在OS X下运行Linux二进制文件

时间:2014-04-25 18:40:10

标签: linux macos interop compatibility

是否可以在OS X中创建Linux兼容层?

有人创建了xbinary,它本质上是binfmt_misc的OS X端口作为kext,在这里:http://www.osxbook.com/software/xbinary/。从这个想法延伸出来,我猜测是否有可能在OS X中创建一个Linux兼容层:

  • xbinary显然是内核接受ELF的原因。遇到ELF时......
  • 启动ld-linux.so本身为Mach-O二进制文件的端口,加载ELF库(在某种程度上也可以使用Mach-O库)。
  • 捕获Linux系统调用(int 80hx86系统上的amd64)并将其转换为内核中相应的OS X系统调用的另一个kext,或者让ld-linux.so替换所有在另一个库中使用小函数调用的系统调用,用于在userland中对它们进行转换。

1 个答案:

答案 0 :(得分:-1)

我认为这是不可能的,因为Mac与Linux具有不同的结构。