我有一些动态链接的 ARM 二进制文件,根据这一页,我可以安装一些软件包以qemu-user
在我的 x86/x64 Linux 上运行它们。但是,这些是针对 Debian 的说明,而我正在运行 Fedora。我尝试使用、和在线查找合适的软件包dnf
,但尚未找到。
如何在我的 x64 Fedora 33 上运行动态链接的 ARM 二进制文件?
直到现在我才明白这一点:
[bf@localhost src]$ file ../bin/fabs
../bin/fabs: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.0.0, stripped
[bf@localhost src]$ qemu-arm ../bin/fabs -V
/lib/ld-linux.so.2: Invalid ELF image for this architecture
当我运行一个简单的静态链接二进制文件时,它运行良好:
[bf@localhost src]$ file helloworld
helloworld: ELF 32-bit LSB executable, ARM, version 1 (ARM), statically linked, for GNU/Linux 2.0.0, with debug_info, not stripped
[bf@localhost src]$ qemu-arm helloworld
Hello World!
答案1
只需将 SDK 的库目录添加到qemu-arm
:
[bf@localhost qemu]$ qemu-arm -L /usr/local/arm-linux ../bin/fabs -V