<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to properly add the private key to the bootloader (without warnings)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/105609/how-to-properly-add-the-private-key-to-the-bootloader-without-warnings</link><description>Hi, 
 I would like to add the private keys correctly to the bootloader to have a secure application. I&amp;#39;ve followed the steps described in the Devzone tickets ( 1 , 2 , 3 , ...) and online documentation( 1 , 2 , 3 , ...), but I don&amp;#39;t know if I&amp;#39;m done or</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 24 Jan 2024 08:55:10 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/105609/how-to-properly-add-the-private-key-to-the-bootloader-without-warnings" /><item><title>RE: How to properly add the private key to the bootloader (without warnings)</title><link>https://devzone.nordicsemi.com/thread/465722?ContentTypeID=1</link><pubDate>Wed, 24 Jan 2024 08:55:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f5255d90-5a61-4e8a-a569-452d2e3d2910</guid><dc:creator>AHaug</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I recommend you to have a look at&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/scripts/partition_manager/partition_manager.html#static-configuration"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/scripts/partition_manager/partition_manager.html#static-configuration&lt;/a&gt;&amp;nbsp;to learn more about how to add and how to configure a static partition&lt;/p&gt;
[quote user="J0sh1101"]As in the ticket mentioned, this warning is that the partition file is always recreated. However, for the realease version, the memory layout should be fixed. Therefore I moved the partition.yaml from my buid directory to the root directory and renamed it to pm_static.yaml.[/quote]
&lt;p&gt;This is the correct way to do it. In general all the partitions required will be generated at every build, but if you have defined the partitions in your pm_static.yml it will be skipped. Such as done in your case. If you wish to add more partitions such as for instance a settings_storage partition, you should follow the link I posted above for information about how to do so.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to properly add the private key to the bootloader (without warnings)</title><link>https://devzone.nordicsemi.com/thread/465640?ContentTypeID=1</link><pubDate>Tue, 23 Jan 2024 15:23:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fdc10c66-5633-49c7-a531-fd38db577135</guid><dc:creator>J0sh1101</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;sorry for my late reply. I have moved the code closer to the C drive, and it has now compiled correctly. I have two problems now. It doesn&amp;#39;t complain about the key, but it gives me a warning that the pm_static.yaml file is not used.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;Building mcuboot_manual_sign
west build --build-dir c:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk c:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign --pristine --board nrf9160dk_nrf9160 --no-sysbuild -- -DNCS_TOOLCHAIN_VERSION=NONE -DBOARD_ROOT=c:/ncs_workspace/mqtt_publisher;c:/ncs_workspace/mqtt;c:/ncs_workspace/blefund_less4_exer1_solution;c:/ncs_workspace/blefund_less4_exer3_solution;c:/ncs_workspace/nrf_dm;c:/ncs_workspace/asset_tracker_v2;c:/ncs_workspace/blinky_pwm;c:/ncs_workspace/lvgl-oled01;c:/ncs_workspace/dm_minimal;c:/ncs_workspace/nrf_cloud_rest_fota;c:/ncs_workspace/samples/littlefs_test;c:/ncs_workspace/fat_fs;c:/ncs_workspace/spi_flash_nrf9160;c:/ncs_workspace/mcuboot2;c:/ncs_workspace/aws_iot_mqtt;c:/ncs_workspace/mqtt_publisher_1;c:/ncs_workspace/blefund_less4_exer3;c:/ncs_workspace/nrf_cloud_rest_fota_ -DCONFIG_DEBUG_OPTIMIZATIONS=y -DCONFIG_DEBUG_THREAD_INFO=y -DCONF_FILE=c:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/prj.conf

