I'm using Zephyr/NCS v2.7.0 with a custom multi-image project based on sysbuild
. My top-level project has a sysbuild.conf
at the root, and a sysbuild/
folder containing a mcuboot.conf
that enables CONFIG_SPI_NOR=y
, CONFIG_MULTITHREADING=y
, etc. Despite this, building fails with an error like:
```
/opt/toolchains/zephyr-sdk-0.16.1/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: zephyr/drivers/flash/libdrivers__flash.a(spi_nor.c.obj):(.rodata.spi_nor_0_config+0x0): undefined reference to `__device_dts_ord_24'
```
This implies MCUboot can't resolve the SPI NOR driver, even though it's configured and works in the main app. I've verified that CONFIG_SPI_NOR
is enabled for MCUboot via build logs.
Project structure looks like this:
project/
├── sysbuild.conf
├── sysbuild/
│ └── mcuboot.conf
Any ideas why the SPI NOR driver instance isn’t being linked correctly into MCUboot? Do I need to mirror the devicetree overlay into
sysbuild/mcuboot.overlay
, or manually define a node alias to make it resolve properly?I am happy to share the contents of any of these files on the public forum.