使用ruri快速构建跨架构chroot容器

打印 上一主题 下一主题

主题 977|帖子 977|积分 2931

在开发过程中,我们偶尔会用到跨架构Linux容器。
ruri全称“轻量型,用户友好的Linux容器实现”,是一个1M左右大小的Linux容器实现,提供了一系列功能选项,致力于成为更增强大且安全的chroot命令更换。
我们以在x86_64体系下运行arm64的Ubuntu容器为例:
确认binfmt_misc支持:
  1. ~$ cat /proc/filesystems | grep binfmt_misc
  2. nodev   binfmt_misc
复制代码
确保能瞥见binfmt_misc的输出,大多体系乃至安卓的GKI内核应该都是支持的。
安装qemu-user-static:
  1. sudo apt install qemu-user-static
复制代码
获取rootfs:

这里使用作者编写的rootfstool脚本:
  1. git clone https://github.com/Moe-hacker/rootfstool
  2. cd rootfstool
  3. ./rootfstool download --mirror bfsu --distro ubuntu --version noble --arch arm64
复制代码
于是我们得到了rootfs.tar.xz
获取ruri二进制:

前往https://github.com/moe-hacker/ruri/releases,下载最新的ruri-x86_64
  1. wget https://github.com/Moe-hacker/ruri/releases/download/v3.3/ruri-x86_64
  2. chmod 777 ruri-x86_64
复制代码
解压rootfs,启动:
  1. mkdir ubuntu-arm64
  2. tar -xvf /path/to/rootfs.tar.xz -C ubuntu-arm64
  3. cp /usr/bin/qemu-aarch64-static ubuntu-arm64/
  4. sudo ./ruri-x86_64 -a aarch64 -q /qemu-aarch64-static ./ubuntu-arm64/
复制代码
配置容器DNS:

最后在容器中:
  1. rm /etc/resolv.conf
  2. echo nameserver 114.114.114.114 > /etc/resolv.conf
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

半亩花草

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表