Intel Agilex® 7 ハード・プロセッサー・システム (HPS) のリモート・システム・アップデート・ユーザーガイド

ID 683184
日付 6/09/2023
Public
ドキュメント目次

7.1.5. U-Boot の構築

次のコマンドを使用して、U-Boot ソース コードを取得してコンパイルできます。
cd $TOP_FOLDER
rm -rf u-boot-socfpga
git clone https://github.com/altera-opensource/u-boot-socfpga
cd u-boot-socfpga
# comment out next line to use the latest default branch
# git chekcout -b test -t origin/socfpga_v2021.10
# Define mmc/sdcard as boot path for sbl->uboot. 
sed -i 's/u-boot,spl-boot-order.*/u-boot\,spl-boot-order = \&mmc;/g' arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi
# Disable nand, as we are not using it
sed -i '/&nand {/!b;n;c\\tstatus = "disabled";' arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi
sed -i '/NAND/d' configs/socfpga_agilex_defconfig
# change the prompt text
sed -i 's/SOCFPGA_AGILEX #/SOCFPGA #/g' configs/socfpga_agilex_defconfig
# Revert changes related to Single Boot Image. 
# Rename configuration 'default' to 'board-0' in kernel.its
sed -i "/\/delete-node\/ kernel;/d" arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi
sed -i "s/default = \"conf\";/default = \"board-0\";/g" arch/arm/dts/socfpga_soc64_fit-u-boot.dtsi
sed -i "s/conf {/board-0 {/g" arch/arm/dts/socfpga_soc64_fit-u-boot.dtsi
# enable dwarf4 debug data for arm ds usage
sed -i 's/PLATFORM_CPPFLAGS += -D__ARM__/PLATFORM_CPPFLAGS += -D__ARM__ -gdwarf-4/g' arch/arm/config.mk
# Link with external files from ATF and Linux
ln -s $TOP_FOLDER/arm-trusted-firmware/build/agilex/release/bl31.bin .
ln -s $TOP_FOLDER/linux-socfpga/arch/arm64/boot/Image .
ln -s $TOP_FOLDER/linux-socfpga/arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dtb linux.dtb
make clean && make mrproper
make socfpga_agilex_defconfig
make -j 48
cd ..
上記の手順を完了すると、次のファイルが作成されます。
  • u-boot-socfpga/spl/u-boot-spl-dtb.hex — FSBL (U-boot SPL) hex file
  • u-boot-socfpga/u-boot.itb — SSBL (U-Boot) および ATF (Arm Trusted Firmware) バイナリを含む FIT イメージ ファイル
  • u-boot-socfpga/kernel.itb— Linux カーネルと Linux デバイス ツリーを含む FIT イメージ
注: Intel® ポリシーは、現在および直前の U-Boot ブランチのみを GitHub 上に保持することを指定します。 ある時点で、現在の U-Boot ブランチが削除され、上記のタグは機能しなくなります。 このような場合は、すべてのコンポーネントの最新リリースに移行すれば機能するはずです。 将来ビルドを再現したり変更を加えたりする必要がある場合に備えて、バイナリのビルドに使用したソースのローカル コピーを保存しておく必要があります。