Skip to content

loader: add ota#424

Open
gibix wants to merge 3 commits into
arduino:mainfrom
gibix:feat/ota
Open

loader: add ota#424
gibix wants to merge 3 commits into
arduino:mainfrom
gibix:feat/ota

Conversation

@gibix

@gibix gibix commented Apr 14, 2026

Copy link
Copy Markdown
Member

This is a first porting of portenta_ota and

The main "change" is that now the ota payload contains <llext loader + padding + user sketch>

Features

  • http
  • https
  • chunked http
  • lzss compression
  • example with ethernet
  • example with progress download
  • user callback for ota compleated

Boards

  • portentah7 (compile and tested)
  • opta
  • giga
  • c33

Step to reproduce

  • build extra/ota-pack
  • rebuild the core for you board
  • compile an example (blink) and save the .ota file from the output dir
  • run a simple http server python -m http.server 8000 in the directory that contains the sketch
  • flash the bootloader
  • flash the ota example sketch

@gibix gibix changed the title Feat/ota feat: ota Apr 14, 2026
@gibix gibix changed the title feat: ota feat: portenta ota Apr 14, 2026
@CLAassistant

CLAassistant commented Apr 14, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@gibix gibix changed the title feat: portenta ota feat: ota May 14, 2026
@gibix
gibix marked this pull request as ready for review May 14, 2026 10:25
@gibix gibix changed the title feat: ota loader: add ota May 14, 2026
@gibix
gibix force-pushed the feat/ota branch 2 times, most recently from 05e8558 to 6d33c9d Compare June 15, 2026 09:28
@andreagilardoni
andreagilardoni force-pushed the feat/ota branch 3 times, most recently from f39142e to d756b49 Compare July 21, 2026 13:07
@andreagilardoni

Copy link
Copy Markdown

This PR needs to be merged on top of #550

andreagilardoni and others added 2 commits July 21, 2026 15:11
moved sketch header outside of loader main, in order to favor reuse of
that code section, it can then be used by the sketch itself for ota

Signed-off-by: Andrea Gilardoni <a.gilardoni@arduino.cc>
On boot, install /ota:/UPDATE.BIN into the user_sketch partition when
the file is present. Validates the inner sketch header and bounds, and
keeps UPDATE.BIN on post-erase failure so the next boot can retry.

Signed-off-by: Gilberto Conti <g.conti@arduino.cc>
@github-actions

Copy link
Copy Markdown

Built 0.56.1-0.pr.424.81+bac80f70

CI run PASSED 🟢

ArtifactBoardCoreTestsRAMSketchesWarningsErrors
✅* zephyr_contrib ek_ra8d1 1 🏷️ ✅*

11.9%

22-
frdm_mcxn947 7 🏷️ ✅*

58.6%

22-
frdm_rw612 2 🏷️ ✅*

83.2%

22-
✔️* zephyr_main giga 5 🏷️ ✅*

39.3%

7240-
nano33ble 1 🏷️ ✅*

78.9%

4218-
nano_connect 📗 ✅*

48.1%

3218-
nano_matter 2 🏷️ ✅*

⚠️ 86.1%

2210-
nicla_sense 3 🏷️ ✅*

⚠️ 87.6%

1810-
nicla_vision 4 🏷️ ✔️*

39.5%

5628(2*)
opta 4 🏷️ ✅*

42.4%

6644-
portentac33 3 🏷️ ✅*

81.8%

7070-
portentah7 3 🏷️ ✅*

41.2%

8452-
✅* zephyr_unoq unoq 1 🏷️ ✅*

43.5%

5612-
Legend

BoardTestStatus description
🔥 🔥 Test run failed to complete.
🔴 Test completed with unexpected errors.
⁉️ ⁉️ Test was expected to fail but passed; exception entry is outdated.
✔️* 🚫 Test completed with errors, but all are known/expected.
✅* 🟡 Test completed with some warnings; no errors detected.
🟢 Test passed successfully, with no warnings or errors.
🌑 🌑 Test was skipped.

enable ota support for tested boards

Signed-off-by: Andrea Gilardoni <a.gilardoni@arduino.cc>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants