我很好奇在AARCH64-Linux机器上运行旧的ARM32-Linux程序的可行性,我进行了一些实验:
(所有二进制文件包括ramdisk中的busybox都是静态编译的.)
结果:
第1行:语法错误:意外的单词(期待")")
是否有解决上述问题的建议或专业知识?
我已经在 qemu 64 位 ARM 上安装了 Debian(遵循本教程)
uname -a
Run Code Online (Sandbox Code Playgroud)
Linux 测试 4.9.0-7-arm64 #1 SMP Debian 4.9.110-1 (2018-07-05) aarch64 GNU/Linux
我正在尝试在其上运行 32 位 elf 文件,但有些可以工作,有些则不能:
bash: ./file_2: 无法执行二进制文件: Exec 格式错误
在运行的文件上运行 file 命令,我得到:
file_1:ELF 32 位 LSB 可执行文件,ARM,EABI4 版本 1 (SYSV),静态链接,未剥离
以及不运行的:
file_2:ELF 32 位 LSB 可执行文件,ARM,版本 1 (ARM),静态链接,已剥离
并且都可以在32位系统上工作(armv7l)
唯一的区别是 SYSV/ARM 版本。
有没有无需重新编译内核的解决方法?(阅读这篇文章)