Skip to main content

Flash Images

This chapter describes how to flash an Android 15 image to RUBIK Pi 3 by using Qualcomm Device Loader (QDL).

Before flashing, check the current software version. If your device is currently running Android, Qualcomm Linux (QLI), Ubuntu, or another system, follow this section to flash Android 15 by using QDL. This operation can be performed from an Ubuntu, Windows, or macOS host.

If the device is running Android 15, run:

adb shell getprop ro.build.version.release
adb shell getprop ro.build.display.id
adb shell getprop ro.build.fingerprint

Sample output:

15
qssi-userdebug 15 AQ3A.250612.001 45468 test-keys
Thundercomm/rubikpi/rubikpi:15/AQ3A.250612.001/45468:userdebug/test-keys
warning

Flashing the Android 15 image erases system data on the device. Back up important files before continuing, and make sure the image package matches your RUBIK Pi 3 hardware.

info
  • Before starting, complete the power-on and cable connection steps in Set Up Your Device.
  • The device must enter EDL mode before flashing.
  • Android 15 images are usually provided as a FlatBuild package. Run the flashing command in the ufs directory of the image package.

Get Started

1. Set up QDL

Qualcomm Device Loader (QDL) is a cross-platform flashing tool. It loads a firehose programmer and flashes software images to Qualcomm® USB devices on Windows, Ubuntu/Linux, and macOS hosts.

  1. Download QDL from QDL tool.
  2. Extract the QDL package.
  3. Complete the host preparation steps below.

Execute the following command to install libusb and libxml2. If they are already installed, please skip this step.

sudo apt-get install libxml2-dev libudev-dev libusb-1.0-0-dev

2. Prepare the Android 15 image

  1. Download the Android 15 image from RUBIK Pi 3 System Image page.
  2. Extract the Android 15 FlatBuild package.
  3. Go to the ufs directory.
  4. Copy the QDL executable in Step1 for your host architecture to the ufs directory.
note
  • On Windows, copy the QDL executable and required DLL files to the ufs directory.
  • On Ubuntu, use the qdl from QDL_Linux_x64 or QDL_Linux_ARM.
  • On macOS, use the qdl from QDL_Mac_x64 or QDL_Mac_ARM.

3. Flash the Android 15 image

After confirming that the device is in EDL/9008 mode, run the flashing command in the ufs directory of the Android 15 FlatBuild package.

Run the following command to flash the Android 15 image:

./qdl --storage ufs prog_firehose_ddr.elf rawprogram*.xml patch*.xml

tip

If flashing fails, disconnect and reconnect the power and USB data cable, enter EDL mode again, and rerun the flashing command.

4. (Optional) Re-configure UFS

If the device cannot boot after flashing, you can try reconfiguring UFS from the provision directory in the FlatBuild package.

warning

Provisioning may erase information stored in UFS, such as serial number and Ethernet MAC address. Run this step only when the device cannot boot after flashing or when UFS provisioning is explicitly required.

Copy qdl from QDL_Linux_x64 or QDL_Linux_ARM to the provision directory and run:

./qdl prog_firehose_ddr.elf provision_ufs_1_3.xml

warning

After provisioning, manually reconnect the power cable and USB data cable to reboot the device, then flash the Android 15 image again.

5. Verify the software version

After flashing completes, the device reboots automatically. Wait until Android 15 boots, connect the host with a USB Type-C data cable, and run the following command to check that the device is online:

adb devices -l

Run the following commands to check the Android version:

adb shell getprop ro.build.version.release
adb shell getprop ro.build.display.id
adb shell getprop ro.build.fingerprint

Sample output:

15
qssi-userdebug 15 AQ3A.250612.001 45468 test-keys
Thundercomm/rubikpi/rubikpi:15/AQ3A.250612.001/45468:userdebug/test-keys

Alternatively, you can verify the software version via the Android GUI. After connecting an HDMI monitor, a mouse, and a keyboard, navigate to Settings > About phone. On this page, you can view system information such as the device name, Android version, and build number; if the version fields are not visible on the current page, scroll down to view them.

note

The About phone page provides a quick way to confirm that the current system has successfully booted into Android 15, while the ADB command output can be used to record more comprehensive build ID and fingerprint data.


Subsequent Steps

After flashing the image, refer to Set Up Your Device to complete ADB login, software version verification, HDMI monitor connection, and mouse and keyboard connection.