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

在 x86 系统上高效构建 ARM 容器

挑战

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

我们需要模拟器

在 x86 系统运行 ARM 二进制代码需要允许此操作的模拟器。

Qemu 是少数能仿真 ARM 二进制代码并为 x86 编译的 hypervisor。只需在宿主系统安装 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

这启动容器并进入容器 Shell。现在可做所有必要更改。之后用 commit 将更改转移到镜像。

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. 极端环境下的坚固PCB:设计、优势与应用
  10. 5G时代PCB制造:趋势与挑战
  11. 利用多阶段容器构建精简部署流程
  12. Arm为Cortex-M内核引入自定义指令支持,拓展架构灵活性