-
Notifications
You must be signed in to change notification settings - Fork 643
boot/mcuboot: update MCUBoot version #3200
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
base: master
Are you sure you want to change the base?
boot/mcuboot: update MCUBoot version #3200
Conversation
|
Thank you @fdcavalcanti :-) CI job failed, restarted :-) Do we use a releases or just master branch for mcuboot? Would it be possible to add version comparison and changelog to make sure there are no breaking changes for users? :-) |
|
@fdcavalcanti please fix the spelling error: |
Hey @cederom, sure I will summarize the changelog.
|
9c85efd to
b9cec58
Compare
|
Thanks @fdcavalcanti :-) Lets try to stick to a release unless there are some important fixes introduced between releases :-) We seem to be good to go except still there was CI build error :-P |
b9cec58 to
edfa27c
Compare
Updates default MCUBoot hash. Signed-off-by: Filipe Cavalcanti <[email protected]>
edfa27c to
fe83bc5
Compare
|
Seems those boards are setting a custom MCUBoot version, but will fail to build due because this PR adds a new source file. Not sure how we can approach this. Any ideas? |
@raiden00pl ? :-)
@JianyuWang0623 @hujun260 @jturnsek ? :-)
@JianyuWang0623 @raiden00pl @davids5 @xiaoxiang781216 @tito97sp ? :-)
I guess we should use common version for all boards as you propose @fdcavalcanti, but maybe there are exceptions for some boards, maybe these are just leftovers where was not common mcuboot yet? If committers of the code have insight and board at hand and could verify if the updated project wide mcuboot version fits these specific boards then we could remove board/config specific mcuboot versions and use one common version. I have nRF52832-DK, nRF52840-DK, and NUCLEO-h755ZI, but no imxrt1064-evk (~200EUR). |
|
I think we can remove these hardcoded |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @fdcavalcanti for this MCUBoot version update and the apache/nuttx#17281 fixes :-)
Lets just wait for CI to complete it should go smooth right now :-)
|
@fdcavalcanti errors with
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
more fixes required :-P
Seems those warnings are being treated as errors, just a type mismatching. The alternative is a patch on MCUBoot, which I'm unable to do. You guys okay with the defconfig change? |
|
In the past I've been submitting patch with fix to MCUboot repo instead of masking error at NuttX repo. My personal take is to add temporary patch that fixes an issue and submit fix to MCUboot |
Summary
Updates default MCUBoot hash.
This PR updates the default hash for MCUBoot.
Here is a summary of changes (AI assisted).
MCUboot Changes Summary (fefc398 → 8a07053)
Overall Statistics
NuttX-Specific Changes
File:
boot/nuttx/include/mcuboot_config/mcuboot_config.hAdded configuration definitions:
MCUBOOT_DEV_WITH_ERASE- Enables flash erase operations with device driversMCUBOOT_USE_TLV_ALLOW_LIST 1- Enables non-protected TLV allow list validationCore Changes Affecting NuttX
New Bootutil APIs
boot_get_loader_state()- Get bootloader stateboot_get_image_max_sizes()- Get image maximum sizes arrayboot_get_max_app_size()- Get maximum application sizeboot_fetch_slot_state_sizes()- Fetch slot state sizesboot_get_state_secondary_offset()- Get secondary slot offset from stateNew Structures
struct image_max_size- Structure to store calculated max size informationBoot Serial Encryption
boot_serial_encryption.handboot_serial_encryption.cOther Relevant Changes
Key Commits
ae2d0d61- sys: Add MCUBOOT_USE_TLV_ALLOW_LIST to mcuboot_config.ha13624f0- bootutil: Add MCUBOOT_USE_TLV_ALLOW_LISTf6e1af89- doc: Add information on TLV allow list94ad4d44- boot: Add VID and CID checks82bd4a76- boot: bootutil: Fix pure image validation check with offset swapImpact on NuttX Integration
These changes introduce:
MCUBOOT_DEV_WITH_ERASEprovides better control over flash erase operationsMCUBOOT_USE_TLV_ALLOW_LISTenables allow list checking for non-protected TLV entriesImpact
Testing
Tested with mcuboot_update_agent defconfig of ESP32.
Building
Build the mcuboot_update_agent defconfig or use SD card to locally run an update.
Tested with and without flash encryption.
After flashing, change target slot to slot 1 and build again. Then, I moved the new binary a SD Card and mounted to /mnt.
Used to SD Card update app.
Results