Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove child/parent image support #19283

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

nordicjm
Copy link
Contributor

@nordicjm nordicjm commented Dec 5, 2024

Removes support for this deprecated feature

test_sdk_mcuboot: sdk-nrf-19283
test_rs: PR-1443
test_fem: PR-1443

@nordicjm nordicjm added the CI-Requested Approves single commit for CI tests on Internal HW label Dec 5, 2024
@nordicjm nordicjm added this to the 3.0.0 milestone Dec 5, 2024
@github-actions github-actions bot added doc-required PR must not be merged without tech writer approval. manifest changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. CI-Requested Approves single commit for CI tests on Internal HW ble mesh Label for ble mesh PRbot. Add this if PR is related to ble mesh and you need to get review. and removed CI-Requested Approves single commit for CI tests on Internal HW labels Dec 5, 2024
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Dec 5, 2024

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
matter nrfconnect/sdk-connectedhomeip@ad8ba68 (master) nrfconnect/sdk-connectedhomeip#520 nrfconnect/sdk-connectedhomeip#520/files
mcuboot nrfconnect/sdk-mcuboot@b82206c (main) nrfconnect/sdk-mcuboot#386 nrfconnect/sdk-mcuboot#386/files
zephyr nrfconnect/sdk-zephyr@7f8d857 (main) nrfconnect/sdk-zephyr#2343 nrfconnect/sdk-zephyr#2343/files

DNM label due to: 3 projects with PR revision

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@NordicBuilder
Copy link
Contributor

NordicBuilder commented Dec 5, 2024

CI Information

To view the history of this post, clich the 'edited' button above
Build number: 34

Inputs:

Sources:

sdk-nrf: PR head: 88eaae47b5780637ded5878d6de77d2623c879b0
mcuboot: PR head: 60503aa7a2d0e72e01e2012112c513d0b50f138f
matter: PR head: 6ba97371dc88f01494c91479701bc0a09bcdd2fa
zephyr: PR head: 2ff3bd87183b1d14588e85eeee8be1c6c5a824d6

more details

sdk-nrf:

PR head: 88eaae47b5780637ded5878d6de77d2623c879b0
merge base: e808fbf630dfc617cdaa2523e44b8fed20922794
target head (main): 5eb1bd14753f2f8642afa8e1721a1b00ee8d75d7
Diff

mcuboot:

PR head: 60503aa7a2d0e72e01e2012112c513d0b50f138f
merge base: b82206c15fff357c151c24bf97c99c4348d14a46
target head (main): b82206c15fff357c151c24bf97c99c4348d14a46
Diff

matter:

PR head: 6ba97371dc88f01494c91479701bc0a09bcdd2fa
merge base: ad8ba68fd93b25f3fc0c0093bdaade96439b3987
target head (master): ad8ba68fd93b25f3fc0c0093bdaade96439b3987
Diff

zephyr:

