本次在ubuntu上对U-Boot进行实际编译。
因为是新安装的ubuntu用于本次活动,所以需要先在ubuntu上安装gcc编译器:sudo apt install gcc-arm-linux-gnueabihf
清理U-Boot源码:make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm distclean
再查看U-Boot源码文件夹,目前没有MLO和u-boot.img文件
接着利用U-Boot源码中的“configs/am335x_evm_defconfig”文件对U-Boot编译选项进行配置,并保存编译选项配置信息至当前目录新生成的.config文件中。
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_evm_defconfig
启动menuconfig配置界面,根据需要进行配置后保存即可
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
编译U-Boot: make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j 4
编译完成后在U-Boot源码根目录下生成U-Boot镜像文件MLO、u-boot.img(如下图所示)。U-Boot启动过程可以分第一阶段和第二阶段,其中MLO是启动第一阶段镜像文件,u-boot.img是启动第二阶段镜像文件,在上一节的 《Linux内核深度解析》 U-Boot程序之程序启动流程简介及SPL阶段芯片配置 已经进行过简单介绍 :https://bbs.eeworld.com.cn/thread-1302342-1-1.html。