Upgradable bootloader with sysbuild

Hello,

I'm sorry to ask a maybe stupid question, but I'm a bit lost with the available boot loader options right now.

I want to setup an updatable and secure bootloader.

I know how to do it using child and parent images, but this approach is now deprecated.

The problem, I'm struggling with right now is, that I was not able to read the restrictions of the sysbuild's bootloader chain from the documentation.

Is there an example project somewhere related to the description at

https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding_sysbuild.html

?

I have found the example for https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/bootloaders_dfu/mcuboot_image_compression.html,

but there are too many restrictions (no network-core update, no image encryption, ...) for my application.

Could you please explain which sysbuild bootloader options are available right now, which are planned for the future and when they will be available?

Many thanks in advance.

Kind regards,

Christian

Parents
  • Hi Christian,

    Could you add information about which version of nRF Connect SDK you're using and verify if you're working with the nRF5340?

    but I'm a bit lost with the available boot loader options right now.

    I understand. There's a lot of information to sort through, specially when you're going from one procedure to a new one. But luckily it is not too complicated once you've done it once. And relatively shortly this lesson in our academy course regarding bootloaders will be updated to support sysbuild.

    The link you're referring to should include everything you need and the explaining for how to add the bootloader chain to your application. It will largely be identical to how you did it with child and parent images.

    Before you enabled your configuration and bootloader chain through

    • prj.conf 
    • pm_static.yml
    • child_image/mcuboot.overlay and /mcuboot.conf
    • child_image/any other relevant child_images

    Now you do it through

    • prj.conf
    • partition_manager or .dts (if you need a static partition)
    • sysbuild/sysbuild.conf, .overlay
    • child_image/any other relevant child_images

    You can also have a look at the sample mentioned here: https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/samples/sysbuild/sysbuild.html (or here in the SDK git: https://github.com/nrfconnect/sdk-zephyr/tree/main/samples/sysbuild) to see a minimal sample that showcases how to set up mcuboot through sysbuild.

    Let me know if this narrows down your search and feel free to ask follow up questions.

    Kind regard,
    Andreas

Reply
  • Hi Christian,

    Could you add information about which version of nRF Connect SDK you're using and verify if you're working with the nRF5340?

    but I'm a bit lost with the available boot loader options right now.

    I understand. There's a lot of information to sort through, specially when you're going from one procedure to a new one. But luckily it is not too complicated once you've done it once. And relatively shortly this lesson in our academy course regarding bootloaders will be updated to support sysbuild.

    The link you're referring to should include everything you need and the explaining for how to add the bootloader chain to your application. It will largely be identical to how you did it with child and parent images.

    Before you enabled your configuration and bootloader chain through

    • prj.conf 
    • pm_static.yml
    • child_image/mcuboot.overlay and /mcuboot.conf
    • child_image/any other relevant child_images

    Now you do it through

    • prj.conf
    • partition_manager or .dts (if you need a static partition)
    • sysbuild/sysbuild.conf, .overlay
    • child_image/any other relevant child_images

    You can also have a look at the sample mentioned here: https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/samples/sysbuild/sysbuild.html (or here in the SDK git: https://github.com/nrfconnect/sdk-zephyr/tree/main/samples/sysbuild) to see a minimal sample that showcases how to set up mcuboot through sysbuild.

    Let me know if this narrows down your search and feel free to ask follow up questions.

    Kind regard,
    Andreas

Children
Related