如何在Linux上运行aout文件?

3
问题是如何在Linux系统上执行aout格式的二进制文件(我指的是旧格式,例如FreeBSD在迁移到ELF之前使用的格式)。是否有可能在不进行额外编码的情况下这样做(是否存在某些现有解决方案)?可能应该采用内核模块或Linux内核补丁的形式。另一种解决方案可能是用户空间启动器(甚至可以是运行时链接器)。我已经搜索了类似的东西,但未能找到。如果您对系统调用接口的差异有任何评论,请随时提供。

P.S. 我知道为aout静态二进制编写用户空间启动器相当简单,但问题是是否存在某些现有解决方案。


当我编译自己的内核时,我记得有一种内核选项可以启用内核中的'aout'二进制格式支持。但是我不知道这个选项是否在此期间被删除了。 - Joachim Sauer
如果您想添加更新或澄清,只需编辑您的问题即可。 - Tim Post
2个回答

5

请检查您的内核配置中是否包含CONFIG_BINFMT_AOUT。

如果您的内核有/proc/config.gz文件:

zgrep CONFIG_BINFMT_AOUT /proc/config.gz

在Ubuntu及其类似系统上:

grep CONFIG_BINFMT_AOUT /boot/config-$(uname -r)

2

内核选项是CONFIG_BINFMT_AOUT,不确定它是否仍然存在或必要。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接