Skip to main content

Reset to Factory Ubuntu Image

If your device is currently running Android or Qualcomm Linux (QLI), this section provides instructions for replacing the existing operating system with a certified Canonical Ubuntu 24.04 Server image, using a host computer running Ubuntu, Windows®, or macOS®.

warning

Updating the software with the prebuilt images erases all data on your device and installs a newer image. Ensure you back up important data before you start.

info
  • Before You Start - Complete 🔗setup instructions.

🏁 Let’s Get Started!

1️⃣ Setup QDL tool

Qualcomm Device Loader (QDL) is a cross-platform tool for flashing software images to Qualcomm® USB devices by uploading a flash loader, with support for Windows, Linux, and macOS.
a. Download the appropriate version of the QDL tool for your host machine (Windows, Linux, or macOS) from the provided link. 🔗QDL tool(includes executable files)
b. Review the official setup guide to understand the full flashing process.

  • Install libusb and libxml2 by executing the following command. (Skip this step if they are already installed.)
sudo apt-get install libxml2-dev libudev-dev libusb-1.0-0-dev

2️⃣ Download Canonical Ubuntu build and flash

a. Download the system image for RPi3 from the Canonical Ubuntu site. 🔗Server 24.04 image. Extract the system image XZ file according to the host machine's configuration.
b. Download the dtb.bin file 🔗Devicetree blob
c. Download the rawprogram0.xml file 🔗rawprogram0.xml
d. Download the boot firmware image. 🔗Boot firmware
e. Unzip the boot firmware image zip file and copy the system image (step a), dtb.bin (step b), and rawprogram0.xml (step c) to this folder location.
f. Unzip and copy the QDL executable files from Step1 to Boot Firmware folder.

note
  • For Windows host make sure to copy the dll files along with the executable

g. Enter into 🔗 EDL mode
h. Flash the device using the command

Run the following command.

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

In case of failures, remove and plug in the power supply and USB cable to restart RUBIK Pi 3 flashing operation.

info

By default, when the platform build is flashed, the CDT is also flashed to the designated location named "cdt". This process is defined in the rawprogram3.xml file.

i. Once flashing is complete, the device will automatically boot and display the startup screen on the connected HDMI monitor.

3️⃣ Login & Wi-Fi Connection

a. Login and change password on the monitor UART console/SBC terminal.
b. Set up Wi-Fi connectivity. 🔗 Wi-Fi Setup Guide

4️⃣ Install Pre-built Packages

Run the following commands to install pre-built packages on the device.

git clone -b ubuntu_setup --single-branch https://github.com/rubikpi-ai/rubikpi-script.git
cd rubikpi-script
./install_ppa_pkgs.sh
Details

The script installs the following

  • Install AI samples application packages.
  • Install Rubikpi3 Camera, wiringrp and wiringrp_python packages.
  • Install generic developer tool related packages.

📌 Note: If you encounter package installation failures, run the following command: 'apt --fix-broken install'

After successful running the install_ppa_pkgs.sh, you can observe the following screen on Display Monitor.

5️⃣ Verify the SW version

Run the following commands in the device shell to verify the version:

cat /etc/os-release 

Output:

NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.2 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

Run the following command to check the Linux version:

uname -a

Output:

Linux ubuntu 6.8.0-1055-qcom #55-Ubuntu SMP PREEMPT_DYNAMIC Wed Sep 17 02:03:34 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux  

🧭 Next Steps After the image is flashed, refer to the Application Development and Execution Guide.