Аппаратный watchdog у BCM2835 (SoC Raspberry Pi 4) поддерживает таймаут не более ~15–16 секунд. Попытка задать большее значение через systemd конфиг ломает watchdog: ядро возвращает EINVAL, systemd логирует Failed to set timeout to <N>s: Invalid argument, и (per systemd issue #27427) watchdog не активируется вообще — auto-recovery при hang не работает.

Безопасные значения

В /etc/systemd/system.conf:

RuntimeWatchdogSec=15   # максимум, гарантированно работает
RuntimeWatchdogSec=10   # рекомендуется (буфер для систем под нагрузкой)
RuntimeWatchdogSec=0    # отключено (default)
#RuntimeWatchdogSec=    # закомментировано = тоже отключено

Что НЕ работает

  • RuntimeWatchdogSec=30 или больше → silent failure, watchdog отключён
  • systemd.runtime_watchdog_sec=0 в kernel cmdline — не всегда переопределяет system.conf (зависит от версии systemd)

Проверка состояния после boot

systemctl show | grep -i RuntimeWatchdog
# RuntimeWatchdogUSec=15s    — работает
# RuntimeWatchdogUSec=0      — отключён

И в логах:

journalctl -b 0 | grep -i 'watchdog\|failed to set timeout'

Связано


Мета

Область:: 00 Linux