I am interested to know about the possibility of running old ARM32-Linux programs on AARCH64-Linux machines, and I did some experiments:
- write the program "Hello, World!" and compile it statically with arm-none-linux-gnueabi-gcc and aarch64-linux-gnu-gcc.
- statically create and create ramdisk using busybox and aarch64 compiler.
- put 2 "Hello, World!" (in ARM32 and AARCH64) in ramdisk.
- create a simple AARCH64-Linux kernel with vexpress_defconfig and the aarch64 compiler.
- start the kernel and ramdisk with qemu-system-aarch64.
(All binaries, including busybox in ramdisk, are statically compiled.)
Result:
- "Hello World!" AARCH64 program was successfully executed.
- "Hello World!" a program in ARM32 cannot be started, but displays messages:
line 1: syntax error: unexpected word (pending ")")
Is there any suggestion or experience to solve the problem above?
source share