基于另一个架构修改一个Image
Modify an Image based on another architecture
我想在基于另一种架构(如 x86)的主机中修改映像 (arm64)。
更具体地说:我要修改的镜像是预装的Ubuntu arm64镜像。
我目前执行上述操作的方式,即预安装新软件,是基于 SO 上的另一个主题,即:
- 在主机上安装 qemu-user-static
- 复制qemu-aarch64-static到arm64 bin目录下
- 运行 sth 通过 chroot 和复制的模拟器
不幸的是,一旦你运行宁例如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/
简而言之:
- 在主机上安装
qemu-user-static
- 使用
losetup
(\
和 \boot\
)挂载 arm64 映像
systemd-nspawn
进入挂载的根目录和 运行 任何你需要的
我想在基于另一种架构(如 x86)的主机中修改映像 (arm64)。
更具体地说:我要修改的镜像是预装的Ubuntu arm64镜像。
我目前执行上述操作的方式,即预安装新软件,是基于 SO 上的另一个主题,即:
- 在主机上安装 qemu-user-static
- 复制qemu-aarch64-static到arm64 bin目录下
- 运行 sth 通过 chroot 和复制的模拟器
不幸的是,一旦你运行宁例如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/
简而言之:
- 在主机上安装
qemu-user-static
- 使用
losetup
(\
和\boot\
)挂载 arm64 映像 systemd-nspawn
进入挂载的根目录和 运行 任何你需要的