Gardenfault
Portable syslog based bsod system
Usage
-
Configure the syslog implementation to write emergency messages to the gardenfault fifo. Example configs may be found in the
examples/directory. -
Set a list of processes that should cause a bsod in
/etc/gardenfault_process_whitelist. -
Run gardenfault as a daemon.
Porting
Since gardenfault interacts with the VT directly, the portability across multiple systems cannot be guaranteed.
The VT code is in a separate C file, porting gardenfault to a new system simply consists of implementing the API defined in vt.h, and adding the source file to meson.build.
If a VT implementation has been thouroughly tested and confirmed working, sending a Patch or opening a MR adding support would be appreciated!
QR Code format
By default gardenfault presents a QR code which contains a compressed list of the last recorded logs. The format is simply text compressed with zlib and encoded in base64. A website which can decode the data is in index.html and hosted at https://gardenhouse.pinkro.se/fault/
If a QR code is not wanted, it's possible to just print the log directy by adding the -n flag to gardenfault.
The included QR Code generation library is licensed under MIT https://www.nayuki.io/page/qr-code-generator-library
Source
Gardenfault can be downloaded from https://git.pinkro.se/Rose/gardenhouse/gardenfault.git/about/
It's also mirrored to Codeberg where bugtracking is done.