🛠 Images custom et flotte : construire son Yocto, déployer par OTA avec fioctl et Waves

Arduino Portenta X8 · avance · Schéma : IMG-portenta-x8-avance-2-portenta-x8-image-yocto-ota-fleet.svg — pipeline de déploiement : poste de build Yocto avec la couche meta-partner-arduino, usine FoundriesFactory, flèches OTA signées vers trois Portenta X8 alignées, terminal affichant fioctl updates et docker ps avec des conteneurs versionnés, étiquette Linux microPlatform

Objectives

Move from "hacking my board" to "managing a fleet." The factory image is a Linux microPlatform (LMP) from Foundries.io, built with Yocto; the Arduino BSP layer is public (arduino/meta-partner-arduino), as are the kernel modules (portentax8-x8h7). The official workflow: a FoundriesFactory builds the OS + containers, fioctl drives updates, and OTA — guaranteed atomic by LMP's A/B structure — pushes both the OS and containers. In the managed version, Arduino Cloud for Business / Portenta X8 Manager adds provisioning via individual keys and fleet monitoring; the official waves-fleet-managment tutorial covers remote container deployment.

Hardware

Full Code

# --- Cote poste de build ---
# 1. Initialiser sa factory (guidé par la doc Foundries.io)
fioctl login

# 2. Récuperer la BSP Arduino : couche meta-partner-arduino
#    (github.com/arduino/meta-partner-arduino) + recipes LMP ;
#    tuto officiel : docs.arduino.cc/tutorials/portenta-x8/image-building
#    puis : bitbake lmp-factory-image

# 3. Pousser la branche de build vers la factory
git push
# -> la factory compile en cloud et héberge l'OTA

# --- Cote carte : suivre la mise a jour ---
adb shell
fio@portenta-x8:~$ sudo journalctl -fu ostree-remount   # ou update manager
fio@portenta-x8:~$ docker ps      # les conteneurs applicatifs suivent l'OTA

# --- Cote flotte ---
fioctl updates list               # état de rollout par appareil
fioctl devices list
# Gestion managée alternative : Arduino Cloud for Business /
# Portenta X8 Manager (provisioning keys + monitoring),
# ou le workflow « Waves » du tuto officiel waves-fleet-managment.

Expected Verification

After git push, the factory compiles the image; the enrolled board downloads the OTA and switches to the new OS without bricking: if boot fails, LMP's A/B mechanism reverts to the previous image. Application containers update independently, versioned like Docker images — this is exactly the deployment model exploited by the Waves tutorial for a fleet.

Common Errors

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials