如何在 x86/x64 Fedora 上运行动态链接的 ARM 二进制文件?

如何在 x86/x64 Fedora 上运行动态链接的 ARM 二进制文件?

我有一些动态链接的 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

相关内容