整体步骤参考: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 // 刷新软件包列表,需要与下面upgrade命令一起使用 sudo apt-get upgrade //将系统中已有的所有软件更新到了从软件源获取到的最新版本 sudo apt install make bison flex python3-dev libssl-dev swig //安装一组开发工具和库 sudo apt install u-boot-tools //安装 U-Boot 工具集 sudo apt install qemu-user-static //安装 QEMU 用户模式静态可执行文件,主要用于在一种 CPU 架构上运行另一种架构的程序 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 //设置交叉编译工具链的环境变量, 将新的路径添加到环境变量PATH中,并且放在原来的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)

如果执行git clone -b QPDS24.1_REL_AGILEX5_GSRD_PR https://github.com/altera-opensource/arm-trusted-firmware arm-trusted-firmware遇到报错,请参考如下:
git clone 命令遇到报错 fatal: unable to access
无
浙公网安备 33010602011771号