Docker+QEMU+Arm64(Ubuntu)+环境配置(2022版)
Docker+QEMU+Arm64(Ubuntu)+环境配置(2022版)
把multiarch/qemu-user-static特权提升,就可以在x86_64使用其他架构的镜像
docker run --rm --privileged multiarch/qemu-user-static --reset --persistent yes
测试下arm64的镜像能不能运行
docker run --rm -t arm64v8/ubuntu
OK,成功了,装个neofetch发了个截图到群里
配置源
需要补装一个ca-certificates才能使用https的源
apt install ca-certificates
选用北外源
deb https://mirrors.bfsu.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.bfsu.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.bfsu.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.bfsu.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.bfsu.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.bfsu.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb https://mirrors.bfsu.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src https://mirrors.bfsu.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
配置ssh
设置密码
passwd
开启默认SSH,由于不能使用systemctl,参考下面方案让SSH常驻
docker中安装Ubuntu无法在启动时运行ssh服务的解决方案
结语
看这个仓库好像目前只能x86_64去模拟arm64,而arm64的机子无法模拟x86
Need support for run x86_64 on linux/arm64
我本来是想在Docker里面做Arm64的GDB实验的,但是Docker默认禁用ptrace,而Arm64镜像在QEMU内,不知道怎么一直无法开启GDB,所以不了了之。
如果是模拟整个系统的话,可以参考我之前写的文章: