mcuboot does not work when porting from nrf 2.4.2 to nrf 2.7.0 ERROR: local configuration file not found

Description: I am experiencing a build issue after porting my project from nRF SDK 2.4.2 to nRF SDK 2.7.0. The project involves using the nRF5340 and was building successfully with SDK 2.4.2. However, after upgrading to SDK 2.7.0, I encounter the following error during the build process:

ERROR: local configuration file not found

We suspect that the issue might be related to changes in the mcuboot integration and the new sysbuild system introduced in SDK 2.7.0. Despite following the migration guide, it seems that some configuration files or settings are missing or incorrectly set.

Build Command:

west build -p always -b ${NRF5xx_BOARD} -s ../nRF5340 -d ../nRF5340/build

Error Output:

    Memory region Used Size  RegionSize   %age Used
            FLASH: 32412 B     48 KB      65.94%
            RAM:   16552 B     40 KB      40.41%
         IDT_LIST: 0 GB        32 KB       0.00%
Generating files from /workspaces/sigma7/nRF5340/build/mcuboot/zephyr/zephyr.elf for board: sigma7_a0_nrf5340
ERROR: local configuration file not found
ninja: build stopped: subcommand failed. FATAL ERROR: command exited with status 1: /usr/bin/cmake --build /workspaces/sigma7/nRF5340/build

Additional Information:

  • The project used to build without issues using nRF SDK 2.4.2.
  • We believe the error may be linked to changes in the mcuboot and the new sysbuild approach in SDK 2.7.0.
  • We have reviewed the migration guide but are unsure what specific configuration file is missing or how to properly integrate the new sysbuild system.

Could you please provide guidance on how to resolve this issue? Any documentation or examples of migrating projects to use the new sysbuild system would be greatly appreciated.

Environment:

  • nRF SDK: 2.7.0
  • Zephyr version: 3.6.99
  • Toolchain: GCC 12.2.0
  • Target: nRF5340

Project layout:

nRF5340

├── build

├── CMakeLists.txt

├── Kconfig

├── mcuboot_key.pem

├── pm_static.yml

├── prj.conf

├── sysbuild.conf

├── child_image

│     ── hci_rpmsg.conf

├── src 

 |── sysbuild

│    └── mcuboot/

│    ── app.overlay

│    ── mcuboot.conf 

sysbuild.conf contents 

SB_CONFIG_BOOTLOADER_MCUBOOT=y
mcuboot.conf contents 
CONFIG_MCUBOOT_LOG_LEVEL_WRN=y
CONFIG_BOOT_UPGRADE_ONLY=y
CONFIG_MCUBOOT_DOWNGRADE_PREVENTION=y
app.overlay
/ {
    chosen {
        zephyr,code-partition = &boot_partition;
    };
};

Thank you for your assistance. and feel free to reach out if you would like anymore information. 

P.S this is a custom board so we cannot simply build using any samples. 

Related