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 2.0 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 2.0 release:
-
Since Kernel-Based Virtual Machine (KVM) is enabled by default on IQ-9075 and IQ-615, add the following configuration options to their respective defconfig files:
Skip this step for QCS6490 because KVM is not enabled by default.
-
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.
Kernel-Based Virtual Machine (KVM) is enabled by default for KVM-supported targets (IQ-9075 and IQ-615) in the Yocto build. The following configurations are added by default when building U-Boot for these targets:
Flash U-Boot image
Using Qualcomm tools
Follow the build flashing instructions to flash the U-Boot binary along with the QLI 2.0 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.

