← Back
OP-TEE · Qualcomm Platforms

Why this Build System?

Developing TZ open firmware typically demands a full Yocto/OE BSP build and manual management of eight or more source repositories. This build system removes those barriers.

Speed

  • Component-level builds — rebuild only what changed
  • make fetch-blobs pulls Qualcomm firmware in minutes
  • No Yocto recipe-parse overhead (10 000+ recipes)
  • make flash-kernel for kernel-only iteration — no re-flash of firmware

No Yocto Build Required

  • Qualcomm firmware blobs are publicly available — no account needed
  • make fetch-blobs downloads boot binaries + CDT directly from Qualcomm/CodeLinaro URLs
  • GPT tables and rawprogram XMLs auto-generated via qcom-ptool
  • Yocto (make yocto) is an option for a full BSP, not a prerequisite

Centralized Manifest

  • One default.xml pins every repo to a known-good revision
  • Covers: optee_os, optee_client, optee_test, linux, u-boot, arm-trusted-firmware, buildroot
  • repo sync → identical source tree for every developer
  • The lemans.xml manifest variant extends a shared common.xml
repo sync
minutes
make fetch-blobs
minutes
make all
build
make flash-loader
first flash
running board
< 1 hour total

Compared to a full Yocto BSP workflow which takes hours and requires setting up a complex OE layer stack before a single byte can be flashed.