问题是如何在Linux系统上执行aout-format二进制文件(我的意思是旧格式,例如在FreeBSD迁移到ELF之前使用它).是否有可能在没有额外编码的情况下这样做(是否有一些现有的解决方案)?可能它应该是Linux内核的内核模块或补丁的形式.另一种解决方案可以是用户空间启动器(甚至可以是运行时链接器).我搜索过类似的东西,却找不到东西.我还没有检查系统调用接口的区别,如果你对此有一些评论,欢迎你提供它们.
附:我知道为非静态二进制文件编写用户空间启动程序是非常简单的,但问题是关于一些现有的解决方案.
解决方法:
检查内核配置中的CONFIG_BINFMT_AOUT.
如果你的内核有/proc/config.gz:
zgrep CONFIG_BINFMT_AOUT /proc/config.gz
在Ubuntu等上:
grep CONFIG_BINFMT_AOUT /boot/config-$(uname -r)