标签: linux gcc arm arm64
我很想知道在AARCH64-Linux机器上运行旧的ARM32-Linux程序的可行性,我进行了一些实验:
(包括ramdisk中busybox的所有二进制文件都是静态编译的。)
结果:
第1行:语法错误:意外的单词(期待“)”)
是否有解决上述问题的建议或专业知识?
答案 0 :(得分:8)
谢谢moonbutt74。您为我提供了寻找该问题解决方案的有用线索。
要在AARCH64内核上启用运行ARM32-Linux程序的支持,应选择内核中的选项:
用户空间二进制格式 --->内核支持32位EL0
运行make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
使用ramdisk和qemu-system-aarch64运行重新编译的内核。
“Hello,World!” (ARM32和AARCH64)中的程序可以成功执行!!