debug-trigger: Do what we can to debug unresponsive systems

debug-trigger is a small daemon which translates an external signal that
the system is unresponsive into a system crash for debug data
collection.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: Ic04f1a95aaf651d56b75f5261d8a6f76d34477a7
13 files changed
tree: d2734bd0055153349834f62cae96e58b932b98d5
  1. meson/
  2. systemd/
  3. udev/
  4. LICENSE
  5. main.c
  6. MAINTAINERS
  7. meson.build
  8. meson_options.txt
  9. README.md
README.md

BMC Debug Trigger

debug-trigger listens for an external signal that the BMC is in some way unresponsive. When the signal is received it triggers a crash to collect debug data and reboots the system in the hope that it will recover.

Trigger sources

debug-trigger implements a simple protocol over an LPC KCS device as its trigger source.

Debug actions

debug-trigger implements a single action once the trigger event is received, which is to crash the kernel via /proc/sysrq-trigger. For systems with kdump configured this results in collection of system state as context for why the system was externally unresponsive.