- Add netconsole receiver on zippy to capture kernel messages - Configure beefy as netconsole sender to zippy (192.168.1.2) - Enable kdump with 256M reserved memory for crash analysis - Add lockup detectors (softlockup_panic, hung_task_panic, nmi_watchdog) - Add consoleblank=300 for greeter display sleep - Persist crash dumps and add analysis tools (crash, makedumpfile) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
33 lines
871 B
Nix
33 lines
871 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
options.services.netconsoleReceiver = {
|
|
enable = lib.mkEnableOption "netconsole UDP receiver";
|
|
port = lib.mkOption {
|
|
type = lib.types.port;
|
|
default = 6666;
|
|
description = "UDP port to listen on for netconsole messages";
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf config.services.netconsoleReceiver.enable {
|
|
systemd.services.netconsole-receiver = {
|
|
description = "Netconsole UDP receiver";
|
|
wantedBy = [ "multi-user.target" ];
|
|
after = [ "network.target" ];
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.socat}/bin/socat -u UDP-LISTEN:${toString config.services.netconsoleReceiver.port},fork STDOUT";
|
|
StandardOutput = "journal";
|
|
StandardError = "journal";
|
|
SyslogIdentifier = "netconsole";
|
|
Restart = "always";
|
|
RestartSec = "5s";
|
|
};
|
|
};
|
|
};
|
|
}
|