最近在看一些uboot相关的内容,有一些疑惑,但是暂时我又没有硬件板子,我就准备用QEMU模拟调试。
uboot(universal bootloader)是一种可以用于多种嵌入式CPU得BootLoader程序,换言之,uboot是bootloader的一个子集
Win10 + WSL2 (ubuntu 20.04) Win10安装QEMU,WSL2用来编译uboot镜像
git clone https://github.com/u-boot/u-boot
因为我要编译arm64,所以用这个指令,缺少的工具链,请自行安装sudo apt-get install gcc-aarch64-linux-gnu
。
export CROSS_COMPILE=aarch64-linux-gnu-
make qemu_arm64_defconfig
make
编译后的uboot代码根目录会有uboot.bin这个二进制程序,也就是uboot镜像了。
window x64 qemu包下载地址:https://qemu.weilnetz.de/w64/
双击安装即可,最重要的是记住安装选项,打开System emulation中的下落项选择需要模拟的系统x86_64,arm,riscv64,riscv32等系统,尽量安装默认,全部勾选即可
把QEMU的安装路径添加到系统的环境变量中。
如果你是单独ubuntu系统,可以参考这个链接https://blog.csdn.net/Q1302182594/article/details/52134673
执行一下命令即可,u-boot.bin
就是编译uboot生成的二进制文件。
qemu-system-aarch64.exe -machine virt -nographic -cpu cortex-a57 -bios u-boot.bin
启动后的界面,类似linux的控制台,我尝试执行了一下ls
接下来你就可以方便的修改调试uboot的代码了,学习uboot的代码挺有意思的。
https://u-boot.readthedocs.io/en/latest/build/index.html https://u-boot.readthedocs.io/en/latest/board/emulation/qemu-arm.html