基于另一个架构修改一个Image

Modify an Image based on another architecture

我想在基于另一种架构(如 x86)的主机中修改映像 (arm64)。

更具体地说:我要修改的镜像是预装的Ubuntu arm64镜像。

我目前执行上述操作的方式,即预安装新软件,是基于 SO 上的另一个主题,即:

不幸的是,一旦你运行宁例如Apt 来自 bash -c 命令。看起来您需要 chroot

中的 binfmt-support

这个问题对我来说感觉很基础,所以我想知道在给定的情况下是否有其他方法可以修改这样的图像。也许使用某物。像 qemu-system 和 docker?

提前致谢!

我发现了一篇很棒的文章,描述了使用 systemd-nspawn 和 qemu-user-static 的方法,请参见此处:https://blog.oddbit.com/post/2016-02-07-systemd-nspawn-for-fun-and-wel/

简而言之:

  1. 在主机上安装 qemu-user-static
  2. 使用 losetup\\boot\)挂载 arm64 映像
  3. systemd-nspawn 进入挂载的根目录和 运行 任何你需要的