-- west build: generating a build system
-- Application: C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign
-- CMake version: 3.20.5
Loading Zephyr default modules (Zephyr base).
-- Found Python3: C:/ncs/toolchains/c57af46cb7/opt/bin/python.exe (found suitable version &amp;quot;3.8.2&amp;quot;, minimum required is &amp;quot;3.8&amp;quot;) found components: Interpreter 
-- Cache files will be written to: C:/ncs/v2.5.0/zephyr/.cache
-- Zephyr version: 3.4.99 (C:/ncs/v2.5.0/zephyr)
-- Found west (found suitable version &amp;quot;1.1.0&amp;quot;, minimum required is &amp;quot;0.14.0&amp;quot;)
-- Board: nrf9160dk_nrf9160, Revision: 0.14.0
-- Found host-tools: zephyr 0.16.1 (C:/ncs/toolchains/c57af46cb7/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.16.1 (C:/ncs/toolchains/c57af46cb7/opt/zephyr-sdk)
-- Found Dtc: C:/ncs/toolchains/c57af46cb7/opt/bin/dtc.exe (found suitable version &amp;quot;1.4.7&amp;quot;, minimum required is &amp;quot;1.4.6&amp;quot;) 
-- Found BOARD.dts: C:/ncs/v2.5.0/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160.dts
-- Found devicetree overlay: C:/ncs/v2.5.0/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_0_14_0.overlay
-- Generated zephyr.dts: C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/zephyr/zephyr.dts
-- Generated devicetree_generated.h: C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/zephyr/include/generated/devicetree_generated.h
-- Including generated dts.cmake file: C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/zephyr/dts.cmake
Parsing C:/ncs/v2.5.0/zephyr/Kconfig
Loaded configuration &amp;#39;C:/ncs/v2.5.0/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_defconfig&amp;#39;
Merged configuration &amp;#39;c:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/prj.conf&amp;#39;
Merged configuration &amp;#39;C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/zephyr/misc/generated/extra_kconfig_options.conf&amp;#39;
Configuration saved to &amp;#39;C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/zephyr/.config&amp;#39;
Kconfig header saved to &amp;#39;C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/zephyr/include/generated/autoconf.h&amp;#39;
-- Found GnuLd: c:/ncs/toolchains/c57af46cb7/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe (found version &amp;quot;2.38&amp;quot;) 
-- 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/c57af46cb7/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
-- Found Python3: C:/ncs/toolchains/c57af46cb7/opt/bin/python.exe (found version &amp;quot;3.8.2&amp;quot;) found components: Interpreter 

=== child image mcuboot -  begin ===
loading initial cache file C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/mcuboot/child_image_preload.cmake
Loading Zephyr default modules (Zephyr base).
-- Application: C:/ncs/v2.5.0/bootloader/mcuboot/boot/zephyr
-- CMake version: 3.20.5
-- Found Python3: C:/ncs/toolchains/c57af46cb7/opt/bin/python.exe (found suitable version &amp;quot;3.8.2&amp;quot;, minimum required is &amp;quot;3.8&amp;quot;) found components: Interpreter 
-- Cache files will be written to: C:/ncs/v2.5.0/zephyr/.cache
-- Zephyr version: 3.4.99 (C:/ncs/v2.5.0/zephyr)
-- Found west (found suitable version &amp;quot;1.1.0&amp;quot;, minimum required is &amp;quot;0.14.0&amp;quot;)
-- Board: nrf9160dk_nrf9160, Revision: 0.14.0
-- Found host-tools: zephyr 0.16.1 (C:/ncs/toolchains/c57af46cb7/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.16.1 (C:/ncs/toolchains/c57af46cb7/opt/zephyr-sdk)
-- Found Dtc: C:/ncs/toolchains/c57af46cb7/opt/bin/dtc.exe (found suitable version &amp;quot;1.4.7&amp;quot;, minimum required is &amp;quot;1.4.6&amp;quot;) 
-- Found BOARD.dts: C:/ncs/v2.5.0/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160.dts
-- Found devicetree overlay: C:/ncs/v2.5.0/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_0_14_0.overlay
-- Found devicetree overlay: C:/ncs/v2.5.0/bootloader/mcuboot/boot/zephyr/app.overlay
-- Generated zephyr.dts: C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/mcuboot/zephyr/zephyr.dts
-- Generated devicetree_generated.h: C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/mcuboot/zephyr/include/generated/devicetree_generated.h
-- Including generated dts.cmake file: C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/mcuboot/zephyr/dts.cmake
Parsing C:/ncs/v2.5.0/bootloader/mcuboot/boot/zephyr/Kconfig
Loaded configuration &amp;#39;C:/ncs/v2.5.0/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_defconfig&amp;#39;
Merged configuration &amp;#39;C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/child_image/mcuboot/prj.conf&amp;#39;
Merged configuration &amp;#39;C:/ncs/v2.5.0/nrf/subsys/partition_manager/partition_manager_enabled.conf&amp;#39;
Merged configuration &amp;#39;C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/mcuboot/zephyr/misc/generated/extra_kconfig_options.conf&amp;#39;
Configuration saved to &amp;#39;C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/mcuboot/zephyr/.config&amp;#39;
Kconfig header saved to &amp;#39;C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/mcuboot/zephyr/include/generated/autoconf.h&amp;#39;
-- Found GnuLd: c:/ncs/toolchains/c57af46cb7/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe (found version &amp;quot;2.38&amp;quot;) 
-- 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/c57af46cb7/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
MCUBoot bootloader key file: C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/child_image/mcuboot/custom_priv.pem
-- Configuring done
-- Generating done
-- Build files have been written to: C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk/mcuboot
=== child image mcuboot -  end ===

CMake Warning at C:/ncs/v2.5.0/nrf/cmake/partition_manager.cmake:79 (message):
  

          ---------------------------------------------------------------------
          --- WARNING: Using a bootloader without pm_static.yml.            ---
          --- There are cases where a deployed product can consist of       ---
          --- multiple images, and only a subset of these images can be     ---
          --- upgraded through a firmware update mechanism. In such cases,  ---
          --- the upgradable images must have partitions that are static    ---
          --- and are matching the partition map used by the bootloader     ---
          --- programmed onto the device.                                   ---
          ---------------------------------------------------------------------
          

Call Stack (most recent call first):
  C:/ncs/v2.5.0/zephyr/cmake/modules/kernel.cmake:247 (include)
  C:/ncs/v2.5.0/zephyr/cmake/modules/zephyr_default.cmake:138 (include)
  C:/ncs/v2.5.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
  C:/ncs/v2.5.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  CMakeLists.txt:5 (find_package)


-- Configuring done
-- Generating done
-- Build files have been written to: C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk
-- west build: building application
[4/200] Generating include/generated/version.h
-- Zephyr version: 3.4.99 (C:/ncs/v2.5.0/zephyr), build: v3.4.99-ncs1
[3/255] Generating include/generated/version.h
-- Zephyr version: 3.4.99 (C:/ncs/v2.5.0/zephyr), build: v3.4.99-ncs1
[255/255] Linking C executable zephyr\zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       38278 B        48 KB     77.88%
             RAM:       22564 B       256 KB      8.61%
        IDT_LIST:          0 GB         2 KB      0.00%
[192/200] Linking C executable zephyr\zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       46508 B     474624 B      9.80%
             RAM:       12580 B       256 KB      4.80%
        IDT_LIST:          0 GB         2 KB      0.00%
[195/200] Generating ../../zephyr/app_update.bin
image.py: sign the payload
[196/200] Generating ../../zephyr/app_signed.hex
image.py: sign the payload
[198/200] Generating ../../zephyr/app_test_update.hex
image.py: sign the payload
[200/200] Generating zephyr/merged.hex
 *  Das Terminal wird von Aufgaben wiederverwendet, dr&amp;#252;cken Sie zum Schlie&amp;#223;en eine beliebige Taste. &lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I have updated it according to this ticket, &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/105251/warning-from-partition_manager-on-ncs-2-5-0"&gt;link&lt;/a&gt;. As in the ticket mentioned, this warning is that the partition file is always recreated. However, for the realease version, the memory layout should be fixed. Therefore I moved the partition.yaml from my buid directory to the root directory and renamed it to pm_static.yaml. After this change I get this message:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;- Found partition manager static configuration: C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/pm_static.yml
Partition &amp;#39;mcuboot&amp;#39; is not included in the dynamic resolving since it is statically defined.
Partition &amp;#39;mcuboot_pad&amp;#39; is not included in the dynamic resolving since it is statically defined.
Partition &amp;#39;mcuboot_primary&amp;#39; is not included in the dynamic resolving since it is statically defined.
Partition &amp;#39;mcuboot_primary_app&amp;#39; is not included in the dynamic resolving since it is statically defined.
Partition &amp;#39;mcuboot_secondary&amp;#39; is not included in the dynamic resolving since it is statically defined.
-- Configuring done
-- Generating done
-- Build files have been written to: C:/samples_for_nrf_connect_sdk/bootloader_samples/keys_and_signatures/mcuboot_manual_sign/build_nrf9160_dk&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;How do I include the other partitions?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I managed to compile the application bootloader_samples\keys_and_signatures\mcuboot_manual_sign with the private keys. However, the example nrf_cloud_rest_fota is a mystery to me. Is there a way to solve this problem?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to properly add the private key to the bootloader (without warnings)</title><link>https://devzone.nordicsemi.com/thread/457860?ContentTypeID=1</link><pubDate>Tue, 28 Nov 2023 13:17:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:154c0687-dfdd-4fda-838f-1e72129aa897</guid><dc:creator>AHaug</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="J0sh1101"]I tried to compile the sample project wich you gave me above (&lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/keys_and_signatures"&gt;https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/keys_and_signatures&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;).&amp;nbsp;I cloned, compiled it and got errors:[/quote]
&lt;p&gt;Regarding the error in the build output it looks like the path is too long. Try to copy the application and move it to somewhere with a shorter path. I know that if you clone the repo and add it to something like C/nordic/ncs/my_projects/the_git_repo/bootloader_samples/keys_and_signatures/the_app_you&amp;#39;re_testing, the path will be too long.and you will see such errors.&lt;/p&gt;
&lt;p&gt;Other than this the PM warnings are not something you need to worry about before you&amp;#39;re ready to test for DFU so lets resolve the other issue first.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to properly add the private key to the bootloader (without warnings)</title><link>https://devzone.nordicsemi.com/thread/457410?ContentTypeID=1</link><pubDate>Sat, 25 Nov 2023 13:30:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8132b5fd-9659-4044-8e52-5ac110cc6b0a</guid><dc:creator>J0sh1101</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am using the nrf9160dk.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks for the update.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to properly add the private key to the bootloader (without warnings)</title><link>https://devzone.nordicsemi.com/thread/457373?ContentTypeID=1</link><pubDate>Fri, 24 Nov 2023 15:13:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:01bf8d91-b52e-4643-a403-d094fea8b52d</guid><dc:creator>AHaug</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
[quote user="J0sh1101"]I updated the SDK to 2.5.0 and update the modem, maybe this is the reason I got this extra error message.&amp;nbsp;[/quote]
&lt;p&gt;Ah, I didn&amp;#39;t catch that you were using a 9160. I will check in with the author of the samples to see if there are anything different in this case.&lt;/p&gt;
&lt;p&gt;Are you using a Thingy:91 or a nRF9160dk?&lt;/p&gt;
&lt;p&gt;I will get back to you early next week&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to properly add the private key to the bootloader (without warnings)</title><link>https://devzone.nordicsemi.com/thread/456689?ContentTypeID=1</link><pubDate>Tue, 21 Nov 2023 13:33:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bfa9daa0-f8c7-4380-9881-6316762199b3</guid><dc:creator>J0sh1101</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote userid="107683" url="~/f/nordic-q-a/105609/how-to-properly-add-the-private-key-to-the-bootloader-without-warnings/455323"]In the two first warnings it looks like the location has not been parsed correctly by the build system. Are you certain that the path is&amp;nbsp;&amp;quot;C:\\keys\\priv_ecdsa.pem&amp;quot;? Could you cross examine with the samples in&amp;nbsp;&lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/keys_and_signatures"&gt;https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/keys_and_signatures&lt;/a&gt;&amp;nbsp;(which stores the keys within the project folder)[/quote]
&lt;p&gt;Yes, the file exists. Below is the prof:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1700571688039v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;After looking at the example, I proceeded in exactly the same way. I added the keys to the project folder. Below you can see the resulting folder structure:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1700572234689v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Add the flags in the CMakeLists.txt as follows:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#
# Copyright (c) 2021 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

cmake_minimum_required(VERSION 3.20.0)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(nRF_Cloud_REST_FOTA_Sample)
zephyr_compile_definitions(PROJECT_NAME=${PROJECT_NAME})

set(mcuboot_CONFIG_BOOT_SIGNATURE_KEY_FILE \&amp;quot;${CMAKE_CURRENT_SOURCE_DIR}/keys/priv_ecdsa.pem\&amp;quot;)
set(mcuboot_CONFIG_SB_SIGNING_KEY_FILE \&amp;quot;${CMAKE_CURRENT_SOURCE_DIR}/keys/priv_ecdsa.pem\&amp;quot;)

# NORDIC SDK APP START
target_sources(app PRIVATE src/main.c)
# NORDIC SDK APP END

add_subdirectory(src/fota)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I am still getting the same errors in the compilation process and a bit more:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1700572710135v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;I updated the SDK to 2.5.0 and update the modem, maybe this is the reason I got this extra error message.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I tried to compile the sample project wich you gave me above (&lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/keys_and_signatures"&gt;https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/keys_and_signatures&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;).&amp;nbsp;I cloned, compiled it and got errors:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1700573535985v3.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Are there additional examples that compile without warnings and are compatible with the latest SDK?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks for the help.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to properly add the private key to the bootloader (without warnings)</title><link>https://devzone.nordicsemi.com/thread/455323?ContentTypeID=1</link><pubDate>Mon, 13 Nov 2023 14:13:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2d5cbcc0-6efd-46a1-8a1b-a7eaa89b0366</guid><dc:creator>AHaug</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
[quote user=""]What steps can I take to eliminate these warnings?[/quote]
&lt;p&gt;In the two first warnings it looks like the location has not been parsed correctly by the build system. Are you certain that the path is&amp;nbsp;&amp;quot;C:\\keys\\priv_ecdsa.pem&amp;quot;? Could you cross examine with the samples in&amp;nbsp;&lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/keys_and_signatures"&gt;https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/keys_and_signatures&lt;/a&gt;&amp;nbsp;(which stores the keys within the project folder)&lt;/p&gt;
&lt;p&gt;The two lasts warnings are not related to the key issue&lt;/p&gt;
[quote user=""]How can I verify that the bootloader has successfully incorporated the private key into the bootloader image?[/quote]
&lt;p&gt;I will have to check this item and come back to you&lt;/p&gt;
[quote user=""]Why does the bootloader always create 3 images (child-image b0, child-image mcuboot, child-image s1-image)?[/quote]
&lt;p&gt;You&amp;#39;ve configured the device to build all three images in your prj.conf. You can check the configurations here&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/kconfig/index.html"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/kconfig/index.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The parent page&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.3.0/nrf/app_dev/bootloaders_and_dfu/index.html"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.3.0/nrf/app_dev/bootloaders_and_dfu/index.html&lt;/a&gt;&amp;nbsp;takes you through steps such as enabling secure boot, i.e to enable b0 by adding CONFIG_SECURE_BOOT=y and you have CONFIG_BOOTLOADER_MCUBOOT=y i.e mcuboot enabled.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>