在Linux上运行最早的二进制文件?
在关于Linux内核和GUI ABI的向后兼容性的讨论中,Alan Cox指出:“ 我的3.6rc内核仍将运行1992年构建的Rogue二进制文件。X向后兼容比Linux早得多的应用程序。 ” 那么Linux 应用程序二进制接口到底向后兼容吗? 什么是几年前实际编写和编译的最旧的二进制可执行文件,仍然可以在现代的通用Linux发行版上运行? 我确定所有这些词都可以解释。我的主要观点是,通过仿真器或专用虚拟机或二进制转换器运行它是不公平的,但是某些此类内容可能已内置在一些现代发行版中,在这里进行学习是有趣的一部分。 还需要关注硬件体系结构,可执行文件格式,语言和主要库动态加载依存关系的变化。 请注意,放宽规则后,这里有一个更进一步的示例。2002年的网页在现代Red Hat Linux上运行a.out可执行文件讨论了在完成 并获得之后使用非常老的Linux之前的ELF a.out格式的可执行文件,这 再次引起了这个问题的兴趣,但它说明了这类事情进一步挖掘时可能会涉及到。modprobe binfmt_aout/lib/ld.solibc.so.4 为您的BSD粉丝提供更新,很高兴看到iBCS2支持旧的Xenix应用程序(例如1990年的zork / dungeon-2.5.6)和SCO OpenServer 5.0.x应用程序以及最近的NetBSD 4.0.1(来自2008年):iBCS2和NetBSD | 虚拟化的乐趣。但是同一件事在NetBSD 5.0.x中似乎坏了。 更新2:一年后,即使获得了此问题的“播音员”徽章,我仍在寻找答案。而且要澄清的是,由于这是关于API的,因此它应该是“真实的”二进制文件(长度不为零),至少仍然大部分以原始方式工作。