Aller au contenu principal

Boot & init

Au démarrage, l'OS charge le noyau depuis la partition FAT32, monte la racine ext4 puis lance les services leukOS via des scripts d'init SysV (BusyBox).

Séquence de démarrage

Les scripts sont exécutés dans l'ordre de leur préfixe numérique :

OrdreScriptRôle
1S89wireguardMonte le tunnel WireGuard si wg0.conf est configuré.
2S90leukos-nodeDémarre le daemon du node (automate local).
3S91leukos-uiDémarre l'IHM Qt sur le framebuffer.
4S92leukos-hubDémarre le service domotic local (si l'image l'inclut).

Le tunnel WireGuard est initialisé en amont si configuré, puis le node démarre avant l'IHM et avant le hub pour garantir la disponibilité du contrôle matériel.

Firmware Raspberry Pi

  • config.txt — configure les overlays matériels (écran, I2C, SPI…), la résolution et les options du firmware.
  • cmdline.txt — passe les arguments au noyau (console, racine, etc.).

IHM sur framebuffer

L'IHM Qt s'affiche sans serveur graphique, directement sur le framebuffer :

QT_QPA_PLATFORM=linuxfb

Résolution cible 800 × 480.

Réseau

wpa_supplicant.conf (dans l'overlay) préconfigure le Wi-Fi (country=FR). Adaptez le SSID et la clé avant de flasher, ou reconfigurez après le premier démarrage.

Stockage des données

Sur la cible, les données persistantes vivent sous /var/lib/leukos :

FichierContenu
/var/lib/leukos/node.dbÉtat des relais, compteurs, et synchro desired/reported (sync_state).
/var/lib/leukos/hub.dbDonnées du service domotic local (si activé sur le node).
/var/lib/leukos/auth.dbAuth locale du service domotic (si activé).

La supervision centralisée de parc utilise un stockage séparé côté central :

  • PostgreSQL pour auth + inventaire nodes,
  • Elasticsearch pour logs nodes, exposé via l'API logs Python (central-mercure).

Broker MQTT

Mosquitto est lancé au démarrage et fournit le bus 127.0.0.1:1883 consommé par le daemon et le bridge du hub.