Skip to main content
QDTE is a tool used to configure the DTB by editing the xbl_config.elf file. You can download QDTE from Qualcomm Software Center (QSC) and launch the UI using the command ./qdte. QDTE offers the following features:
  • Allows for experimentation with configuration settings in a test environment.
  • The tool opens/reads a DTB file directly or parses an xbl_config.elf file and extracts the embedded DTB files. In the latter case, when you save the file, the tool regenerates the xbl_config.elf file with signing.
Don’t use the QDTE tool to create the devicetree source/devicetree source inclusion (DTS/DTSI) files that represent the input source.
QDTE v1.3.0 is supported on:Ubuntu 22.04 Linux host computerWindows 10 and 11 host computer

Configure QDTE

The QDTE graphical user interface (GUI) tool configures and modifies Devicetree Binary (DTB) files. For more information, see Boot interfaces overview. This section explains how to use QDTE tool to do the following:
  • Load, parse, edit and save the DTB file.
  • Read and write the DTB file from device or on the device.
  • Set up the configuration on your host PC, whether it’s Linux or Windows.
Set up the configuration on your host device as follows:
PropertyFile path for Linux/Windows host PC
SecTool path: Installation path to SecToolsv2, a tool used to perform secure operations on software images.
  • Linux: SECTOOLS=”META_PATH”/<chipset>.LE.X.x/common/sectoolsv2/ext/Linux/sectools
  • Windows: SECTOOLS=”META_PATH”\<chipset>.LE.X.x\common\sectoolsv2\ext\windows\sectools. For more information about SecToolsv2 for Windows, see SecTools V2: Metabuild Secure Image User Guide
Profile file: Used for signing the security profile XML files.
  • Linux: "META_PATH”/<chipset>.LE.X.x/common/sectoolsv2/kodiak_security_profile.xml
  • Windows: "META_PATH”\<chipset>.LE.X.x\common\sectoolsv2\kodiak_security_profile.xml
Sign cmd json: Used for signing the JSON file from the QDTE installation directory. The test signing mode is used for working on a nonsecure device. For secure devices, see enable secure boot.
  • Linux: /local/mnt/qcom/QDTE/test_signing_mode.json
  • Windows: C:\Program Files (x86)\Qualcomm\QDTE\test_signing_mode.json
Devprg file: Device programmer file.
  • Linux: "META_PATH”/<chipset>.LE.X.x/BOOT.MXF.1.0.c1-00134-KODIAKLA-2/boot_images/boot/QcomPkg/SocPkg/Kodiak/Bin/LAA/DEBUG/prog_firehose_ddr.elf
  • Windows: "META_PATH”\<chipset>.LE.X.x\BOOT.MXF.1.0.c1\boot_images\boot\QcomPkg\SocPkg\Kodiak\Bin\LAA\DEBUG\prog_firehose_ddr.elf
Flash type: Type of storage, which in this case is UFS.
Settings for QDTE signature configuration

Figure: Settings for QDTE signature configuration

Use the following procedure to configure the DTB files using QDTE. This procedure is applicable only to XBL and UEFI DTB.
  1. To open the XBLConfig ELF file, go to File > Open DTB Elf > From Build.
    • If the file is invalid or corrupted, the system generates an error. To prevent the error, ensure that you download the valid boot binaries, including xbl_config.elf, and use them with the XBL configuration. The binary includes the boot component, which is part of the firmware.
    • If the file loads successfully, a tree view appears, populated with the DTB elements.
  2. Select the XBLConfig ELF file to edit it. The primary QDTE interface displays the file. The figure shows an XBLConfig helper window displaying the disassembled results of an XBLConfig file containing two DTBs.
    XBLConfig helper window displaying disassembled results
    The figure shows an example file opened in a tree view with all four columns populated.
    Example file opened in a tree view
  3. To discard all the changes and reload the file from the disk (if the file undergoes changes on the disk while the QDTE tool is open), select File > Reload File.
  4. To add items to the tree, right-click on a node. The following items are displayed:
    Table : DT items
    Tree itemDescription
    Add New ChildAdds a child in the tree.
    NodeAsks for the name of the new node and adds it. If the node name is invalid, an error occurs.
    Property of TypeOpens a menu that allows you to choose the type of property to add. Adding a property displays the Edit dialog box corresponding to the type of the new property. On confirmation, a new property of the specified type is added.
    You can remove all items in the DT, except for the root node. To delete an item, right-click on it and select Delete. Deleting a node also removes its child nodes, if any.
  5. To edit a property, you can either right-click and select Edit or double-click to open a dialog box. This dialog box allows you to edit both the property name and value.
  6. To view the DTB file as a binary hexadecimal dump, go to View > Raw, which displays the exported DTB file. The following example of the raw view shows the offset, hexadecimal value, and corresponding character columns, with a node highlighted in orange.
    Raw view with a node highlighted in orange
    To remove all highlights, go to View > Clear Highlights.
  7. To save the modified DTBs, you can either go to File > Save (or press CTRL + S) to overwrite the existing file or go to File > Save Copy As (or press CTRL + SHIFT + S) to save a copy of the DTB to a new file.
  8. To generate a summary of the changes, select File > Export Change Report. A JSON file is created, which lists all changes made to the DT in the session, along with the result of the DTB after the operation.
  9. To save the modified DTB files within the main QDTE, go to the XBLConfig helper window, and select Reassemble and Sign. The modified file is saved.
  10. Next, choose a name for the output file. The toolchain re-assembles the ELF using XBLConfig. If an error message indicates that a signed XBLConfig wasn’t generated, it downgrades the error to a warning and shows a success message instead.
Reassemble and Sign in QDTE