PR head: 2ff3bd87183b1d14588e85eeee8be1c6c5a824d6
merge base: 7f8d857bf1f57b07e832d52263beaa23c91fef24
target head (main): 7f8d857bf1f57b07e832d52263beaa23c91fef24
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (117)
CMakeLists.txt
Kconfig.nrf
applications
│  ├── asset_tracker_v2
│  │  ├── boards
│  │  │  ├── native_sim.conf
│  │  │  │ thingy91_nrf9160_ns.conf
│  │  │ prj.conf
│  ├── machine_learning
│  │  │ CMakeLists.txt
│  ├── nrf5340_audio
│  │  │ Kconfig.defaults
│  ├── nrf_desktop
│  │  │ CMakeLists.txt
boards
│  ├── nordic
│  │  ├── thingy91x
│  │  │  ├── Kconfig.defconfig.nrf5340
│  │  │  ├── Kconfig.defconfig.nrf9151
│  │  │  │ Kconfig.sysbuild
bootloader
│  ├── mcuboot
│  │  ├── boot
│  │  │  ├── bootutil
│  │  │  │  ├── src
│  │  │  │  │  ├── loader_legacy_child_parent.c
│  │  │  │  │  │ swap_priv.h
│  │  │  ├── zephyr
│  │  │  │  ├── CMakeLists.txt
│  │  │  │  ├── include
│  │  │  │  │  ├── sysflash
│  │  │  │  │  │  ├── pm_sysflash_legacy_child_parent.h
│  │  │  │  │  │  │ sysflash.h
│  │  │  │  │ pm.yml
cmake
│  ├── extensions.cmake
│  ├── fw_zip.cmake
│  ├── mesh_dfu_metadata.cmake
│  ├── multi_image.cmake
│  ├── partition_manager.cmake
│  ├── sysbuild
│  │  │ lwm2m_carrier_divided_dfu.cmake
doc
│  ├── nrf
│  │  ├── app_dev
│  │  │  ├── config_and_build
│  │  │  │  │ multi_image.rst
lib
│  ├── edge_impulse
│  │  │ CMakeLists.txt
modules
│  ├── lib
│  │  ├── matter
│  │  │  ├── config
│  │  │  │  ├── nrfconnect
│  │  │  │  │  ├── chip-module
│  │  │  │  │  │  ├── CMakeLists.txt
│  │  │  │  │  │  │ Kconfig
│  ├── mcuboot
│  │  ├── CMakeLists.txt
│  │  ├── Kconfig
│  │  ├── boot
│  │  │  ├── zephyr
│  │  │  │  │ Kconfig
│  │  ├── hooks
│  │  │  │ nrf53_hooks.c
│  ├── trusted-firmware-m
│  │  │ CMakeLists.txt
samples
│  ├── CMakeLists.txt
│  ├── Kconfig
│  ├── bluetooth
│  │  ├── peripheral_uart
│  │  │  │ nrf5340dk_app_sr_net.conf
│  ├── cellular
│  │  ├── lwm2m_client
│  │  │  │ sample.yaml
│  │  ├── nrf_cloud_multi_service
│  │  │  ├── boards
│  │  │  │  │ thingy91_nrf9160_ns.conf
│  │  ├── nrf_cloud_rest_fota
│  │  │  │ prj.conf
│  ├── common
│  │  ├── mcumgr_bt_ota_dfu
│  │  │  │ rpmsg_child_image_overlay.conf
│  ├── mpsl
│  │  ├── timeslot
│  │  │  │ prj.conf
│  ├── peripheral
│  │  ├── radio_test
│  │  │  ├── boards
│  │  │  │  │ nrf5340dk_nrf5340_cpunet.conf
│  ├── tfm
│  │  ├── provisioning_image
│  │  │  ├── Kconfig.sysbuild
│  │  │  ├── boards
│  │  │  │  │ nrf5340dk_nrf5340_cpuapp.conf
│  │  ├── tfm_psa_template
│  │  │  │ prj.conf
scripts
│  ├── bluetooth
│  │  ├── mesh
│  │  │  │ mesh_dfu_metadata.py
subsys
│  ├── CMakeLists.txt
│  ├── bluetooth
│  │  ├── mesh
│  │  │  ├── CMakeLists.txt
│  │  │  ├── Kconfig
│  │  │  │ hci_ipc_child_image_overlay.conf
│  │  ├── services
│  │  │  ├── fast_pair
│  │  │  │  │ CMakeLists.txt
│  ├── bootloader
│  │  ├── CMakeLists.txt
│  │  ├── Kconfig
│  │  ├── bl_override
│  │  │  │ CMakeLists.txt
│  │  ├── cmake
│  │  │  ├── debug_keys.cmake
│  │  │  ├── provision_hex.cmake
│  │  │  │ sign.cmake
│  │  ├── image
│  │  │  ├── CMakeLists.txt
│  │  │  │ build_s1.conf
│  ├── net
│  │  ├── lib
│  │  │  ├── nrf70_fw_ext
│  │  │  │  │ Kconfig
│  │  │  ├── nrf_cloud
│  │  │  │  ├── Kconfig.nrf_cloud_fota
│  │  │  │  │ Kconfig.nrf_cloud_pgps
│  ├── partition_manager
│  │  ├── CMakeLists.txt
│  │  ├── Kconfig
│  │  │ Kconfig.template.build_strategy
│  ├── zigbee
│  │  ├── lib
│  │  │  ├── zigbee_fota
│  │  │  │  │ Kconfig
sysbuild
│  │ CMakeLists.txt
tests
│  ├── CMakeLists.txt
│  ├── Kconfig
│  ├── drivers
│  │  ├── flash
│  │  │  ├── flash_rpc
│  │  │  │  ├── CMakeLists.txt
│  │  │  │  ├── Kconfig
│  │  │  │  ├── aci
│  │  │  │  │  │ CMakeLists.txt
│  │  │  │  ├── prj.conf
│  │  │  │  ├── remote
│  │  │  │  │  │ CMakeLists.txt
│  │  │  │  ├── src
│  │  │  │  │  │ main.c
│  │  │  │  ├── sysbuild.conf
│  │  │  │  ├── sysbuild
│  │  │  │  │  │ empty_net_core.conf
│  │  │  │  ├── testcase.yaml
│  │  │  │  ├── zephyr
│  │  │  │  │  │ module.yml
│  ├── modules
│  │  ├── mcuboot
│  │  │  ├── direct_xip
│  │  │  │  ├── child_image
│  │  │  │  │  │ mcuboot.conf
│  │  │  │  │ testcase.yaml
│  │  │  ├── external_flash
│  │  │  │  ├── child_image
│  │  │  │  │  ├── mcuboot
│  │  │  │  │  │  ├── boards
│  │  │  │  │  │  │  ├── nrf52840dk_nrf52840.overlay
│  │  │  │  │  │  │  ├── nrf5340dk_nrf5340_cpuapp.conf
│  │  │  │  │  │  │  ├── nrf5340dk_nrf5340_cpuapp.overlay
│  │  │  │  │  │  │  │ thingy53_nrf5340_cpuapp.conf
│  │  │  │  │  │  │ prj.conf
│  │  │  │  │ testcase.yaml
│  ├── nrf5340_audio
│  │  ├── sw_codec_lc3
│  │  │  │ prj.conf
│  ├── subsys
│  │  ├── bluetooth
│  │  │  ├── mesh
│  │  │  │  ├── metadata_extraction
│  │  │  │  │  ├── CMakeLists.txt
│  │  │  │  │  │ prj.conf
│  │  ├── bootloader
│  │  │  ├── bl_crypto
│  │  │  │  ├── child_image
│  │  │  │  │  │ mcuboot.conf
│  │  │  │  │ testcase.yaml
│  │  │  ├── bl_validation
│  │  │  │  │ prj.conf
│  │  │  ├── bl_validation_ff_key
│  │  │  │  ├── Kconfig
│  │  │  │  ├── prj.conf
│  │  │  │  │ sysbuild.conf
│  │  │  ├── bl_validation_neg
│  │  │  │  │ prj.conf
│  │  ├── event_manager_proxy
│  │  │  ├── CMakeLists.txt
│  │  │  ├── Kconfig
│  │  │  ├── aci
│  │  │  │  │ CMakeLists.txt
│  │  │  ├── boards
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp.conf
│  │  │  │  │ nrf5340dk_nrf5340_cpuapp_icmsg.conf
│  │  │  ├── prj.conf
│  │  │  ├── prj_icmsg.conf
│  │  │  ├── zephyr
│  │  │  │  │ module.yml
│  │  ├── fw_info
│  │  │  │ prj.conf
│  │  ├── net
│  │  │  ├── lib
│  │  │  │  ├── nrf_cloud
│  │  │  │  │  ├── fota_common
│  │  │  │  │  │  ├── src
│  │  │  │  │  │  │  │ main.c
│  │  ├── partition_manager
│  │  │  ├── static_pm_file
│  │  │  │  │ testcase.yaml
│  │  ├── pcd
│  │  │  ├── child_image
│  │  │  │  │ hello_world.conf
│  │  │  │ testcase.yaml
west.yml
zephyr
│  ├── boards
│  │  ├── nordic
│  │  │  ├── nrf5340dk
│  │  │  │  │ nrf5340dk_nrf5340_cpuapp_ns.yaml
│  │  │  ├── nrf9160dk
│  │  │  │  ├── nrf9160dk_nrf9160_ns_0_14_0.yaml
│  │  │  │  │ nrf9160dk_nrf9160_ns_0_7_0.yaml
│  ├── cmake
│  │  ├── linker
│  │  │  ├── ld
│  │  │  │  │ target.cmake
│  │  ├── modules
│  │  │  │ kconfig.cmake
│  ├── samples
│  │  ├── subsys
│  │  │  ├── usb
│  │  │  │  ├── dfu
│  │  │  │  │  │ sysbuild.conf
│  ├── tests
│  │  ├── drivers
│  │  │  ├── flash
│  │  │  │  ├── common
│  │  │  │  │  │ sysbuild.conf

