文章目录
从0开始使用QEMU模拟ARM开发环境系列一览表:
准备:
QEMU安装 参见 上面文章
下载Ubuntu,http://cdimage.ubuntu.com/ubuntu-base/releases/,比如我下载的是 ubuntu-base-16.04.6-base-armhf.tar.gz
# 创建目录
sudo mkdir ubuntu-16.04-rootfs
# 解压到指定目录
sudo tar xvf ubuntu-base-16.04.6-base-armhf.tar.gz -C ubuntu-16.04-rootfs
进入ubuntu-16.04-rootfs根目录,拷贝 qemu-user-static 到 ./usr/bin/
sudo cp /usr/bin/qemu-arm-static ./usr/bin/
如果没有 qemu-user-static ,看是否QEMU安装正确或者直接
sudo apt-get install qemu-user-static
注意:如果主机是Ubuntu 16 或者 18,而定制的根文件系统是基于 Ubuntu 20 的 那么直接拷贝 qemu-user-static 使用会出现如下问题,解决办法 下载 https://download.csdn.net/download/leacock1991/15740544 或者 在使用主机是Ubuntu 20
将本机的dns配置复制到目标rootfs(这里是 ubuntu-16.04-rootfs),用于后面qemu模拟联网用
sudo cp /etc/resolv.conf ./etc/resolv.conf
注意 ./ 前的点.
如果定制的是 Ubuntu 20 根文件系统为了后期能在板子上联网,还要额外对 dns 配置,在 ./etc/systemd/resolved.conf 修改,如下图
将本机的 /etc/apt/sources.list 复制到目标rootfs(这里是 ubuntu-16.04-rootfs)
不能复制,arm使用的其链接不同
修改 ./etc/apt/sources.list 地址为国内源,比如 替换为 mirrors.aliyun.com
挂载相关文件系统并chroot
挂载proc, sys, dev, dev/pts等文件系统。回到ubuntu-16.04-rootfs上层目录创建脚本,并赋予可执行权限
文件 ms.sh
#!/bin/bash