Overview
This page provides an overview of U-Boot (Universal Boot Loader) support in Qualcomm Linux (QLI) software.Supported SoCs
Build U-Boot image
This section describes how to build the U-Boot binary as part of the QLI software.1. From Qualcomm Linux GitHub repository
Prerequisites
Before proceeding with the build steps, do the following:-
Install following package on your local machine:
-
Download and extract the Arm GNU Toolchain:
- This creates the toolchain directory at
~/arm-gnu-toolchain-14.2.rel1-x86_64-aarch64-none-linux-gnu/. If you extract it to a different location, adjust the paths in the build commands accordingly. - Install the toolchain on an x86 64-bit host computer only.
- For other versions, visit Arm GNU Toolchain Downloads.
- This creates the toolchain directory at
-
Download the qtestsign utility:
Build steps
-
Download the U-Boot repository from Qualcomm Linux GitHub to your local workspace and move to the
u-bootfolder: -
Switch the branch:
-
Check out the SRC REV for the QLI release:
-
Configure the build for your platform. This command creates the required configuration files in the
.outputdirectory. Choose the command based on your platform: -
Build U-Boot using the cross-compile toolchain:
Expected result:Replace
~/arm-gnu-toolchain-14.2.rel1-x86_64-aarch64-none-linux-gnu/with your actual toolchain installation path if you extracted it to a different location.- The U-Boot build completes without errors.
- The
u-boot.elffile is available in the.outputdirectory.
Convert u-boot.elf to u-boot.mbn
This command generates the signedu-boot.mbn file required for flashing:
Replace
~/qtestsign/ with your actual qtestsign installation path if you cloned it to a different location.2. Using Yocto build
Follow the instructions on the Build Qualcomm Linux using Yocto page with the following modifications:- To generate the U-Boot binary, append
:meta-qcom/ci/u-boot-qcom.ymlKAS fragment to the build command in step 3 of โBuild a BSP imageโ. - In the build artifacts folder, the final U-Boot binary is generated as
uefi.elfin the<workspace-dir>/build/tmp/deploy/images/<MACHINE>/<IMAGE>-<MACHINE>.rootfs.qcomflash/directory.
Flash U-Boot image
Using Qualcomm tools
Follow the build flashing instructions to flash the U-Boot binary along with the QLI build as described in Flash software images.Using Fastboot
- Enter fastboot mode using one of the following methods:
- From kernel:
- From U-Boot CLI:
- From kernel:
- Flash the desired image from the host. For example, to flash the U-Boot image:
- Restart the device:
Supported U-Boot commands
The following table lists some of the key U-Boot commands available on the supported platforms. These commands cover boot management, environment management, storage access, and hardware peripheral control. The available commands may vary depending on the platform support.- In QCS6490, Watchdog is used by the Hypervisor; therefore, Watchdog commands do not work for QCS6490.
UEFI Secure Boot
U-Boot supports UEFI Secure Boot, which validates the authenticity of EFI images (such as the kernel and bootloader) before execution using a chain of trust based on the platform key (PK), key exchange key (KEK), signature database (db), and forbidden signatures database (dbx). For the complete procedure to generate keys, preseed the variable store, sign EFI images, and build U-Boot withCONFIG_EFI_SECURE_BOOT enabled, see EFI Secure Boot in the U-Boot documentation.