Outputs:

Toolchain

Version: b77d8c1312
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:b77d8c1312_912848a074

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • ❌ Build twister
  • ❌ Integration tests
    • ✅ test-sdk-audio
    • ✅ desktop52_verification
    • ✅ test-fw-nrfconnect-boot
    • ❌ test-fw-nrfconnect-apps
    • ❌ test_ble_nrf_config
    • ❌ test-fw-nrfconnect-ble_mesh
    • ❌ test-fw-nrfconnect-ble_samples
    • ✅ test-fw-nrfconnect-chip
    • ✅ test-fw-nrfconnect-nfc
    • ✅ test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • ✅ test-fw-nrfconnect-nrf-iot_serial_lte_modem
    • ✅ test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • ✅ test-fw-nrfconnect-nrf-iot_samples
    • ✅ test-fw-nrfconnect-nrf-iot_lwm2m
    • ✅ doc-internal
    • ✅ test-fw-nrfconnect-nrf-iot_thingy91
    • ✅ test-fw-nrfconnect-nrf_crypto
    • ✅ test-fw-nrfconnect-rpc
    • ✅ test-fw-nrfconnect-rs
    • ✅ test-fw-nrfconnect-fem
    • ❌ test-fw-nrfconnect-tfm
    • ✅ test-fw-nrfconnect-thread
    • ✅ test-fw-nrfconnect-zigbee
    • ✅ test-sdk-find-my
    • ✅ test-fw-nrfconnect-nrf-iot_mosh
    • ✅ test-fw-nrfconnect-nrf-iot_positioning
    • ✅ test-sdk-sidewalk
    • ✅ test-sdk-wifi
    • ✅ test-low-level
    • ✅ test-fw-nrfconnect-nrf-iot_nrf_provisioning
    • ✅ test-sdk-pmic-samples
    • ✅ test-sdk-mcuboot
    • ✅ test-sdk-dfu
    • ❌ test-fw-nrfconnect-ps
    • ✅ test-secdom-samples-public
    • ⚠️ test-fw-nrfconnect-fw-update
    • ⚠️ test-fw-nrfconnect-nrf-iot_cloud

