etat-systeme.sh

Arduino Portenta X8 · Fichier : etat-systeme.sh · Langage : Bash · Usage : Prendre le pouls du Linux de la carte en un coup d'oeil

Le check-up complet en 30 secondes : noyau, distribution, charge, mémoire, stockage et température du SoC. Premier réflexe en SSH sur la Portenta X8 pour vérifier que l'image Linux tourne dans de bonnes conditions.

Matériel requis

Une Arduino Portenta X8 (module ST STM32MP1 : quad Cortex-A7 Linux + double cœur Cortex-M4 temps réel, 8 Go eMMC, 2 Go LPDDR4, Wi-Fi/BT embarqués, option LTE). Aucun ; un accès SSH ou une console série sur la carte.

Câblage

Rien à câbler. Accès conseillé : SSH par USB-C (routed) ou réseau.

Fonctionnement

Le script empile les lectures sysfs/procfs standard du noyau Linux ; tout est en lecture seule, sans risque pour le système.

Exécution

Côté Linux : accès SSH (USB-C routed ou réseau) sur l'image Portenta Linux, scripts bash/Python. Côté temps réel : Arduino IDE avec le core « Arduino Mbed OS Portenta X8 Boards », cœur M7 applicatif, flash via mboot depuis Linux.

Variantes

Le lancer en cron toutes les heures vers un fichier pour un historique, ou le croiser avec le core Arduino temps réel.

etat-systeme.sh

#!/bin/bash
# Etat general du Linux embarque : noyau, charge, memoire, stockage.
# Aucune dependance.

echo "== Systeme =="
uname -a
cat /etc/os-release 2>/dev/null | head -3

echo
echo "== Charge et uptime =="
uptime

echo
echo "== Memoire (Mo) =="
free -m | head -3

echo
echo "== Stockage =="
df -h / /home 2>/dev/null | awk 'NR==1 || !seen[$0]++'

echo
echo "== Coeurs =="
nproc
grep -m1 CPU /proc/cpuinfo 2>/dev/null || true

echo
echo "== Temperature (si capteur) =="
for z in /sys/class/thermal/thermal_zone*/temp; do
  [ -r "$z" ] && echo "$z : $(( $(cat "$z") / 1000 )) C"
done

← Retour à la fiche