树莓派编程用什么语言?树莓派运行和编译Java程序

本文同步发布在个人博客:本文主要介绍如何使用 box86 软件在 Raspberry Pi 上运行Linux x86 应用程序box86 是一款用户空间仿真软件,可让你在 ARM 设备(如 Raspberry Pi)上运行 Linux x8

本文同步发布在个人博客:

本文主要介绍如何使用 box86 软件在 Raspberry Pi 上运行Linux x86 应用程序

树莓派编程用什么语言?树莓派运行和编译Java程序box86 是一款用户空间仿真软件,可让你在 ARM 设备(如 Raspberry Pi)上运行 Linux x86 应用程序。

使用这个软件,我们可以在我们的树莓派上运行各种 x86 软件, 比如 Zoom 等应用程序或 World of Goo 等游戏

注意事项

在 Raspberry Pi 上使用box86有一些注意事项:

  • 首先是它只能运行 x86 Linux 32位应用程序。为 64 位编译的软件无法运行
  • 第二是你需要运行 32 位系统。box86 的设计方式是将典型的 x86 调用转换为 32 位 ARM 调用
  • 无法使用 box86 直接运行 Windows 应用程序,可以考虑 Box86 + wine + win app的形式

Box86 的最佳功能之一是它支持动态重新编译(DynaRec)。顾名思义,动态重新编译获取指令并主动将它们重新编译为优化的 ARM 指令。

相比之下,解释器会将 x86 指令映射到 ARM 等效指令,而不考虑结果的优化程度。

在 box86 下,DynaRec 功能模拟器运行软件的速度比其解释器的速度快 5 到 10 倍。

准备工作

在我们将 x86 模拟器编译到我们的 Raspberry Pi 之前,我们需要做一些准备工作。在 Raspberry Pi 上编译 box86 需要一些当前可能未安装在系统上的软件包。以下测试基于Raspberry Pi OS

  1. 首先更新操作系统。

sudo apt updatesudo apt full-upgrade

  1. 安装编译 box86 所需的所有软件包。

sudo apt install git build-essential cmake

build-essential软件包包含编译器,以及我们在Raspberry Pi 上编译 box86 所需要的其它模块cmake用于生成构建文件

  1. 下载代码

git clone --branch "v0.2.2" https://github.com/ptitSeb/box86

或者,你可以使用以下命令将最新版本的 Box86 源代码克隆到你的 Raspberry Pi。

git clone https://github.com/ptitSeb/box86

64 位操作系统的额外步骤

如果你使用 32 位操作系统的话直接跳到下一步64 位系统需要执行一些额外的操作

  1. 我们需要添加 32 位 ARM (armhf) 作为 Raspberry Pi 操作系统的潜在架构。

sudodpkg --add-architecture armhfsudoapt update

  1. 安装 Box86 在多架构系统(在我们的例子中是 ARM64)上运行所需的所有包。

sudoaptinstallgcc-arm-linux-gnueabihflibc6:armhflibncurses5:armhflibstdc++6:armhf

在树莓派上编译 x86 模拟器

现在可以编译 box86 了

1. 切换到 box86 代码目录

cd ~/box86

2. 创建一个额外的目录,编译器将在其中存储 box86 构建。

mkdirbuildcdbuild

3. 使用cmake 准备编译

注意此命令在 Raspberry Pi 2、3 或 4 编译 x86 模拟器方面略有不同

在 Raspberry Pi 4 上生成 Makefile

如果你在 32 位操作系统上运行它,请使用以下命令。

cmake .. -DRPI4=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

你也可以使用以下命令在 64 位操作系统上编译此软件。

cmake .. -DRPI4ARM64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

在 Raspberry Pi 3 上使用 CMake 命令

cmake .. -DRPI3=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

树莓派 2 的 CMake 命令

cmake .. -DRPI2=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

虽然 box86 确实支持 Raspberry Pi 1 和 Zero,但由于缺乏对动态重新编译器的支持,因此不建议尝试

4. 生成 makefile

make -j$(nproc)

我们使用“ -j”参数告诉编译器使用多个处理器来编译软件。使用“ $(nproc)”,会自动将处理器拥有的内核数量**到命令中。

5.编译器完成后安装*ox86 模拟器

运行以下命令安装Box86

sudo make install

6.重启systemd-binfmt服务

安装 box86 后重新启动服务可以让它知道它现在可以支持的其他二进制格式。

sudo systemctl restart systemd-binfmt

如果运行此命令时遇到错误,请尝试重新启动Raspberry Pi:

sudo reboot

在 Raspberry Pi 上使用 box86 运行应用程序

此处TeamSpeak 服务器测试Box86,因为它仅适用于 x86 版本的 Linux,并且是免费提供的

1.回到主目录后,下载 TeamSpeak并解压缩

cd~wget https://files.teamspeak-services.com/releases/server/3.13.3/teamspeak3-server_linux_x86-3.13.3.tar.bz2tar -xvpf teamspeak3-server_linux_x86-3.13.3.tar.bz2

2. 运行TeamSpeak

cdteamspeak3-server_linux_x86touch.ts3server_license_accepted./ts3server

Box86 的神奇之处在于,你无需使用任何其他命令即可在 Raspberry Pi 上运行 x86 软件。box86 配置为自动检测 x86 应用程序运行并从接管,神奇吧?

3. 当你在 Raspberry Pi 的命令行上运行 x86 软件时,你应该会看到出现以下文本。

Box86withDynarecv0.2.1ddd4d37abuiltonFeb 26 2021 05:11:18

这段文字表示box86现在负责仿真软件。

结论

box86 模拟器是一款功能强大的软件,可以以不错的速度运行大量软件

以上就是小编给大家带来的关于'树莓派编程用什么语言?树莓派运行和编译Java程序'的探讨分享,希望大家通过阅读小编的文章之后能够有所收获!如果大家觉得小编的文章不错的话,可以多多分享给有需要的人。

版权:本文由用户自行上传,观点仅代表作者本人,本站仅供存储服务。如有侵权,请联系管理员,了解详情>>

发布
问题