- Published on
QEMU编译运行u-boot
- Authors
- Name
- JiGu
- @crypto20x
环境
- deepin
安装QEMU
sudo apt install qemu-system-arm
安装交叉编译工具
sudo apt install gcc-arm-linux-gnueabi
或者从https://releases.linaro.org/components/toolchain/binaries/ 下载
编译u-boot
下载
http://ftp.denx.de/pub/u-boot/
wget https://ftp.denx.de/pub/u-boot/u-boot-2024.07.tar.bz2
tar -xf u-boot-2024.07.tar.bz2
编译
cd u-boot/
# 配置编译平台和工具链
export ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
#或 运行make命令的时候指定环境变量。make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm vexpress_ca9x4_defconfig
编译
# 加载板子信息 configs/
make vexpress_ca9x4_defconfig
会生成一个配置好的.config
文件,在uboot的根目录下
出现错误:
YACC scripts/kconfig/zconf.tab.c
/bin/sh: 1: bison: not found
缺少bison程序
sudo apt install bison
出现错误:
YACC scripts/kconfig/zconf.tab.c
LEX scripts/kconfig/zconf.lex.c
/bin/sh: 1: flex: not found
缺少flex程序
sudo apt install flex
LEX scripts/kconfig/zconf.lex.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
#
# configuration written to .config
#
显示这个,则配置完成了。
2线程编译
make -j2
启动
qemu-system-arm -M vexpress-a9 -m 512M -kernel u-boot -nographic -no-reboot
内存要给够512MB,否则会报无法启动uboot
打印这个,则启动成功。