[gbl] Implement GBL EFI Boot Control protocol Implement GblEfiBootControlProtocol bound directly to the ABR C SDK (AbrGetBootSlot, AbrMarkSlotActive) for slot state querying and selection. Check gbl_one_shot_boot_mode / one_shot_boot_mode environment variables in get_one_shot_boot_mode to return GBL_EFI_ONE_SHOT_BOOT_MODE_BOOTLOADER or GBL_EFI_ONE_SHOT_BOOT_MODE_RECOVERY. TAG=agy CONV=236c2e4e-69e4-48b6-a8ea-8986bc68bb04 Change-Id: Id47c131b41d960ffbe04cc90c7f05060a97851da Reviewed-on: https://turquoise-internal-review.googlesource.com/c/third_party/u-boot/+/1369890 Reviewed-by: David Pursell <dpursell@google.com> Commit-Queue: Sergii Parubochyi <sergiip@google.com> GitOrigin-RevId: c0448f03361621dfb3121bad739d2df29aead3b1
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