Skip to content
Switch branches/tags
Go to file

Zephyr SDK with Crosstool NG

This project is to replace the previous Yocto based SDK with a new framework for building the Zephyr SDK using crosstool-ng.

The repository consists of configurations for the various architectures (not fully tests) and a script that builds on Linux (x86_64) and Mac in a consistent way, apply patches where needed.

Currently we build the following toolchains:

  • i586
  • nios2
  • arc
  • arm
  • arm64
  • riscv64
  • sparc
  • mips
  • xtensa (sample_controller, intel_apl_adsp, intel_s1000, intel_bdw_adsp, intel_byt_adsp, nxp_imx_adsp, nxp_imx8m_adsp)

To build for any of the above, run:

./ <arch>

Production builds are done using the script in .shippable.yml which identifies some packages you'll need to have installed for the above command to work.

When building locally be aware that ./ is written assuming it's invoked in a pristine workspace. That means if you pull an update of this repository ./ will not update the crosstool-ng source and rebuild the bin/ct-ng utility to match the update configuration. This can produce very confusing results.

Released Binaries packages

Pre-built binaries releases of the SDK are made and currently only available for an x86_64 Linux host environment. The releases can be found here:

PR Builds

Successfull PR builds will get posted here:

Release Process

To release a new SDK:

  • Update the VERSION file with the new version, for example 0.11.0 or 0.11.0-beta1 etc.
  • On, create the release tag and add the release information.
  • One the release is created, CI will build the SDK image and will upload it to the release page.