etat-systeme.sh

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

El chequeo completo en 30 segundos: kernel, distribución, carga, memoria, almacenamiento y temperatura del SoC. Primer reflejo en SSH sobre la Portenta X8 para verificar que la imagen Linux corre en buenas condiciones.

Hardware

Un Arduino Portenta X8 (módulo ST STM32MP1: quad Cortex-A7 Linux + doble núcleo Cortex-M4 de tiempo real, 8 GB eMMC, 2 GB LPDDR4, Wi-Fi/BT integrados, opción LTE). Ninguno; acceso SSH o consola serie en la placa.

Cableado

Nada que cablear. Acceso recomendado: SSH por USB-C (routed) o red.

Funcionamiento

El script apila lecturas sysfs/procfs estándar del kernel Linux; todo es de solo lectura, sin riesgo para el sistema.

Ejecución

Lado Linux: acceso SSH (USB-C routed o red) sobre la imagen Portenta Linux, scripts bash/Python. Lado tiempo real: Arduino IDE con el core « Arduino Mbed OS Portenta X8 Boards », núcleo M7 de aplicación, grabado vía mboot desde Linux.

Variantes

Lanzarlo cada hora en cron hacia un archivo para tener histórico, o cruzarlo con el core Arduino de tiempo real.

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

← Volver a la ficha