整体步骤参考:https://www.rocketboards.org/foswiki/Documentation/BuildingBootloaderForAgilex5

开发环境可以是PC (参考:使用Rufus制作UBUNTU 22.04.5的U盘启动盘 和 如何通过U盘启动盘在PC上安装ubuntu-22.04.5),也可以是Windows WLS(参考:如何在Windows系统上安装WSL(Windows Subsystem for Linux))。

在Ubuntu系统上安装必要的库:

sudo apt-get update
sudo apt-get upgrade
sudo apt install make bison flex python3-dev libssl-dev swig
sudo apt install u-boot-tools
sudo apt install qemu-user-static
sudo apt install git
sudo apt install build-essential

创建top文件夹:

mkdir ATUM_A5_V1.2.sdmmc
cd ATUM_A5_V1.2.sdmmc
export TOP_FOLDER=`pwd`

 

按照以下步骤下载并设置工具链:

cd $TOP_FOLDER
wget https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel\
/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu.tar.xz
tar xf gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu.tar.xz
rm -f gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu.tar.xz
export PATH=`pwd`/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu/bin:$PATH
export ARCH=arm64
export CROSS_COMPILE=aarch64-none-linux-gnu-

构建 Arm 可信固件:

cd $TOP_FOLDER
rm -rf arm-trusted-firmware
git clone -b QPDS24.1_REL_AGILEX5_GSRD_PR https://github.com/altera-opensource/arm-trusted-firmware arm-trusted-firmware
cd arm-trusted-firmware
make -j $(nproc) PLAT=agilex5 bl31 
cd ..

这时会产生如下文件

$TOP_FOLDER/arm-trusted-firmware/build/agilex5/release/bl31.bin (to used for u-boot.itb generation)