Note: This message is automatically posted and updated by the CI

@github-actions github-actions bot removed the CI-Requested Approves single commit for CI tests on Internal HW label Dec 5, 2024
@nordicjm nordicjm added the CI-Requested Approves single commit for CI tests on Internal HW label Dec 5, 2024
@github-actions github-actions bot removed the CI-Requested Approves single commit for CI tests on Internal HW label Dec 5, 2024
@nordicjm nordicjm added the CI-Requested Approves single commit for CI tests on Internal HW label Dec 5, 2024
@github-actions github-actions bot removed the CI-Requested Approves single commit for CI tests on Internal HW label Dec 5, 2024
@nordicjm nordicjm added the CI-Requested Approves single commit for CI tests on Internal HW label Dec 5, 2024
@github-actions github-actions bot removed the CI-Requested Approves single commit for CI tests on Internal HW label Dec 5, 2024
@nordicjm nordicjm added the CI-Requested Approves single commit for CI tests on Internal HW label Dec 5, 2024
@github-actions github-actions bot removed the CI-Requested Approves single commit for CI tests on Internal HW label Dec 5, 2024
@nordicjm nordicjm force-pushed the byebyechildparent branch 2 times, most recently from cb3487d to d298017 Compare December 5, 2024 14:46
@nordicjm
Copy link
Contributor Author

@tejlmand @nrfconnect/ncs-nrf-cloud @nrfconnect/ncs-si-muffin @nrfconnect/ncs-audio @nrfconnect/ncs-aegir @nrfconnect/ncs-dragoon @nrfconnect/ncs-si-bluebagel @nrfconnect/ncs-co-networking @nrfconnect/ncs-iot-oulu @nrfconnect/ncs-doc-leads @nrfconnect/ncs-vestavind-doc @nrfconnect/ncs-cia please review

Comment on lines 340 to 342
The listing below describes how to leverage this functionality, where ``ACI_NAME`` is the name of the child image to which the configuration will be applied.

.. literalinclude:: ../../../../cmake/multi_image.cmake
:language: c
:start-at: It is possible for a sample to use a custom set of Kconfig fragments for a
:end-before: set(ACI_CONF_DIR ${config_dir}/child_image)

When you are using :ref:`app_build_additions_build_types` and the configuration name has been inferred, the child image Kconfig overlay file is searched at :file:`child_image/<ACI_NAME>_<name>.conf`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please update the entire page or remove it, given the note at the top of the page.

Other pages that need to be updated:

  • config_and_build_system.rst - sections "Child images" and "Multi-image builds"
  • multi_image_nrf5340.rst - entire page needs to be reviewed or removed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am deferring this to another PR as the changes are quite extensive and it's going to take a bit of time and a lot of CI attempts to get the doc build to actually work, the change here is just for the build systems parts. Can see the doc changes in this branch here: main...nordicjm:sdk-nrf:byebyechildparent_doc which does not build documentation successfully which is why I removed it

