U-Boot 是一个主要用于嵌 入式系统的引导加载程序,可以支持多种不同的计算机系统结构,包括PPC、ARM、AVR32、MIPS、x86、68k、Nios与MicroBlaze。这也是一套在GNU通用公共许可证之下发布的自由软件。
在上一个章节中,我们直接使用qemu引导启动了Linux内核,这和实际使用开发板时的情况不符,是因为qemu自带bootloader功能,可以直接引导内核。为了更贴近真实使用场景,本节将探讨如何在qemu搭建的虚拟Vexpress-A9开发板内使用U-boot引导和加载Linux内核。
编译安装U-boot
下载并解压U-boot源码
cd /home/workspace
wget https://ftp.denx.de/pub/u-boot/u-boot-2022.07-rc3.tar.bz2
tar -xvf u-boot-2022.07-rc3.tar.bz2
制作automake_arm32.sh自动编译脚本
cd u-boot-2022.07-rc3
vim automake_arm32.sh
# 在automake_arm32.sh中添加下列代码
# !/bin/bash
# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- clean
# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- mrproper
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- vexpress_ca9x4_defconfig O=../objects/u-boot-arm
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig O=../objects/u-boot

U-Boot是用于嵌入式系统的引导加载程序。为贴近真实场景,本文探讨在qemu搭建的虚拟Vexpress - A9开发板内用U-boot引导和加载Linux内核,包括编译安装U-boot、配置主机tftp服务器、试运行U-boot以及固化U-boot环境变量等步骤。
最低0.47元/天 解锁文章
1858





