ubuntu 20.04
VMware Workstation Pro 16
基于qemu(模拟器),vexpress-a9 平台
搭建 u-boot-2022.10 (当前最新版本)
u-boot下载,下载最新稳定版本,当前为 u-boot-2022.10,因为是qemu 模拟器,可以尝试最新u-boot 版本的学习与工程验证
u-boot 下载地址 ftp://ftp.denx.de/pub/u-boot/
arm gcc 交叉编译工具链,这里使用最新的:gcc-linaro-13.0.0-2022.10-x86_64_arm-linux-gnueabihf.tar.xz,下载地址 https://snapshots.linaro.org/gnu-toolchain/13.0-2022.10-1/arm-linux-gnueabihf/
$ sudo apt-get install qemu
$ sudo apt-get install qemu-system
$ qemu-system-arm -M help /* 查看支持的板子的列表 */
u-boot-2022.10 目录, ls configs 查看当前所有的板级支持的Kconfig 默认配置
这里选择 vexpress_ca9x4_defconfig,这个是qemu vexpress-a9 开发板的默认配置
开发板配置命令
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- vexpress_ca9x4_defconfig

编译命令 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
默认编译通过,生成了 u-boot elf 文件, u-boot.bin 二进制文件等

qemu 启动时需要 u-boot 这个 elf 文件,而不是 u-boot.bin 二进制文件
在 u-boot-2022.10 开启 qemu 运行 u-boot

qemu-system-arm -M vexpress-a9 -kernel u-boot --nographic 开启 qemu 进入 u-boot


如需要更新程序,需要退出 qemu u-boot,这里有个快捷键: Ctrl + a 组合键按下,再松开,紧接着再按下 x 键,就可以退出 qemu了。
注意是:Ctrl + a 组合键按下后,要松开,再按下 x 键, 而不是 CTRL + a + x 组合键,我开始 Ctrl + a 按下后,没有松开,再按 x 键,没有退出 qemu

看来 qemu 运行 u-boot 是个比较简单方便的事情,对于学习了解 u-boot,会非常的方便,实际的开发板,需要反复烧写程序,而 qemu 仿真运行,非常高效
研究Linux,需要深入了解 u-boot 的引导流程,前期一些平台无关的验证操作,可以使用 qemu 进行验证
下一篇:SQL优化思路整理