亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

在 x86 上为 arm 构建容器

挑战

为了加快开发速度,我们希望在 x86 硬件上为 AXCF2152 或 AXCF1152 创建基于 ARM 的容器。为此,我们使用了基于 Debian 或 Ubuntu 的虚拟机,在我们的普通 PC 上运行。

我们需要一个模拟器

要在 x86 系统上运行 ARM 二进制代码,我们需要一个允许我们执行此操作的模拟器。

Qemu 是少数可以模拟 ARM 二进制代码并将其编译为 x86 的虚拟机管理程序之一。我们需要做的就是在我们的主机系统上安装 Qemu 并激活模拟器。为 Ubuntu 或 Debian 安装 Qemu:

apt-get update && apt-get install -y --no-install-recommends qemu-user-static binfmt-support
update-binfmts --enable qemu-arm
update-binfmts --display qemu-arm
使用示例

现在要使用 Qemu,我们需要在容器中添加一个扩展,即二进制 /usr/bin/qemu-arm-static .在容器中有几种使用方式。

如果扩展只是暂时需要并且如果它存在于本地,则可以简单地将其传递给容器。为此,需要将必要的二进制文件安装在容器中。

docker run -it --restart always \
    -v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static \
    arm32v7/debian /bin/sh

这将启动容器并跳转到容器中的外壳。现在可以进行所有必要的更改。之后可以通过提交将更改转移到图像。

docker commit ...

对于容器构建,二进制文件必须存在于容器中,有两种方法可以做到这一点。

1. 二进制文件已经可用,Dockerhub 上有为此目的的预制镜像。 https://hub.docker.com/u/multiarch/

2.将二进制文件添加到容器镜像中。示例dockerfile:

From debian:armhf
COPY qemu-arm-static /usr/bin/qemu-arm-static
RUN .....

COPY 行 必须直接作为第二个命令出现在 FROM 之后 .整个过程适用于所有构建工具。

一个容器供所有人使用

如果您在 AXCF3152 上安装 Qemu 扩展,您可以为两个系统(x86 和 ARM)使用相同的容器。关于性能,这应该进行广泛的测试。


工业技术

  1. 十进制数与二进制数
  2. 二进制加法
  3. 负二进制数
  4. 二元减法
  5. 二进制溢出
  6. 布尔简化规则
  7. 二进制计数序列
  8. 二进制加法器
  9. Arm 为 Cortex-M 内核启用自定义指令
  10. 适用于恶劣环境的 PCB
  11. 5G PCB 制造
  12. 使用容器进行多阶段构建