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: the standard building procedure in the nRF Connect SDK uses sysbuild by default for all types of applications in the SDK repositories. This includes repository applications and the out-of-tree applications (workspace and freestanding applications).

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.

If you want to disable this feature, for example if you want to explicitly use the --sysbuild parameter on the command line every time you build, configure west to disable this default setting.

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