Solution de mise à jour OTA open source RAUC pour Linux embarqué portée sur Rock Pi 4 SBC

RAUC OTA firmware update Rock Pi 4

La solution de mise à jour OTA open source RAUC permettant les mises à jour A/B pour les images Linux intégrées a récemment été portée sur le SBC Radxa Rock Pi 4 modèle B alimenté par un SoC Rockchip OP1 par le responsable du projet, Leon Anavi travaillant pour le groupe Konsulto.

Si vous utilisez une distribution Linux comme Ubuntu, Debian ou Fedora, les paquets et les images du système d’exploitation sont gérés automatiquement ou en exécutant quelques commandes. Cependant, les ingénieurs logiciels qui créent des images Linux intégrées personnalisées avec le projet Yocto ou Buildroot doivent gérer cela eux-mêmes. Heureusement, il existe déjà des solutions de mise à jour de firmware OTA open source telles que Mender, Balena, Torizon, OSTree, Snap ou RAUC, et nous allons examiner cette dernière aujourd’hui.

Mise à jour du micrologiciel RAUC OTA Rock Pi 4

RAUC (Robust Auto-Update Controller) a été lancé par Pengutronix en 2015 et finalement adopté par la communauté. Il s’agit d’un client de mise à jour léger qui s’exécute sur un périphérique Linux embarqué et contrôle la procédure de mise à jour A/B lorsqu’une nouvelle révision du firmware est envoyée sur le périphérique. Il est sécurisé avec la cryptographie X.509 utilisée pour signer les bundles de mise à jour et fonctionne avec le projet Yocto et OpenEmbedded, Buildroot et PTXdist. RAUC est désormais hébergé en tant que projet open source sur GitHub sous des licences MIT ou LGPLv2.1 selon le référentiel.

La nouvelle d’aujourd’hui est que Leon a ajouté la première carte Rockchip à RAUC, à savoir le Rock Pi 4 SBC alimenté par un SoC Rockchip OP1/RK3399, et a fourni des instructions détaillées pour démarrer avec le Radxa. Mais RAUC est pris en charge par une gamme d’appareils, notamment le matériel Raspberry Pi, et des intégrations de démonstration RAUC sont disponibles pour les plates-formes suivantes :

  • Matériel NXP (méta-freescale)
  • émulateur qemux86-64
  • Raspberry Pi (méta-raspberrypi)
  • SoC Allwinner Sunxi (méta-sunxi)
  • Plateformes NVIDIA Jetson, basées sur L4T (méta-tegra)
  • Rock Pi 4 modèle B et autres appareils Rockchip (méta-rockchip)
Mises à jour du firmware A/B avec RAUC
Processus de mise à jour du firmware A/B avec RAUC

Notez que RAUC fournit uniquement une CLI. Ce n’est pas un serveur de déploiement et ne fournit pas d’interface graphique, mais il est compatible avec le framework Eclipse hawkBit pour déployer des mises à jour logicielles qui fournissent tout cela.

Architecture logicielle Eclipse Hawkbit
Architecture logicielle Eclipse hawkBit

Vous trouverez plus de détails sur le site Web de documentation RAUC, et Leon a également fait une présentation au FOSDEM 2022 intitulée « Bringing RAUC A/B Updates to More Linux Devices ». Les diapositives peuvent être téléchargées sur le site Web FOSDEM et vous pouvez également regarder la présentation intégrée ci-dessous.

YouTube video

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

YouTube video