[gbl] Integrate GBL bootloader and inject AVB permanent attributes * Integrate GBL binary into U-Boot rodata section via assembly .incbin. * Increase bl33 executable limit to 6MB in u-boot.lds. * Dynamically set gbl_addr and bootgbl environment variables from embedded GBL symbols. * Inject Fuchsia dev permanent attributes and hash into FDT /gbl node. * Skip adding raw FDT to ZBI during EFI boot so GBL handles Devicetree handoff. * Update default boot command to boot GBL (`bootgbl`). * Fix EFI crashes by adding NULL checks and relocating initialization. * Update fastboot reboot modes and GPIO upgrade button in U-Boot environment to enter GBL fastboot mode. * Fix GBL Fastboot Transport protocol return value and error messaging. Bug: 496295142 TAG=agy CONV=236c2e4e-69e4-48b6-a8ea-8986bc68bb04 Change-Id: I55ae5d7a4631384ca281851c165b68401ee424ea Reviewed-on: https://turquoise-internal-review.googlesource.com/c/third_party/u-boot/+/1370276 Commit-Queue: Sergii Parubochyi <sergiip@google.com> Reviewed-by: David Pursell <dpursell@google.com> GitOrigin-RevId: 8d1eb218efd25a64e599334849653288c8cd06c8
This is a version of u-boot, modified to support Fuchsia on the Khadas vim3
To build the vim3 bootloader for Fuchsia:
CIPD access. All build tools are downloaded to cipd_deps.
Run the build script from repo root
./fuchsia_build.py
Options:
--clean-cipd option can be used to make sure CIPD checkout is clean. It will remove cipd_deps directory and download dependencies again.--gbl-path <path> option specifies a path to a local GBL (gbl.efi) binary. If provided, CIPD GBL is not used; otherwise, the script downloads GBL from CIPD and uses gbl_aarch64_dev.efi.You now have a build/u-boot.bin.unsigned that you can flash to a target using fastboot.
go/fuchsia-firmware-licensing-publishing