🛠 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

Objetivos

Pasar de « trasteo con mi placa » a « gestiono una flota ». La imagen de fábrica es una Linux microPlatform (LMP) de Foundries.io, construida con Yocto; la capa BSP de Arduino es pública (arduino/meta-partner-arduino), y los módulos del kernel también (portentax8-x8h7). El flujo de trabajo oficial: una FoundriesFactory compila el SO + contenedores, fioctl gestiona las actualizaciones, y la OTA —garantizada como atómica por la estructura A/B de LMP— despliega tanto el SO como los contenedores. En la versión gestionada, Arduino Cloud for Business / Portenta X8 Manager añade el aprovisionamiento mediante claves individuales y la monitorización de la flota; el tutorial oficial waves-fleet-managment cubre el despliegue remoto de contenedores.

Hardware

Código completo

# --- 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.

Verificación esperada

Tras git push, la factory compila la imagen; la placa inscrita descarga la OTA y cambia al nuevo SO sin bloquearse: en caso de fallo de arranque, el mecanismo A/B de LMP vuelve a la imagen anterior. Los contenedores de aplicación se actualizan de forma independiente, versionados como imágenes Docker —este es exactamente el modelo de despliegue que explota el tutorial Waves para una flota.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales