Trouble migrating from NCS 2.6 to 2.8

Due to issues with the wifi stack, I have to move my project from 2.6 to 2.8.

I downloaded the new tools set (toolchains\cf2149caf2) and new nordic connect version 2.8.0 as per

https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/installation/updating.html

I read the migration guides for 2.7 and 2.8, and the 'using sysbuild for multi-image builds guides:

https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/build/sysbuild/index.html#sysbuild

https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/migration/migration_sysbuild.html

https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/migration/migration_guide_2.8.html

Mostly this gave me a headache.

I created sysbuild.conf (at the root where I run west - is this right?), and filled in the stuff from the migration guides for mcuboot and nrf70 support.
# MCU boot config now handled by sysbuild
SB_CONFIG_BOOTLOADER_MCUBOOT=y
SB_CONFIG_MCUBOOT_BOOTLOADER_MODE_SWAP_WITHOUT_SCRATCH=y
SB_CONFIG_MCUBOOT_GENERATE_UNSIGNED_IMAGE=y

SB_CONFIG_NETCORE_HCI_IPC=y
SB_CONFIG_NETCORE_APP_UPDATE=y
SB_CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=y
SB_CONFIG_BOOT_SIGNATURE_KEY_FILE="/work/dev/if-device-nrf53/keys/bootloader_priv-ecdsa256.pem"
#CONFIG_MCUBOOT_SIGNATURE_KEY_FILE="/work/dev/if-device-nrf53/keys/bootloader_priv-ecdsa256.pem"

SB_CONFIG_MCUBOOT_BOOTLOADER_MODE_SWAP_WITHOUT_SCRATCH=y

# nrf7002 firmware handled by sysbuild
SB_CONFIG_WIFI_NRF70=y
SB_CONFIG_WIFI_NRF70_SYSTEM_MODE=y
#SB_CONFIG_WIFI_PATCHES_EXT_FLASH_XIP=y     later

# build of dfu packages
SB_CONFIG_DFU_MULTI_IMAGE_PACKAGE_BUILD=y
SB_CONFIG_DFU_MULTI_IMAGE_PACKAGE_APP=y
SB_CONFIG_DFU_MULTI_IMAGE_PACKAGE_NET=y
SB_CONFIG_DFU_MULTI_IMAGE_PACKAGE_WIFI_FW_PATCH=y

SB_CONFIG_DFU_ZIP=y
SB_CONFIG_DFU_ZIP_APP=y
SB_CONFIG_DFU_ZIP_NET=y
SB_CONFIG_DFU_ZIP_WIFI_FW_PATCH=y

# put slot2 in external flash
SB_CONFIG_PARTITION_MANAGER=y
SB_CONFIG_PM_MCUBOOT_PAD=y
SB_CONFIG_PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY=y
I updated my prj.conf for the changes to nrf70 config option names
I created sysbuild/mcuboot and copied in the prj.conf from the previous child_image/mcuboot.conf
There was already a sysbuild/hci_ipc/prj.conf, I updated it with changes I had made to child_image/hci_ipc.conf 

Then I set west to use my board and sysbuild and try to build:

