Today I spent a decent chunk of my day picking apart #mcuboot so I could read some custom TLVs.

https://github.com/mcu-tools/mcuboot/discussions/2273#discussioncomment-14800831 is my findings.

Looking for custom tlv documentation · mcu-tools mcuboot · Discussion #2273

I am trying to add additional data to my images, which should be used as an additional information about whether the image should be booted or not (one hardware with one bootloader becoming differe...

GitHub

The last few days I spent a fair chunk of my day arguing with the nRF Connect SDK and its Partition Manager…

The goal: trying to get NSIB and mcuboot to behave with the secondary image on external (QSPI) flash.

Took the better part of yesterday and today just getting a `pm_static.yml` together… only for it to compile an image, and `west flash` to barf because the image file embedded both on-chip flash data *and* a copy of the bootloader for the QSPI flash.

In the end, I came to the following conclusions:

1. Partition manager is over-engineered and fails at its prime objective of making partition layout easier (they tell you to skip dynamic layout and use `pm_static.yml` when doing DFU… enough said!)
2. NSIB is a no-go if external flash is involved because it *insists* on making a composite image that won't actually load.

Tomorrow, I'll see if I can bend `mcuboot` to my will. Primarily I want to see if I can move the public keys it uses for authenticity checks into a separate partition so I can update those without flashing a whole new bootloader.

#mcuboot #nrfconnect #nsib #nrf52840 #zephyr #openthread

#MCUBoot

MCUboot is a secure bootloader for 32-bit MCUs. The goal of MCUboot is to define a common infrastructure for the bootloader, system flash layout on microcontroller systems, and to provide a secure bootloader that enables easy software upgrade

link: https://docs.nordicsemi.com/bundle/ncs-1.2.1/page/mcuboot/index.html

Technical Documentation

Has anyone tried #mcuboot on the rp2040?
Someone once said, "Rule #0 in firmware is `don't F up the bootloader.`" IoT needs a secure, reliable and flexible standard bootloader and we think MCUboot is on the way to becoming just that!
---
RT @golioth_iot
We've been users of #MCUboot with our @ZephyrIoT SDK and thrilled to join the project alongside @LinaroOrg, @NordicTweets and other great companies. https://twitter.com/LinaroOrg/status/1422550029101846533
https://twitter.com/golioth_iot/status/1422589702536785920
Linaro on Twitter

“#MCUboot - a Linaro Community project - is pleased to welcome @golioth_iot as a new project member! Check out this blog for more info: https://t.co/XXrMD9ntkp #security #opensource #bootloader”

Twitter
This is awesome. MCUboot is a great, cross-OS bootloader and glad to see it getting more support.
---
RT @LinaroOrg
MCUboot becomes a Linaro Community Project! #MCUboot is a secure #bootloader for 32-bit MCUs: http://ow.ly/iaix50Fcjp9 @Arm @Infineon #Linaro @NordicTweets @ST_World
https://twitter.com/LinaroOrg/status/1405461486873583629
MCUboot project joins the Linaro Community Projects division

MCUboot project joins the Linaro Community Projects division

LVC20-315 Using Rust in MCUboot

It seems the Rust programming language comes up frequently these days, and there is a lot of interest in it. We have been using Rust to implement a simulation test environment within MCUboot since 2017. This presentation will discuss our experience with Rust, and our hopes of how this language might help other projects in the future, especially in regards to security.

#PineTime Community @PINE64 is now creating the #RustLang + #Mynewt Firmware to update the #MCUBoot Bootloader...

https://github.com/lupyuen/pinetime-rust-mynewt/issues/29

Firmware to update MCUBoot Bootloader · Issue #29 · lupyuen/pinetime-rust-mynewt

Hi thanks for helping to create the Rust+Mynewt firmware for updating the MCUBoot Bootloader :-) Try writing some Rust code in https://github.com/lupyuen/pinetime-rust-mynewt/blob/master/rust/app/s...

#PineTime S.O.S. @PINE64 ... How the new #MCUBoot Bootloader signals that the firmware can't be started https://github.com/lupyuen/pinetime-rust-mynewt/issues/24
Bootloader does not start properly after a watchdog reset/incoherent SPI state · Issue #24 · lupyuen/pinetime-rust-mynewt

I'm working on this issue in InfiniTime : race conditions occurs during sleep/wakeup and something put the devices (spi) into an incoherent state (I think it is disabled while a transaction is ...

How to debug SPI problems in the #MCUBoot Bootloader for #PineTime @PINE64 ? By toggling the GPIO Pins to blink the Backlight! https://github.com/lupyuen/pinetime-rust-mynewt/blob/blink/libs/pinetime_boot/src/blink.c
lupyuen/pinetime-rust-mynewt

PineTime Smart Watch firmware based on Rust and Apache Mynewt OS - lupyuen/pinetime-rust-mynewt