前言
由于qemu目前只支持orange pipc单板,也就是H3型号,故我们就拿这个型号做测试
环境搭建
linux主机环境
我这里采用win10 + WSL,且环境用的是openeuler的,在选择服务器类型可以按照自己喜好选择,也就是包安装方式的区别,其他没啥太大区别
传送门
编译环境搭建
传送门
qemu安装
qemu模拟arm单板需要用到qemu模拟arm的包 需要安装如下2个包
qemu-img是我们在做sd卡镜像的时候镜像文件必须要64Mqemu要求,所以如果img不够64M需要用qemu-img工具给他扩大到64M。
sudo yum install qemu-system-aarch64.x86_64
sudo yum install qemu-img.x86_64
镜像文件制作
orangepi h3的uboot等镜像的编译参考传送门
成功编译后制作sd卡启动文件
在uboot 目录下
dd if=spl/sunxi-spl.bin of=img bs=1k seek=8 conv=notrunc
dd if=u-boot.img of=img bs=1k seek=40 ;qemu-img resize -f raw img 64M
qemu运行
qemu-system-aarch64 -machine orangepi-pc -vnc :1 -monitor telnet:127.0.0.1:6666,server,nowait -serial stdio -sd img
可以看出,spl完美运行,uboot没起来是我自己的仓库问题,uboot镜像没有编译成功,仓库是老的用的还是python2,用主线uboot库上的应该就没问题。qemu模拟能进uboot