# Build Yocto Platform SDK using CodeLinaro (CLO) / open source

Source: [https://docs.qualcomm.com/doc/80-41102-1/topic/build_yocto_platform_sdk.html](https://docs.qualcomm.com/doc/80-41102-1/topic/build_yocto_platform_sdk.html)

This topic provides instructions to build a yocto platform SDK using codelinaro (CLO) / open source. These instructions are applicable for QTI processor builds only. For external APs the platform SDK corresponding to the specific external AP must be used.

Note: This is not to be confused with the Telematics SDK. The Yocto
      platform SDK, includes the tool chain, and libraries necessary to be able to develop any
      program for a given device. It also includes the stub open source libraries.

**Linux Ubuntu 22.04**

1. Install required packages.

        $ sudo apt-get install -y   \
           autoconf                \
           automake                \
           bash                    \
           bc                      \
           bison                   \
           bsdiff                  \
           build-essential         \
           chrpath                 \
           cmake                   \
           cpio                    \
           diffstat                \
           flex                    \
           gawk                    \
           gcovr                   \
           git                     \
           gperf                   \
           iputils-ping            \
           libbz2-dev              \
           libcurl4-gnutls-dev     \
           libncurses5-dev         \
           libncursesw5-dev        \
           libsdl-dev              \
           libssl-dev              \
           libtool                 \
           libxml2-utils           \
           ninja-build             \
           python                  \
           python-git              \
           python3-jinja2           \
           python-pkg-resources    \
           python3                 \
           python3-pip             \
           python3.8               \
           python3.8-venv          \
           texinfo                 \
           unzip                   \
           wget                    \
           zlib1g-dev              \
           mtd-utils               \
           semodule-utils          \
           checkmodule             \
           attr                    \
           uuid-dev                \
           default-jre             \
           openjdk-8-jre-headless  \
           checkpolicy             \
           zstd                    \
           xmlstarlet              \
           liblz4-tool             \
           libboost-serialization-devCopy to clipboard

    Use the python3 pip manager to install the following packages:

        sudo python3 -m pip install pyyaml==6.0.1
        sudo python3 -m pip install MarkupSafe==2.0.1
        sudo python3 -m pip install Jinja2==3.0.3
        sudo python3 -m pip install oyaml==1.0Copy to clipboard
2. Sync the CLO build.

        $ repo init -u https://git.codelinaro.org/clo/le/le/manifest.git -b release -m <clo_TAG>.xml --repo-url=https://git.codelinaro.org/clo/tools/repo.git --repo-branch=qc-stable   
        $ repo sync -j 32Copy to clipboard

    For example:

        $ repo init -u https://git.codelinaro.org/clo/le/le/manifest.git -b release --no-clone-bundle -m AU_LINUX_EMBEDDED_LE.UM.7.4.1.1.C1_TARGET_ALL.01.681.068.xml --repo-url=https://git.codelinaro.org/clo/tools/repo.git --repo-branch=qc-stableCopy to clipboard

    The tags in CLO are listed at [https://git.codelinaro.org/clo/le/le/manifest/-/tags](https://git.codelinaro.org/clo/le/le/manifest/-/tags).
3. Build the Yocto platform SDK and generate toolchain installer for SA525M target.

        $ export SHELL=/bin/bash && export MACHINE=sa525m && export DISTRO=qti-distro-tele-debug; source poky/qti-conf/set_bb_env.sh; bitbake core-image-minimal -c do_populate_sdkCopy to clipboard

    After the build is finished successfully, the toolchain installer is available at
            build-qti-distro-tele-debug/tmp-glibc/deploy/sdk/. The toolchain
          file name will be
            tele-debug-x86\_64-core-image-minimal-aarch64-sa525m-toolchain-\*.sh.
          The needed mksquashfs tool is at
            build-qti-distro-tele-debug/tmp-glibc/sysroots-components/x86\_64/squashfs-tools-native/usr/sbin/mksquashfs.

**Parent Topic:** [Setup the application environment](https://docs.qualcomm.com/doc/80-41102-1/topic/setup_the_application_environment.html)

Last Published: May 12, 2026

[Previous Topic
Setup the application environment](https://docs.qualcomm.com/bundle/publicresource/80-41102-1/topics/setup_the_application_environment.md) [Next Topic
Build TelAF standalone](https://docs.qualcomm.com/bundle/publicresource/80-41102-1/topics/build_telaf_standalone.md)