Аппаратный 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'Связано
- Восстановление headless Raspberry Pi через Mac — как править system.conf без shell
Мета
Область:: 00 Linux