答案1
Box86和 Box64 是可用于在 ARM 中运行传统 x86 应用程序的模拟器。
以下是如何安装 Box64,以便您能够运行amd64
二进制文件arm64
(请注意,您无法通过这种方式安装 amd64 .deb 文件。.deb 文件不是这样设计的。但是,您仍然可以从 .deb 文件中提取二进制文件并运行它。)。这些说明基于本指南。
首先,安装git
必要的编译器,用git下载源码,并进入源码目录。
sudo apt install git build-essential cmake
git clone https://github.com/ptitSeb/box64.git
cd ~/box64
现在创建一个名为build的目录,并makefile
使用cmake生成。
mkdir build
cd build
cmake .. -DRPI4ARM64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo
现在使用所有可用的核心进行编译。
make -j$(nproc)
现在安装编译好的软件
sudo make install
现在重新启动systemd-binfmt
服务。
sudo systemctl restart systemd-binfmt
最后,重新启动计算机。
现在,您应该能够运行针对该amd64
架构编译的二进制文件。
不过,arm64
VSCode 的原生版本在其官方网站,你不需要模仿它。
许多 Linux 软件尚不支持 ARM……
你似乎被误导了。由于存储库中的大多数软件都是免费和开源的,因此它们已经编译完毕,可以随时用于 ARM。根据https://debian.pkgs.org/,arm64
Debian Sid 的存储库有 62542 个软件包,而amd64
存储库有 63568 个软件包(截至 2021 年 11 月 18 日)。人们通常使用 box64 来模拟为 Windows 创建的专有软件。
答案2
Qemu 用户模拟提供了一种非常好的方式来无缝运行来自其他架构的程序。不过,我没有使用图形程序的实际经验,所以这方面可能有点问题。
它还通过注册外部架构与 apt/dpkg 集成。
答案3
我在 Ubuntu Server 上遇到了同样的问题,并收到以下错误:
-bash: /usr/bin/my-script: cannot execute binary file: Exec format error
我找到了在 arm CPU 上运行 x86-64 文件的通用解决方案。运行以下代码可修复此问题:
sudo apt update
sudo apt install -y qemu-user-static binfmt-support
sudo dpkg --add-architecture amd64
sudo apt update
sudo apt install libc6:amd64