@nordicjm nordicjm requested a review from greg-fer December 13, 2024 09:07
@nordicjm
Copy link
Contributor Author

Ping @nrfconnect/ncs-nrf-cloud @nrfconnect/ncs-si-muffin @nordic-auko @nrfconnect/ncs-audio @nrfconnect/ncs-aegir @nrfconnect/ncs-dragoon @nrfconnect/ncs-si-bluebagel @nrfconnect/ncs-doc-leads @koffes @rick1082 @alexsven @gWacey

@greg-fer greg-fer dismissed their stale review December 13, 2024 09:19

Doc changes will be handled in another PR.

Copy link
Contributor

@tomi-font tomi-font left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

samples/tfm

Copy link
Contributor

@guwa guwa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We just found some part is missing in BLE. Will approve after it is being fixed.

@nordicjm
Copy link
Contributor Author

We just found some part is missing in BLE. Will approve after it is being fixed.

What part?

default "provisioning_image_net_core" if NETCORE_PROVISIONING_IMAGE_NET_CORE

config NETCORE_IMAGE_PATH
default "${ZEPHYR_NRF_MODULE_DIR}/samples/tfm/provisioning_image_net_core" if NETCORE_PROVISIONING_IMAGE_NET_CORE
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

provisioning_image_net_core sample was used for the singular purpose of locking the app_protect in network core, when CONFIG_TFM_NRF_PROVISIONING is used. This was demonstrated with tfm_psa_template sample.

tfm_psa_template sample was then changed so that network core image could be used and we could still guarantee that app_protect is locked. So the provisioning_image_net_core became unnecessary. However, it was left as the locking of the app_protect with tfm_psa_template required sysbuild.

I am not sure if there would still be some use for the provisioning_image_net_core sample, but I don't think that it should be used as default with provisioning sample. Doing so, breaks the tfm_psa_template sample, which expects to flash network core image.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed this with @frkv. The provisioning_image_net_core sample should be removed.

This would need the following changes (in the future documentation PR):

  • Remove the reference to provisioning_image_net_core from nrf/samples/tfm/provisioning_image/README.rst
  • Migration guide notice from removal, which would direct to use tfm_psa_template, which will take care of approtect locking.

@frkv
Copy link
Contributor

frkv commented Dec 18, 2024

It may be helpful for some users if we have a link to the generic sysbuild migration chapter (that came in NCS 2.7.0) in the changelog and/or a versioned NCS migration guide where this removal takes effect...

"Removed the deprecated child image support, please see insert chapter link for details"

@nordicjm
Copy link
Contributor Author

It may be helpful for some users if we have a link to the generic sysbuild migration chapter (that came in NCS 2.7.0) in the changelog and/or a versioned NCS migration guide where this removal takes effect...

"Removed the deprecated child image support, please see insert chapter link for details"

Will be added in the future doc rework PR after this PR, see #19283 (comment)

@nordicjm
Copy link
Contributor Author

@guwa can you explain the part about BLE issues as there's nothing failing in CI?

@nordicjm
Copy link
Contributor Author

@nrfconnect/ncs-nrf-cloud @nrfconnect/ncs-si-muffin @nrfconnect/ncs-si-bluebagel @nrfconnect/ncs-doc-leads please review

@koffes
Copy link
Contributor

koffes commented Jan 7, 2025

#19762 should fix these issues for Audio.

Removes support for child/parent image from these repos

Signed-off-by: Jamie McCrae <[email protected]>
Removes support for child/parent image

Signed-off-by: Jamie McCrae <[email protected]>
@nordicjm
Copy link
Contributor Author

nordicjm commented Jan 8, 2025

#19762 should fix these issues for Audio.

Thanks, included

@guwa
Copy link
Contributor

guwa commented Jan 8, 2025

@guwa can you explain the part about BLE issues as there's nothing failing in CI?

one EQB test plan testing nrf5340 is not using the new sysbuild yet. I will ask team when this can be done from our side.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ble mesh Label for ble mesh PRbot. Add this if PR is related to ble mesh and you need to get review. changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. CI-force-downstream DNM doc-required PR must not be merged without tech writer approval. manifest manifest-matter manifest-mcuboot manifest-zephyr
Projects
None yet
Development

Successfully merging this pull request may close these issues.