存储中华彩票彩网社区 中华彩票彩网. on LinkedIn中华彩票彩网. on Instagram  中华彩票彩网. on YouTube github plcnext社区  存储中华彩票彩网社区

 

 如何创建博客条目

制造商博客
Hits: 304

容器在x86上为手臂构建

挑战


有关更快的开发,我们希望在X86硬件上为AXCF2152或AXCF1152创建基于ARM的容器。为此目的,使用基于Debian或Ubuntu的虚拟机,在我们的普通PC上运行。

 

We need a emulator

 

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

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

 

安装 Qemu for Ubuntu or Debian:
 
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
 

例子  for usage

 

To use Qemu now we need an extension in the container, namely the binary /usr/bin/qemu-arm-static. There are several ways to use it in the container.

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

 

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

 

这启动了容器并跳转到容器中的shell。现在可以进行所有必要的更改。随后可以将更改转移到图像。

docker commit ...

 

对于容器构建,必须在容器中存在二进制文件,有两种方法可以执行此操作。

1.二进制文件已经可用,在DockerHub上有预制图像为此目的。 //hub.docker.com/u/multiarch/

2.将二进制文件添加到容器图像中。

 

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

The line COPY must appear directly as second command after FROM. The whole thing works with all build tools.

 

一个容器  for all

 

如果在AXCF3152上安装QEMU扩展,则可以使用两个系统(X86和ARM)的相同容器。关于他们应该广泛测试的性能。