Skip to main content
Qualcomm Device Loader (QDL) is a cross-platform command-line flashing tool for Qualcomm devices. Use this method when you need full control over the flash process, are running in a headless environment, or want to script automated flashing. For a GUI-based alternative, see Flash Ubuntu using Qualcomm Launcher.
Flashing erases all data on the device. Back up anything important before you begin.

What you need

  • IQ-9075 EVK with 12 V power supply
  • USB Type-C cable (USB0 port on the EVK → host computer)
  • Host computer running Ubuntu, Windows, or macOS

Select your host OS and follow the complete path

Download QDL for your host OS from the Qualcomm Software Center.

Download the Ubuntu image

Download the prebuilt Ubuntu image and boot firmware from the Canonical Ubuntu site.
Always verify the latest build availability on the Canonical Ubuntu website. The links below are pinned to the latest validated release.
  1. Run the following script to download and assemble the flashable image folder. Pass --server or --desktop depending on the image you want:
    This generates the flashable images in iq9075_flash_prep_work/IQ9075_ubuntu_images — referred to as <path-to-image> below.
    To update to a new Canonical release, edit CANONICAL_BASE, SERVER_IMG_XZ, DESKTOP_IMG_XZ, and BOOT_FW_URL_DEFAULT in the script.

Download QDL

  1. Download the QDL tool for Linux (x64) and unzip it. The unzipped folder contains the qdl binary — referred to as <qdl_dir> below.
  2. Install the required libraries (skip if already installed):
    We recommend extracting the image folder and QDL into the same parent folder. This keeps all paths under one root.

Set up QDL driver

Ubuntu requires a udev rule so the kernel grants your user permission to communicate with the device when it enters EDL mode.
  1. Check whether the rule already exists:
  2. If the file is not present, create it in one command:
    If the file already exists, verify the rule is present:
  3. Reload udev to apply the rule:
    If the USB cable was already connected, disconnect and reconnect it.

Set up QDL path

  1. Make QDL executable:
  2. Verify QDL is working:
    You should see the QDL usage output. If you get an error, check the path.

Put the device in EDL mode

  1. Turn on the SW2-3 DIP switch — push it up. SW2-3 DIP switch location
  2. Connect the 12 V power supply to the EVK.
  3. Connect the USB Type-C cable from USB0 on the EVK to your host. Flash setup — USB and power connections
  4. Toggle the power switch to turn on the device.
  5. Confirm the device is in EDL mode:
    Expected output:
    If the device doesn’t appear, recheck SW2-3 and the USB-C cable.

Provision UFS

UFS (Universal Flash Storage) provisioning divides the internal storage into separate logical unit numbers (LUNs). This step is required when switching from Qualcomm Linux to Ubuntu.Run UFS provisioning if any of the following apply:
  • This is a brand-new board that has never been flashed.
  • You are upgrading to a new image version.
  • You are switching distributions (Qualcomm Linux ↔ Ubuntu).
  1. Download and unzip the provision file:
  2. Provision UFS from the unzipped provision directory:
    Expected output:
After UFS provisioning completes, the device disconnects from USB. Toggle the power switch off and on to reboot it back into EDL mode before continuing.

Flash CDT

CDT provides platform-dependent data used by drivers and firmware to initialize the platform correctly.
  1. Download and unzip the CDT file:
  2. Flash CDT from the unzipped directory:
    Expected output:
After CDT flashing completes, the device disconnects from USB. Toggle the power switch off and on to reboot it back into EDL mode before continuing.

Flash SAIL firmware

The Safety Island (SAIL) is a separate, isolated processor that handles safety-critical functions independently from the main application processor. Its firmware lives on a dedicated spinor flash partition.
  1. Navigate to the sail_nor subfolder inside the image folder:
  2. Flash the SAIL firmware:
    Expected output:

Flash Ubuntu

  1. Navigate to the main image folder:
  2. Flash the image:
    The flash is complete when the final line reads:
If flashing fails at any point, disconnect the USB cable and power supply, reconnect them, and retry from the EDL mode step.

Finish

  1. Turn off the SW2-3 DIP switch — push it down.
  2. Power-cycle the device. It boots into the newly flashed Ubuntu image.

Next steps

Continue to Set up the device to connect the serial console, verify the software version, and bring up the network, SSH, and display.