main: Add some documentation

Some tricks like defaulting the source and sink file descriptors to
stdin and stdout aren't necessarily obvious, so add some commentary and
justifications throughout.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I515f36857a7056aa589ecbb09c46372ec4d3976d
1 file changed
tree: 11bef798e43edcd15a0bbaa6fcd5c822e3146a02
  1. meson/
  2. systemd/
  3. udev/
  4. LICENSE
  5. main.c
  6. meson.build
  7. meson_options.txt
  8. OWNERS
  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.