> west config build.board cc1medv1_nrf5340_cpuapp
> west config build.sysbuild True
> west build --build-dir cc1-med/build cc1-med --board cc1medv1_nrf5340_cpuapp --pristine -DBOARD_ROOT=%CD%
This got me cmake failing.
-- west build: making build dir C:\work\dev\if-device-nrf53\cc1-med\build pristine
-- west build: generating a build system
Loading Zephyr module(s) (Zephyr base): sysbuild_default
-- Found Python3: C:/ncs/toolchains/2d382dcd92/opt/bin/python.exe (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
-- Cache files will be written to: C:/ncs/v2.8.0/zephyr/.cache
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: cc1medv1_nrf5340_cpuapp
Parsing C:/work/dev/if-device-nrf53/cc1-med/Kconfig.sysbuild
Loaded configuration 'C:/work/dev/if-device-nrf53/cc1-med/build/_sysbuild/empty.conf'
Merged configuration 'C:/work/dev/if-device-nrf53/cc1-med/build/_sysbuild/empty.conf'
Configuration saved to 'C:/work/dev/if-device-nrf53/cc1-med/build/zephyr/.config'
Kconfig header saved to 'C:/work/dev/if-device-nrf53/cc1-med/build/_sysbuild/autoconf.h'
CMake Error at C:/ncs/v2.8.0/nrf/sysbuild/CMakeLists.txt:117 (list):
  list GET given empty list
Call Stack (most recent call first):
  cmake/modules/sysbuild_extensions.cmake:583 (nrf_PRE_CMAKE)
  cmake/modules/sysbuild_extensions.cmake:583 (cmake_language)
  cmake/modules/sysbuild_images.cmake:16 (sysbuild_module_call)
  cmake/modules/sysbuild_default.cmake:20 (include)
  C:/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
  C:/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  C:/ncs/v2.8.0/zephyr/share/sysbuild-package/cmake/SysbuildConfig.cmake:8 (include)
  template/CMakeLists.txt:10 (find_package)


--
   *****************************
   * Running CMake for cc1-med *
   *****************************

Loading Zephyr default modules (Zephyr base).
-- Application: C:/work/dev/if-device-nrf53/cc1-med
-- CMake version: 3.21.0
-- Using NCS Toolchain 2.8.20241106.194216054162 for building. (C:/ncs/toolchains/2d382dcd92/cmake)
-- Found Python3: C:/ncs/toolchains/2d382dcd92/opt/bin/python.exe (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
-- Cache files will be written to: C:/ncs/v2.8.0/zephyr/.cache
-- Zephyr version: 3.7.99 (C:/ncs/v2.8.0/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: cc1medv1_nrf5340_cpuapp
-- Found host-tools: zephyr 0.16.8 (C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.16.8 (C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk)
-- Found Dtc: C:/ncs/toolchains/2d382dcd92/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")

-- Found BOARD.dts: C:/work/dev/if-device-nrf53/boards/arm/cc1medv1_nrf5340/cc1medv1_nrf5340_cpuapp.dts
'label' is marked as deprecated in 'properties:' in C:/ncs/v2.8.0/zephyr/dts/bindings\audio\nordic,nrf-pdm.yaml for node /soc/peripheral@50000000/pdm@26000.
devicetree error: gpio controller <Node /soc/peripheral@50000000/i2c@9000/mcp23017@20 in 'C:/ncs/v2.8.0/zephyr/misc/empty_file.c'> for <Node /soc/peripheral@50000000/pdm@26000/en in 'C:/ncs/v2.8.0/zephyr/misc/empty_file.c'> lacks binding
CMake Error at C:/ncs/v2.8.0/zephyr/cmake/modules/dts.cmake:295 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 1"

Call Stack (most recent call first):
  C:/ncs/v2.8.0/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
  C:/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
  C:/ncs/v2.8.0/zep-- Configuring incomplete, errors occurred!
hyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  CMakeLists.txt:8 (find_package)


CMake Error at cmake/modules/sysbuild_extensions.cmake:514 (message):
  CMake configure failed for Zephyr project: cc1-med

  Location: C:/work/dev/if-device-nrf53/cc1-med
Call Stack (most recent call first):
  cmake/modules/sysbuild_images.cmake:20 (ExternalZephyrProject_Cmake)
  cmake/modules/sysbuild_default.cmake:20 (include)
  C:/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
  C:/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  C:/ncs/v2.8.0/zephyr/share/sysbuild-package/cmake/SysbuildConfig.cmake:8 (include)
  template/CMakeLists.txt:10 (find_package)


-- Configuring incomplete, errors occurred!
See also "C:/work/dev/if-device-nrf53/cc1-med/build/CMakeFiles/CMakeOutput.log".
←[91mFATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\2d382dcd92\opt\bin\cmake.EXE' -DWEST_PYTHON=C:/ncs/toolchains/2d382dcd92/opt/bin/python.exe '-BC:\work\dev\if-device-nrf53\cc1-med\build' -GNinja -DBOARD=cc1medv1_nrf5340_cpuapp '-DBOARD_ROOT=C:\work\dev\if-device-nrf53' '-SC:\ncs\v2.8.0\zephyr\share\sysbuild' '-DAPP_DIR:PATH=C:\work\dev\if-device-nrf53\cc1-med'
The DTS also seems to now fail (didn't with 2.6) with:
devicetree error: gpio controller <Node /soc/peripheral@50000000/i2c@9000/mcp23017@20 in 'C:/ncs/v2.8.0/zephyr/misc/empty_file.c'> for <Node /soc/peripheral@50000000/pdm@26000/en in 'C:/ncs/v2.8.0/zephyr/misc/empty_file.c'> lacks binding
 
Now I'm stuck....I'll look at the DTS thing tomorrow... I think I already knew that the DTS stuff had changed 2.6 to 2.8... but the migration guide doesn't reference it as far as I can see?
  • The full build output:

    C:\work\dev\if-device-nrf53>west build --build-dir cc1-med/build cc1-med --board cc2v1/nrf5340/cpuapp --pristine -DBOARD_ROOT=/work/dev/if-device-nrf53
    -- west build: making build dir C:\work\dev\if-device-nrf53\cc1-med\build pristine
    -- west build: generating a build system
    Loading Zephyr module(s) (Zephyr base): sysbuild_default
    -- Found Python3: C:/ncs/toolchains/2d382dcd92/opt/bin/python.exe (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.8.0/zephyr/.cache
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: cc2v1, qualifiers: nrf5340/cpuapp
    Parsing C:/work/dev/if-device-nrf53/cc1-med/Kconfig.sysbuild
    Loaded configuration 'C:/work/dev/if-device-nrf53/cc1-med/build/_sysbuild/empty.conf'
    Merged configuration 'C:/work/dev/if-device-nrf53/cc1-med/sysbuild.conf'
    Configuration saved to 'C:/work/dev/if-device-nrf53/cc1-med/build/zephyr/.config'
    Kconfig header saved to 'C:/work/dev/if-device-nrf53/cc1-med/build/_sysbuild/autoconf.h'
    --
       *****************************
       * Running CMake for mcuboot *
       *****************************
    
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/ncs/v2.8.0/bootloader/mcuboot/boot/zephyr
    -- CMake version: 3.21.0
    -- Using NCS Toolchain 2.8.20241106.194216054162 for building. (C:/ncs/toolchains/2d382dcd92/cmake)
    -- Found Python3: C:/ncs/toolchains/2d382dcd92/opt/bin/python.exe (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.8.0/zephyr/.cache
    -- Zephyr version: 3.7.99 (C:/ncs/v2.8.0/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: cc2v1, qualifiers: nrf5340/cpuapp
    -- Found host-tools: zephyr 0.16.8 (C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.8 (C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/2d382dcd92/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    
    -- Found BOARD.dts: C:/work/dev/if-device-nrf53/boards/infrafon/cc2v1/cc2v1_nrf5340_cpuapp.dts
    'label' is marked as deprecated in 'properties:' in C:/ncs/v2.8.0/zephyr/dts/bindings\audio\nordic,nrf-pdm.yaml for node /soc/peripheral@50000000/pdm@26000.
    'label' is marked as deprecated in 'properties:' in C:/ncs/v2.8.0/zephyr/dts/bindings\i2s\nordic,nrf-i2s.yaml for node /soc/peripheral@50000000/i2s@28000.
    -- Generated zephyr.dts: C:/work/dev/if-device-nrf53/cc1-med/build/mcuboot/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/work/dev/if-device-nrf53/cc1-med/build/mcuboot/zephyr/include/generated/zephyr/devicetree_generated.h
    -- Including generated dts.cmake file: C:/work/dev/if-device-nrf53/cc1-med/build/mcuboot/zephyr/dts.cmake
    CMake Warning at C:/ncs/v2.8.0/zephyr/cmake/modules/dts.cmake:389 (message):
      dtc raised one or more warnings:
    
      <stdout>: Warning (avoid_unnecessary_addr_size):
      /soc/peripheral@50000000/i2s@28000: unnecessary #address-cells/#size-cells
      without "ranges" or child "reg" property
    
    Call Stack (most recent call first):
      C:/ncs/v2.8.0/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
      C:/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
      C:/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
      CMakeLists.txt:12 (find_package)
    
    
    Parsing C:/ncs/v2.8.0/bootloader/mcuboot/boot/zephyr/Kconfig
    Loaded configuration 'C:/work/dev/if-device-nrf53/boards/infrafon/cc2v1/cc2v1_nrf5340_cpuapp_defconfig'
    Merged configuration 'C:/work/dev/if-device-nrf53/cc1-med/sysbuild/mcuboot/prj.conf'
    Merged configuration 'C:/ncs/v2.8.0/nrf/subsys/partition_manager/ext_flash_mcuboot_secondary.conf'
    Merged configuration 'C:/work/dev/if-device-nrf53/cc1-med/build/mcuboot/zephyr/.config.sysbuild'
    Configuration saved to 'C:/work/dev/if-device-nrf53/cc1-med/build/mcuboot/zephyr/.config'
    Kconfig header saved to 'C:/work/dev/if-device-nrf53/cc1-med/build/mcuboot/zephyr/include/generated/zephyr/autoconf.h'
    -- Found GnuLd: c:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    -- Setting build type to 'MinSizeRel' as none was specified.
    MCUBoot bootloader key file: /work/dev/if-device-nrf53/keys/bootloader_priv-ecdsa256.pem
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/work/dev/if-device-nrf53/cc1-med/build/mcuboot
    --
       *****************************
       * Running CMake for hci_ipc *
       *****************************
    
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/ncs/v2.8.0/zephyr/samples/bluetooth/hci_ipc
    -- CMake version: 3.21.0
    -- Using NCS Toolchain 2.8.20241106.194216054162 for building. (C:/ncs/toolchains/2d382dcd92/cmake)
    -- Found Python3: C:/ncs/toolchains/2d382dcd92/opt/bin/python.exe (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.8.0/zephyr/.cache
    -- Zephyr version: 3.7.99 (C:/ncs/v2.8.0/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: cc2v1, qualifiers: nrf5340/cpunet
    -- Found host-tools: zephyr 0.16.8 (C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.8 (C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/2d382dcd92/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    
    -- Found BOARD.dts: C:/work/dev/if-device-nrf53/boards/infrafon/cc2v1/cc2v1_nrf5340_cpunet.dts
    -- Generated zephyr.dts: C:/work/dev/if-device-nrf53/cc1-med/build/hci_ipc/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/work/dev/if-device-nrf53/cc1-med/build/hci_ipc/zephyr/include/generated/zephyr/devicetree_generated.h
    -- Including generated dts.cmake file: C:/work/dev/if-device-nrf53/cc1-med/build/hci_ipc/zephyr/dts.cmake
    Parsing C:/ncs/v2.8.0/zephyr/Kconfig
    Loaded configuration 'C:/work/dev/if-device-nrf53/boards/infrafon/cc2v1/cc2v1_nrf5340_cpunet_defconfig'
    Merged configuration 'C:/work/dev/if-device-nrf53/cc1-med/sysbuild/hci_ipc/prj.conf'
    Merged configuration 'C:/work/dev/if-device-nrf53/cc1-med/build/hci_ipc/zephyr/.config.sysbuild'
    Configuration saved to 'C:/work/dev/if-device-nrf53/cc1-med/build/hci_ipc/zephyr/.config'
    Kconfig header saved to 'C:/work/dev/if-device-nrf53/cc1-med/build/hci_ipc/zephyr/include/generated/zephyr/autoconf.h'
    -- Found GnuLd: c:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    -- libmetal version: 1.6.0 (C:/ncs/v2.8.0/zephyr/samples/bluetooth/hci_ipc)
    -- Build type:
    -- Host:    Windows/AMD64
    -- Target:  Generic/arm
    -- Machine: arm
    -- Looking for include file stdatomic.h
    -- Looking for include file stdatomic.h - found
    -- open-amp version: 1.6.1 (C:/ncs/v2.8.0/modules/lib/open-amp/open-amp)
    -- Host:    Windows/AMD64
    -- Target:  Generic/arm
    -- Machine: arm
    -- C_FLAGS :  -Wall -Wextra
    -- Looking for include file fcntl.h
    -- Looking for include file fcntl.h - found
    -- Setting build type to 'MinSizeRel' as none was specified.
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/work/dev/if-device-nrf53/cc1-med/build/hci_ipc
    --
       *****************************
       * Running CMake for cc1-med *
       *****************************
    
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/work/dev/if-device-nrf53/cc1-med
    -- CMake version: 3.21.0
    -- Using NCS Toolchain 2.8.20241106.194216054162 for building. (C:/ncs/toolchains/2d382dcd92/cmake)
    -- Found Python3: C:/ncs/toolchains/2d382dcd92/opt/bin/python.exe (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.8.0/zephyr/.cache
    -- Zephyr version: 3.7.99 (C:/ncs/v2.8.0/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: cc2v1, qualifiers: nrf5340/cpuapp
    -- Found host-tools: zephyr 0.16.8 (C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.8 (C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/2d382dcd92/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    
    -- Found BOARD.dts: C:/work/dev/if-device-nrf53/boards/infrafon/cc2v1/cc2v1_nrf5340_cpuapp.dts
    'label' is marked as deprecated in 'properties:' in C:/ncs/v2.8.0/zephyr/dts/bindings\audio\nordic,nrf-pdm.yaml for node /soc/peripheral@50000000/pdm@26000.
    'label' is marked as deprecated in 'properties:' in C:/ncs/v2.8.0/zephyr/dts/bindings\i2s\nordic,nrf-i2s.yaml for node /soc/peripheral@50000000/i2s@28000.
    -- Generated zephyr.dts: C:/work/dev/if-device-nrf53/cc1-med/build/cc1-med/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/work/dev/if-device-nrf53/cc1-med/build/cc1-med/zephyr/include/generated/zephyr/devicetree_generated.h
    -- Including generated dts.cmake file: C:/work/dev/if-device-nrf53/cc1-med/build/cc1-med/zephyr/dts.cmake
    CMake Warning at C:/ncs/v2.8.0/zephyr/cmake/modules/dts.cmake:389 (message):
      dtc raised one or more warnings:
    
      <stdout>: Warning (avoid_unnecessary_addr_size):
      /soc/peripheral@50000000/i2s@28000: unnecessary #address-cells/#size-cells
      without "ranges" or child "reg" property
    
    Call Stack (most recent call first):
      C:/ncs/v2.8.0/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
      C:/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
      C:/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
      CMakeLists.txt:8 (find_package)
    
    
    
    warning: NRF_SECURITY (defined at C:/ncs/v2.8.0/nrf\subsys\nrf_security/Kconfig:32) was assigned the
    value 'n' but got the value 'y'. See
    http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_NRF_SECURITY and/or look up NRF_SECURITY in
    the menuconfig/guiconfig interface. The Application Development Primer, Setting Configuration
    Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful too.
    
    
    warning: DISK_DRIVER_FLASH (defined at drivers/disk/Kconfig.flash:4) was assigned the value 'y' but
    got the value 'n'. Check these unsatisfied dependencies: DT_HAS_ZEPHYR_FLASH_DISK_ENABLED (=n). See
    http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_DISK_DRIVER_FLASH and/or look up
    DISK_DRIVER_FLASH in the menuconfig/guiconfig interface. The Application Development Primer, Setting
    Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
    too.
    
    
    warning: Deprecated symbol MBEDTLS_LEGACY_CRYPTO_C is enabled.
    
    
    warning: Experimental symbol WIFI_READY_LIB is enabled.
    
    
    warning: Experimental symbol WIFI_NM_WPA_SUPPLICANT is enabled.
    
    
    warning: Experimental symbol WIFI_NM_WPA_SUPPLICANT is enabled.
    
    
    warning: Experimental symbol NRF_WIFI_RPU_RECOVERY is enabled.
    
    
    warning: Experimental symbol POSIX_ASYNCHRONOUS_IO is enabled.
    
    
    warning: Experimental symbol POSIX_DEVICE_IO is enabled.
    
    
    warning: Experimental symbol POSIX_FD_MGMT is enabled.
    
    
    warning: Experimental symbol POSIX_MULTI_PROCESS is enabled.
    
    
    warning: Experimental symbol POSIX_REALTIME_SIGNALS is enabled.
    
    
    warning: Experimental symbol POSIX_SIGNALS is enabled.
    
    
    warning: Experimental symbol NET_SOCKETS_SERVICE is enabled.
    
    Parsing C:/ncs/v2.8.0/zephyr/Kconfig
    Loaded configuration 'C:/work/dev/if-device-nrf53/boards/infrafon/cc2v1/cc2v1_nrf5340_cpuapp_defconfig'
    Merged configuration 'C:/work/dev/if-device-nrf53/cc1-med/prj.conf'
    Merged configuration 'C:/work/dev/if-device-nrf53/cc1-med/build/cc1-med/zephyr/.config.sysbuild'
    Configuration saved to 'C:/work/dev/if-device-nrf53/cc1-med/build/cc1-med/zephyr/.config'
    Kconfig header saved to 'C:/work/dev/if-device-nrf53/cc1-med/build/cc1-med/zephyr/include/generated/zephyr/autoconf.h'
    -- Found GnuLd: c:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    =========== Generating psa_crypto_config ===============
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Backup: CONFIG_MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT: False
    Backup: CONFIG_MBEDTLS_THREADING: False
    Backup: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== Checkpoint: backup ===============
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Restore: CONFIG_MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT: False
    Restore: CONFIG_MBEDTLS_THREADING: False
    Restore: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== End psa_crypto_config ===============
    =========== Generating psa_crypto_library_config ===============
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Backup: CONFIG_MBEDTLS_USE_PSA_CRYPTO: False
    Backup: CONFIG_MBEDTLS_PLATFORM_PRINTF_ALT: False
    Backup: CONFIG_MBEDTLS_THREADING: False
    Backup: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== Checkpoint: backup ===============
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Restore: CONFIG_MBEDTLS_USE_PSA_CRYPTO: False
    Restore: CONFIG_MBEDTLS_PLATFORM_PRINTF_ALT: False
    Restore: CONFIG_MBEDTLS_THREADING: False
    Restore: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== End psa_crypto_library_config ===============
    CMake Error at C:/ncs/v2.8.0/zephyr/cmake/modules/extensions.cmake:695 (add_custom_target):
      add_custom_target cannot create target
      "gen_nrf70_bin_inc_77552e44891130fb8290820867cdfb8b" because another target
      with the same name already exists.  The existing target is a custom target
      created in source directory "C:/ncs/v2.8.0/zephyr/drivers/wifi/nrfwifi".
      See documentation for policy CMP0002 for more details.
    Call Stack (most recent call first):
      C:/ncs/v2.8.0/nrf/subsys/net/lib/nrf70_fw_ext/CMakeLists.txt:45 (generate_inc_file_for_target)
    
    
    -- libmetal version: 1.6.0 (C:/work/dev/if-device-nrf53/cc1-med)
    -- Build type:
    -- Host:    Windows/AMD64
    -- Target:  Generic/arm
    -- Machine: arm
    -- Looking for include file stdatomic.h
    -- Looking for include file stdatomic.h - found
    -- open-amp version: 1.6.1 (C:/ncs/v2.8.0/modules/lib/open-amp/open-amp)
    -- Host:    Windows/AMD64
    -- Target:  Generic/arm
    -- Machine: arm
    -- C_FLAGS :  -Wall -Wextra
    -- Looking for include file fcntl.h
    -- Looking for include file fcntl.h - found
    -- Setting build type to 'MinSizeRel' as none was specified.
    CMake Warning at C:/ncs/v2.8.0/zephyr/CMakeLists.txt:952 (message):
      No SOURCES given to Zephyr library: drivers__disk
    
      Excluding target from build.
    
    
    CMake Warning at C:/ncs/v2.8.0/zephyr/CMakeLists.txt:952 (message):
      No SOURCES given to Zephyr library: drivers__pwm
    
      Excluding target from build.
    
    
    -- Including signing script: C:/ncs/v2.8.0/nrf/cmake/sysbuild/image_signing.cmake
    CMake Warning at C:/ncs/v2.8.0/zephyr/CMakeLists.txt:2134 (message):
      __ASSERT() statements are globally ENABLED
    
    
    -- Configuring incomplete, errors occurred!
    See also "C:/work/dev/if-device-nrf53/cc1-med/build/cc1-med/CMakeFiles/CMakeOutput.log".
    See also "C:/work/dev/if-device-nrf53/cc1-med/build/cc1-med/CMakeFiles/CMakeError.log".
    CMake Error at cmake/modules/sysbuild_extensions.cmake:514 (message):
      CMake configure failed for Zephyr project: cc1-med
    
      Location: C:/work/dev/if-device-nrf53/cc1-med
    Call Stack (most recent call first):
      cmake/modules/sysbuild_images.cmake:20 (ExternalZephyrProject_Cmake)
      cmake/modules/sysbuild_default.cmake:20 (include)
      C:/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
      C:/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
      C:/ncs/v2.8.0/zephyr/share/sysbuild-package/cmake/SysbuildConfig.cmake:8 (include)
      template/CMakeLists.txt:10 (find_package)
    
    
    -- Configuring incomplete, errors occurred!
    See also "C:/work/dev/if-device-nrf53/cc1-med/build/CMakeFiles/CMakeOutput.log".
    ←[91mFATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\2d382dcd92\opt\bin\cmake.EXE' -DWEST_PYTHON=C:/ncs/toolchains/2d382dcd92/opt/bin/python.exe '-BC:\work\dev\if-device-nrf53\cc1-med\build' -GNinja -DBOARD=cc2v1/nrf5340/cpuapp -DBOARD_ROOT=/work/dev/if-device-nrf53 '-SC:\ncs\v2.8.0\zephyr\share\sysbuild' '-DAPP_DIR:PATH=C:\work\dev\if-device-nrf53\cc1-med'
    ←[0m

    The CMakeError.log:

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe 
    Build flags: 
    Id flags:  
    
    The output was:
    1
    c:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: c:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/lib\libc.a(lib_a-exit.o): in function `exit':
    exit.c:(.text.exit+0x34): undefined reference to `_exit'
    collect2.exe: error: ld returned 1 exit status
    
    
    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: C:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe 
    Build flags: 
    Id flags:  
    
    The output was:
    1
    c:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: c:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/lib\libc.a(lib_a-exit.o): in function `exit':
    exit.c:(.text.exit+0x34): undefined reference to `_exit'
    collect2.exe: error: ld returned 1 exit status
    
    
    

    Its failing to link a cmake tool?

    c:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: c:/ncs/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/lib\libc.a(lib_a-exit.o): in function `exit':
    exit.c:(.text.exit+0x34): undefined reference to `_exit'
    collect2.exe: error: ld returned 1 exit status
    The only other error I see is this:
    CMake Error at C:/ncs/v2.8.0/zephyr/cmake/modules/extensions.cmake:695 (add_custom_target):
    add_custom_target cannot create target
    "gen_nrf70_bin_inc_77552e44891130fb8290820867cdfb8b" because another target
    with the same name already exists. The existing target is a custom target
    created in source directory "C:/ncs/v2.8.0/zephyr/drivers/wifi/nrfwifi".
    See documentation for policy CMP0002 for more details.
    Call Stack (most recent call first):
    C:/ncs/v2.8.0/nrf/subsys/net/lib/nrf70_fw_ext/CMakeLists.txt:45 (generate_inc_file_for_target)
    but this seems to be linked to the nrf70 wifi stuff? Maybe no link to the cmake error?
    I also see this:
    warning: DISK_DRIVER_FLASH (defined at drivers/disk/Kconfig.flash:4) was assigned the value 'y' but
    got the value 'n'. Check these unsatisfied dependencies: DT_HAS_ZEPHYR_FLASH_DISK_ENABLED (=n). 
    which makes me wonder why it can't find the flash disk definition in my DTS? What exactly does the DT_HAS_... macro look for? I have defined 
            zephyr,flash-disk = &mx25r64;
  • Hi,

    HWM2

    BrianW said:
    I can ignore these, yes?

    I wouldn't recommend you to ignore any compilation warnings. The warnings you mention are labeled as deprecated.

    BrianW said:
    2/ a more serious looking warning, but related (as far as I can tell) to dts definitions in the SDK

    This warning seems to be interesting as it is not present in the default audio application configuration (and in neither of the other samples I've built to test). Could you add your modification to the i2s0 device within for instance https://github.com/nrfconnect/sdk-nrf/tree/main/applications/nrf5340_audio or any of the other audio samples and see if you're able to force the warning w.r.t address and size from there?

    BrianW said:
    3/ enabling the PDM driver 

    Looks to me that this has changed from _PDM to _PDM0 in 2.8.0: https://docs.nordicsemi.com/bundle/ncs-2.8.0/page/kconfig/index.html#CONFIG_NRFX_PDM0

    Sysbuild:

    I see you've addressed some of the sysbuild questions/uncertainties in the reply following the longer set of sysbuild questions so I'll start there:

    BrianW said:
    I'm thinking that with sysbuild the 'main app' prj.conf is NOT merged in with the mcuboot one, so this has to stand on its own?

    Yes, this is correct. You still need to have a prj.conf for your app. Sysbuild only handles companion images

    BrianW said:
    Ok, I see the example has the file called mcuboot.conf, however if I name it that then I get:

    You can see the structure of sysbuild companion images here as well: https://github.com/nrfconnect/sdk-nrf/tree/main/applications/nrf5340_audio/sysbuild. I'm not sure if my explanation of the structure caused any misunderstandings.

    It is unfortunately too many changes simultaneously that causes the build crashes with no useful information you listed in your replies from yesterday.

    Here's a breakdown of what I would've done if I were to migrate from 2.6.1 to 2.8.0:

    1. Start with the audio app and montior changes from 2.6.1 to 2.8.0. Pay attention to changes from child_image/ to sysbuild/ as well as the addition to sysbuild.conf together with prj.conf
    2. Compare the board files within said project and the board files for the 5340 in 2.6.1 and 2.8.0. These are the changes w.r.t hwm1 and hwm2 in addition to the migration note for this https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/migration/migration_hwmv2.html
    3. After you've migrated to hwmv2, try to build with "--no-sysbuild". This should allow you to build with child and parent images. This is still supported in 2.8.0, but will not be in 2.9.0.
    4. Resolve any configuration errors and make it compile without sysbuild
    5. Start with migration from child/parent images to sysbuild. Make note of the changes in item 1 and the two links you sent in the start

      https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/migration/migration_sysbuild.html

      https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/migration/migration_guide_2.8.html

    Unfortunately there will be some downtime in the coming weeks due to holidays here in Norway, so activity will be slow on devzone until early Janaury. I'm sorry for not being able to help you pinpoint the migration issues before now but I strongly believe that if you methodically follow the 5 steps I listed you will succeed.

    Kind regards,
    Andreas

  • thanks for the info above. Its true the jump 2.6->2.7/2.8 is very hard, especially due to the zephyr updates, and lacking a set of detailled release notes that show exactly what is been deleted/updated/added doesn't help. 

    My strategy since yesterday is that I have started with the wifi/sta sample prj.conf (which doesn't build completely but gets past the config step to actually compile source files), and worked forwards from that... somehow this has resolved the CMake ld error, but I have no idea why.

    I hope to get the non-sysbuild working first as ou suggest, but I'm still stuck with a couple of issues

    1 points quickly (I hope)

    USB FAT32 flash disk operation

    warning: DISK_DRIVER_FLASH (defined at drivers/disk/Kconfig.flash:4) was assigned the value 'y' but
    got the value 'n'. Check these unsatisfied dependencies: DT_HAS_ZEPHYR_FLASH_DISK_ENABLED (=n). See
    docs.zephyrproject.org/.../kconfig.html and/or look up
    DISK_DRIVER_FLASH in the menuconfig/guiconfig interface. The Application Development Primer, Setting
    Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
    too.

    which leads to:

    CMake Warning at C:/ncs/v2.8.0/zephyr/CMakeLists.txt:952 (message):
    No SOURCES given to Zephyr library: drivers__disk

    Excluding target from build.

    What is required to satisfy DT_HAS_ZEPHYR_FLASH_DISK_ENABLED  ? (again, this is a change from 2.6)? I have tried the usb disk example from 2.8, but can't work out what the key difference is between the dts files?

    thanx

  • BrianW said:
    2/ a more serious looking warning, but related (as far as I can tell) to dts definitions in the SDK

    This warning seems to be interesting as it is not present in the default audio application configuration (and in neither of the other samples I've built to test).

    This was down to having the gpio definition for the I2S amp's 'enable' input (/SDMODE on the MAX device)) inside the i2s0 node.Once i moved it out to be a seperate node

        i2s_sdmode: sdmode {
            compatible = "nordic,gpio-pins";
            gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;        // P1.14
        };
    then the warning went away....
    BrianW said:
    3/ enabling the PDM driver 

    Looks to me that this has changed from _PDM to _PDM0 in 2.8.0: https://docs.nordicsemi.com/bundle/ncs-2.8.0/page/kconfig/index.html#CONFIG_NRFX_PDM0

    Ok, the error goes away with this name change.

    We'll see if any of this actually works once I get the build to fully complete!

Related