# Build with QSC CLI
The following sections explain how to configure, download, compile, and flash Qualcomm Linux using the QSC CLI.
## Host machine requirements
>
>
> | Configuration | Permissions |
> | --- | --- |
> | x86 machine | A `sudo` permission is required to run a few commands |
> | Quad-core CPU, for example, Intel i7-2600 at 3.4 GHz
(equivalent or better) | A `sudo` permission is required to run a few commands |
> | 300 GB free disk space (swap partition > 32 GB) | A `sudo` permission is required to run a few commands |
> | 16 GB RAM | A `sudo` permission is required to run a few commands |
> | Ubuntu 22.04 | A `sudo` permission is required to run a few commands |
> | | |
> | | |
> | | |
> | | |
## Install QSC CLI
1. Install curl (if not installed already):
sudo apt install curl
Copy to clipboard
2. Download the Debian package for `qsc-cli`:
cd
curl -L https://softwarecenter.qualcomm.com/api/download/software/qsc/linux/latest.deb -o qsc_installer.deb
Copy to clipboard
3. Install the `qsc-cli` Debian package:
sudo apt update
sudo apt install ./qsc_installer.deb
Copy to clipboard
4. Log in to `qsc-cli`:
qsc-cli login -u
Copy to clipboard
Note
For more information, see `qsc-cli` related topics in [How to Sync](https://docs.qualcomm.com/doc/80-70015-254/topic/how_to.html#howto-sync).
## Use QSC CLI
This section explains how to configure, download, compile, and flash Qualcomm Linux using the QSC CLI.
### Software download
- Download a software release by specifying the absolute workspace path, product ID, distribution, and release ID as shown in the following example:
qsc-cli download --workspace-path '' --product '' --distribution '' --release ''
# Example, qsc-cli download --workspace-path '/local/mnt/workspace/sample_workspace' --product 'QCM6490.LE.1.0' --distribution 'Qualcomm_Linux.SPF.1.0|AP|Standard|OEM|NoModem' --release 'r00270.1'
Copy to clipboard
Note
- If you are downloading more than one distribution, create a new workspace for each distribution that you download.
- For the Product\_ID, Distribution, and Release\_ID values, see the table *QSC-CLI Input Parameters* in the [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-240929204440/).
- For more information on the Yocto layers, see [Qualcomm Linux metadata layers and descriptions](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-27/platform_software_features.html#qualcomm-linux-metadata-layers-overview).
### Build default configuration
#### Compile
Note
For information on the default configurations, see the table *Default values of MACHINE and QCOM\_SELECTED\_BSP parameters for QSC* in the [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-240929204440/).
Start the compilation process after the download is complete:
Note
Depending on the size of the software and the host machine configuration, the compilation process may take a few hours.
qsc-cli compile --workspace-path ''
# Example
qsc-cli compile --workspace-path '/local/mnt/workspace/sample_workspace'
Copy to clipboard
This process builds the necessary Qualcomm firmware and completes the Qualcomm Linux build.
Note
If you encounter a BitBake fetcher error, try recompiling to resolve the issue. If the issue persists, see [BitBake Fetcher Error](https://docs.qualcomm.com/doc/80-70015-254/topic/troubleshoot_sync_build_and_flash.html#do-fetch-error-1) for a solution.
#### Recompile
To recompile after any modifications to the software release, use your existing workspace built using QSC CLI:
# qsc-cli compile --image '' --workspace-path ''
# Example
qsc-cli compile --image LE.QCLINUX.1.0.r1 --workspace-path '/local/mnt/workspace/sample_workspace'
Copy to clipboard
Note
For information on software image names (`--image`), see the table *QSC-CLI Input Parameters* in the [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-240929204440/).
#### Flash
Note
For the QSC CLI to detect the connected devices and flash the software builds, ensure that the Qualcomm Product Configuration Assistant Tool (PCAT) and Qualcomm USB Driver (QUD) are installed on the host machine. Use the `qpm-cli` command to install PCAT and QUD:
qpm-cli --login
qpm-cli --install pcat --activate-default-license
qpm-cli --install qud --activate-default-license
Copy to clipboard
The `qpm-cli --help` command lists the help options.
For Ubuntu 22.04, you may encounter an issue while installing QUD, where you might be asked to enroll the public key on your Linux host for a successful QUD installation. For more information, see the `signReadme.txt` file in the `/opt/QTI/sign/` directory.
Note
Before you flash the software, ensure that the device is in Emergency Download (EDL) mode. For more information on how to force the device into EDL mode, see [Move to EDL mode](https://docs.qualcomm.com/doc/80-70015-254/topic/flash_images.html#section-vgg-mly-v1c).
1. Flash a device.
qsc-cli flash --workspace-path --buildflavor "sa2150p_emmc" --serial
# Example:
qsc-cli flash --workspace-path '/local/mnt/workspace/sample_workspace' --serial 'be116704'
Copy to clipboard
The `--buildflavor` argument is optional and only required for devices that have multiple flavors. To list the build flavors, run the following command on the host machine:
qsc-cli flash --workspace-path --list-buildflavor
Copy to clipboard
Note
- To find the <serial number>, run the following command on the host machine:
pcat -devices
Copy to clipboard
**Sample output**
Searching devices in Device Manager, please wait for a moment…
ID | DEVICE TYPE | DEVICE STATE | SERIAL NUMBER | ADB SERIAL NUMBER | DESCRIPTION
NA | NA | EDL | BE116704 | be116704 | Qualcomm USB Composite Device:QUSB_BULK_CID:042F_SN:BE116704
Copy to clipboard
- The device reboots after the flashing procedure is completed successfully. To verify the updated software version, see [Check software version](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-253/set_up_the_device.html#check-software-version).
### Build your own configuration
To build your own configuration, you must compile the build for default machine configuration and compile the LE.QCLINUX.1.0.r1 image with your own MACHINE and QCOM\_SELECTED\_BSP parameter values.
1. Compile the build for the default machine configuration:
1. [Download the software](https://docs.qualcomm.com/doc/80-70015-254/topic/build_from_source_QSC_CLI.html#qsc-cli-software-download).
2. [Compile the default build](https://docs.qualcomm.com/doc/80-70015-254/topic/build_from_source_QSC_CLI.html#compile-qsc-cli).
2. Compile the `LE.QCLINUX.1.0.r1` image with your own MACHINE and QCOM\_SELECTED\_BSP parameter values.
Note
For information on the supported machine configurations of the development kit, see the table *MACHINE and QCOM\_SELECTED\_BSP parameter value* in the [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-240929204440/).
1. Run the build commands for a specific configuration:
qsc-cli open-build-env --workspace-path --image
# Example
qsc-cli open-build-env --workspace-path '/local/mnt/workspace/sample_workspace' --image 'LE.QCLINUX.1.0.r1'
Copy to clipboard
This command opens the terminal.
Note
An environment is setup to run your own build commands for a specific software image. QSC will not track the status of input workspaces in the future releases and flash using `qsc-cli` will not be supported for these workspaces.
2. Update the highlighted command according to your own machine configuration and run it on the terminal:

For example, to build for Qualcomm® RB3 Gen 2 Core Development Kit, change the value of `MACHINE` in the preceding build command to `qcs6490-rb3gen2-core-kit`.
3. After a successful build, check that the `system.img` file is in the `/DEV/LE.QCLINUX.1.0.r1/build-/tmp-glibc/deploy/images//qcom-multimedia-image` directory with an updated timestamp. For example:
cd /build-qcom-wayland/tmp-glibc/deploy/images/qcs6490-rb3gen2-core-kit/qcom-multimedia-image
ls -al system.img
Copy to clipboard
Note
When compiling a software image other than `LE.QCLINUX.1.0.r1`, ensure that you also compile both the software product and `LE.QCLINUX.1.0.r1` in the same order.
For example, if you compile `BOOT.MXF.1.0.c1`, ensure that you also compile the software product (such as `QCM6490.LE.1.0`) and then `LE.QCLINUX.1.0.r1`.
3. To flash your build, see [Flash images](https://docs.qualcomm.com/doc/80-70015-254/topic/flash_images.html#flash-images).
Note
- Before flashing, update the build images path to the compiled build images workspace at `/DEV/LE.QCLINUX.1.0.r1/build-/tmp-glibc/deploy/images//qcom-multimedia-image`.
For example, `/build-qcom-wayland/tmp-glibc/deploy/images/qcs6490-rb3gen2-core-kit/qcom-multimedia-image`.
## Connect to UART shell and Network
After flashing and booting the device, follow these steps to connect to UART shell, Network and Login via SSH.
- [Connect to UART shell](https://docs.qualcomm.com/doc/80-70015-254/topic/how_to.html#section-ags-ssh-p1c-vinayjk-03-01-24-1109-49-684)
- [Connect to Network](https://docs.qualcomm.com/doc/80-70015-254/topic/how_to.html#section-hmw-vsh-p1c-vinayjk-03-01-24-1110-45-279)
- [Login via SSH](https://docs.qualcomm.com/doc/80-70015-254/topic/how_to.html#howto-login-via-ssh)
Last Published: Feb 03, 2026
[Previous Topic
Build with QSC Launcher](https://docs.qualcomm.com/bundle/publicresource/80-70015-254/topics/build_from_source_qsc_gui_intro.md) [Next Topic
GitHub workflow for unregistered users](https://docs.qualcomm.com/bundle/publicresource/80-70015-254/topics/github_workflow_unregistered_users.md)
Source: [https://docs.qualcomm.com/doc/80-70015-254/topic/build_from_source_QSC_CLI.html](https://docs.qualcomm.com/doc/80-70015-254/topic/build_from_source_QSC_CLI.html)