.. _with_mcuboot:
Sample with MCUboot
###################
Overview
********
A simple example that demonstrates how building a sample using sysbuild can
automatically include MCUboot as the bootloader.
It showcases how the sample can adjust the configuration of extra image by
creating a image specific Kconfig fragment.
Sysbuild specific settings
**************************
This sample automatically includes MCUboot as bootloader when built using
sysbuild.
This is achieved with a sysbuild specific Kconfig configuration,
:file:`sysbuild.conf`.
The ``SB_CONFIG_BOOTLOADER_MCUBOOT=y`` setting in the sysbuild Kconfig file
enables the bootloader when building with sysbuild.
The :file:`sysbuild/mcuboot.conf` file will be used as an extra fragment that
is merged together with the default configuration files used by MCUboot.
:file:`sysbuild/mcuboot.conf` adjusts the log level in MCUboot, as well as
configures MCUboot to prevent downgrades and operate in upgrade-only mode.
To build both the sample and MCUboot with ``west`` for the ``reel_board``, run:
.. zephyr-app-commands::
:tool: west
:zephyr-app: samples/sysbuild/with_mcuboot
:board: reel_board
:goals: build
:west-args: --sysbuild
:compact:
Execution output:
.. code-block:: console
*** Booting Zephyr OS build v3.2.0-rc3-209-gdcf4201d3573 ***
*** Booting Zephyr OS build v3.2.0-rc3-209-gdcf4201d3573 ***
Address of sample 0xc000
Hello sysbuild with mcuboot! nrf52840dk
The first ``Booting Zephyr OS build`` is printed by MCUboot itself and the
following lines are printed by the ``with_mcuboot`` sample.
This sample also prints its flash location.