Skip to content

examples/advanced/suit_update: simplify setup #21565

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

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

fabian18
Copy link
Contributor

Contribution description

Because I always run into pitfalls when trying to test the SUIT example, I wanted to ease the setup for me a little bit.
This PR

  • adds a start_network.sh for the SUIT example
  • alters the Makefiles a bit
  • adds a constant SUIT manifest URL the the suit fetch command.

Testing procedure

Client:
USE_ETHOS=0 SUIT_COAP_SERVER_IFACE=enp1s0f0 BOARD=same54-xpro make -C examples/advanced/suit_update/ flash term

Welcome to pyterm!
Type '/exit' to exit.
ifconfig
2025-06-27 10:46:55,741 # ifconfig
2025-06-27 10:46:55,746 # Iface  5  HWaddr: FC:C2:3D:2F:8E:90  Link: up 
2025-06-27 10:46:55,752 #           L2-PDU:1500  MTU:1500  HL:64  Source address length: 6
2025-06-27 10:46:55,754 #           Link type: wired
2025-06-27 10:46:55,760 #           inet6 addr: fe80::fec2:3dff:fe2f:8e90  scope: link  VAL
2025-06-27 10:46:55,766 #           inet6 addr: 2001:db8::fec2:3dff:fe2f:8e90  scope: global  VAL
2025-06-27 10:46:55,769 #           inet6 group: ff02::1
2025-06-27 10:46:55,773 #           inet6 group: ff02::1:ff2f:8e90
2025-06-27 10:46:55,773 # 

Server:
make -C examples/advanced/suit_update/ suit_coap_server

Publish:
USE_ETHOS=0 SUIT_COAP_SERVER_IFACE=enp1s0f0 BOARD=same54-xpro make -C examples/advanced/suit_update/ clean suit/publish

Fetch:

2025-06-27 10:48:31,218 # suit fetch
2025-06-27 10:48:31,220 # suit_worker: started.
2025-06-27 10:48:31,229 # suit_worker: downloading "coap://[2001:db8::1]/fw/suit_update/same54-xpro/riot.suit.latest.bin"
> 2025-06-27 10:48:31,238 # suit_worker: got manifest with size 485
2025-06-27 10:48:31,241 # suit: verifying manifest signature
2025-06-27 10:48:32,384 # suit: validated manifest version
2025-06-27 10:48:32,389 # Manifest seq_no: 1751014057, highest available: 1751013903
2025-06-27 10:48:32,392 # suit: validated sequence number
2025-06-27 10:48:32,394 # Formatted component name: 
2025-06-27 10:48:32,399 # Comparing manifest offset 4000 with other slot offset
2025-06-27 10:48:32,404 # Comparing manifest offset 82000 with other slot offset
2025-06-27 10:48:32,406 # validating vendor ID
2025-06-27 10:48:32,414 # Comparing 547d0d74-6d3a-5a92-9662-4881afd9407b to 547d0d74-6d3a-5a92-9662-4881afd9407b from manifest
2025-06-27 10:48:32,417 # validating vendor ID: OK
2025-06-27 10:48:32,418 # validating class id
2025-06-27 10:48:32,427 # Comparing 50244518-6a7c-5ce7-932b-88b318336c82 to 50244518-6a7c-5ce7-932b-88b318336c82 from manifest
2025-06-27 10:48:32,429 # validating class id: OK
2025-06-27 10:48:32,434 # Comparing manifest offset 4000 with other slot offset
2025-06-27 10:48:32,439 # Comparing manifest offset 82000 with other slot offset
2025-06-27 10:48:32,441 # SUIT policy check OK.
2025-06-27 10:48:32,443 # Formatted component name: 
2025-06-27 10:48:32,449 # riotboot_flashwrite: initializing update to target slot 1
2025-06-27 10:48:32,485 # Fetching firmware |█████████████████████████| 100%
2025-06-27 10:48:54,538 # Finalizing payload store
2025-06-27 10:48:54,540 # Verifying image digest
2025-06-27 10:48:54,544 # Starting digest verification against image
2025-06-27 10:48:54,646 # Install correct payload
2025-06-27 10:48:54,649 # Verified installed payload
2025-06-27 10:48:54,651 # Verifying image digest
2025-06-27 10:48:54,654 # Starting digest verification against image
2025-06-27 10:48:54,757 # Verified installed payload
2025-06-27 10:48:54,760 # Image magic_number: 0x544f4952
2025-06-27 10:48:54,762 # Image Version: 0x685e5aa9
2025-06-27 10:48:54,765 # Image start address: 0x00082400
2025-06-27 10:48:54,767 # Header chksum: 0x494384b1
2025-06-27 10:48:54,768 # 
2025-06-27 10:48:55,770 # suit_worker: update successful
2025-06-27 10:48:55,772 # suit_worker: rebooting...
2025-06-27 10:48:55,810 # main(): This is RIOT! (Version: 2025.07-devel-350-g22ddb-pr/suit_update_simplification)
2025-06-27 10:48:55,813 # RIOT SUIT update example application
2025-06-27 10:48:55,815 # Running from slot 1
2025-06-27 10:48:55,818 # Image magic_number: 0x544f4952
2025-06-27 10:48:55,820 # Image Version: 0x685e5aa9
2025-06-27 10:48:55,823 # Image start address: 0x00082400
2025-06-27 10:48:55,825 # Header chksum: 0x494384b1
2025-06-27 10:48:55,825 # 
2025-06-27 10:48:55,827 # Starting the shell

Issues/PRs references

@github-actions github-actions bot added Area: sys Area: System Area: examples Area: Example Applications labels Jun 27, 2025
@crasbe crasbe added Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Jun 27, 2025
Copy link
Contributor

Choose a reason for hiding this comment

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

The new script is missing a license header and Shellcheck has some warnings too.

You can also use the new SPDX header style: see #21515

@riot-ci
Copy link

riot-ci commented Jun 27, 2025

Murdock results

FAILED

5feb87f fixup! examples/advanced/suit_update: add start_network.sh

Success Failures Total Runtime
329 0 9533 02m:01s

Artifacts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: examples Area: Example Applications Area: sys Area: System CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants