main: Add a 'dbus' set of sink actions

The sysrq sink actions are are intended for use with kdump, which will
capture relevant kernel and userspace memory. It's implementation is
thus pretty straight forward.

Most BMCs don't use kdump, so implement a set of sink actions that talk
via D-Bus to generate a dump and gracefully reboot the BMC.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I126b0118faaa793011268a785eeb955139739eaf
2 files changed
tree: 45f7e27efc2307aca7bf89f139db20a2c91c425d
  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.