[gbl] Implement GBL EFI Fastboot protocol for bootloader flashing and EFI execution Implement the GblEfiFastbootProtocol in U-Boot to allow GBL to delegate certain fastboot commands to the firmware. Specifically, implement the command_exec method to handle: - 'fastboot flash bootloader': Delegates to amlmmc_write_bootloader to flash both eMMC boot partitions (boot0/boot1). - 'fastboot oem run-staged-efi': Executes the staged EFI image from GBL's download buffer using U-Boot's bootefi command. This enables GBL to support bootloader updates and recovery EFI execution over fastboot. Bug: 496295142 TAG=agy CONV=236c2e4e-69e4-48b6-a8ea-8986bc68bb04 Change-Id: I42dc35148d5d52c9860a7f6bd5a44124f3b4eec1 Reviewed-on: https://turquoise-internal-review.googlesource.com/c/third_party/u-boot/+/1351452 Reviewed-by: Dov Shlachter <dovs@google.com> Commit-Queue: Sergii Parubochyi <sergiip@google.com> GitOrigin-RevId: 9c97c64467406120f97c29cc138527d9572145f5
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
--clean-cipd option can be used to make sure CIPD checkout is clean. It will remove cipd_deps directory and download dependencies again.
You now have a build/u-boot.bin.unsigned that you can flash to a target using fastboot.
fuchsia_upload.py is used to upload commits to open repository. And upload binaries to CIPD.