Configuring sysbuild

The nRF Connect SDK supports Zephyr’s sysbuild (System Build).

Sysbuild is a higher-level build system that can be used to combine multiple other build systems together. It is a higher-level layer that combines one or more Zephyr build systems and optional additional build systems into a hierarchical build system.

For example, you can use sysbuild to build a Zephyr application together with the MCUboot bootloader, flash them both onto your device, and debug the results.

Sysbuild works by configuring and building at least a Zephyr application and, optionally, as many additional projects as you want. The additional projects can be either Zephyr applications or other types of builds you want to run.

Like Zephyr’s build system, sysbuild is written in CMake and uses Kconfig.

The nRF Connect SDK modifies the default behavior of west build, so that the standard building procedure will use sysbuild by default for repository applications in the SDK repositories. For this reason, unlike in Zephyr, --sysbuild does not have to be explicitly mentioned in the command prompt when building a repository application. This setting only applies to repositories delivered with the nRF Connect SDK, to maintain compatibility with child/parent images.

This setting does not apply to out-of-tree applications, such as workspace or freestanding applications. In such cases, once you ported your application to sysbuild, it is up to you to either use the --sysbuild parameter on the command line every time you build or to configure west to always use it.

For more information, see Sysbuild enabled by default and Configuring sysbuild usage in west.