feat: Add SUIT-verified update example - #17
Conversation
Copy the existing updatable-async example as a baseline for a SUIT-based variant. Signed-off-by: Jakob Hirschler <jakob.hirschler@posteo.de>
Extend the updatable async example with SUIT manifest verification. Add demo signing material and README instructions to use them. Signed-off-by: Jakob Hirschler <jakob.hirschler@posteo.de>
f5b9204 to
ba94633
Compare
|
Hey, sorry I never got any notifications for this so I just now discovered the existence of this PR. |
anlavandier
left a comment
There was a problem hiding this comment.
Thanks a lot for this great contribution. Everything looks good from my side. Just for readability I would prefer if you moved the VmControl related code to another file for readability.
Signed-off-by: Jakob Hirschler <jakob.hirschler@posteo.de>
|
No worries about the delay! |
anlavandier
left a comment
There was a problem hiding this comment.
See the comments below.
I was able to test this on the hardware I had available namely the dfrobot-firebeetle-esp32-c6 and the rpi-pico2-w. After this round I think that this will be ready to be merged.
Thanks a lot for this contribution !
| #[ariel_os::task(autostart)] | ||
| async fn coap_task() { | ||
| let control = VmControl::new(); | ||
|
|
||
| let handler = new_dispatcher() | ||
| .at_with_attributes(&["vm-control"], &[], control) | ||
| .with_wkc(); | ||
|
|
||
| info!("Starting CoAP handler"); | ||
| coap_run(handler).await; | ||
| } |
There was a problem hiding this comment.
Sorry, I should have been more precise, I wanted the same thing that you did with the coap client and suit code where the ariel_os::task stays in main.rs
| apps: | ||
| - name: suit-updatable | ||
| context: | ||
| - espressif-esp32-c6-devkitc-1 |
There was a problem hiding this comment.
| - espressif-esp32-c6-devkitc-1 | |
| - espressif-esp32-c6-devkitc-1 | |
| - dfrobot-firebeetle2-esp32-c6 | |
| - rpi-pico2-w |
|
|
||
| This example has been tested on the following boards: | ||
|
|
||
| - ESP32-C6-DevKitC-1 |
There was a problem hiding this comment.
| - ESP32-C6-DevKitC-1 | |
| - `espressif-esp32-c6-devkit-c1` | |
| - `dfrobot-firebeetle2-esp32-c6` | |
| - `rpi-pico2-w` |
Putting the laze builders here make testing simpler by using the name of the boards that are known to Ariel OS.
This PR adds an example showing how a wasm capsule can be updated over CoAP using a signed SUIT manifest.
The SUIT handling is built on
dress-up. The example integrates it with theupdatable-asyncupdate flow and documents the commands needed to build and send a signed update.I’d be very interested in feedback on this.