Fix netconsole: configure via configfs after network up.
The modprobe.conf approach failed because the network interface doesn't exist when the module loads at boot. Now using a systemd service to configure netconsole via configfs after network-online. Also raise console_loglevel to 8 so all kernel messages (not just KERN_WARNING and above) are sent to netconsole. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -24,10 +24,27 @@
|
|||||||
boot.kernelParams = [ "consoleblank=300" "nmi_watchdog=1" ];
|
boot.kernelParams = [ "consoleblank=300" "nmi_watchdog=1" ];
|
||||||
|
|
||||||
# Netconsole - stream kernel messages to zippy (192.168.1.2)
|
# Netconsole - stream kernel messages to zippy (192.168.1.2)
|
||||||
|
# Must configure via configfs after network is up (interface doesn't exist at module load)
|
||||||
boot.kernelModules = [ "netconsole" ];
|
boot.kernelModules = [ "netconsole" ];
|
||||||
boot.extraModprobeConfig = ''
|
boot.kernel.sysctl."kernel.printk" = "8 4 1 7"; # Raise console_loglevel to send all messages
|
||||||
options netconsole netconsole=@/enp1s0,6666@192.168.1.2/c0:3f:d5:62:55:bb
|
systemd.services.netconsole-sender = {
|
||||||
'';
|
description = "Configure netconsole to send kernel messages to zippy";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
wants = [ "network-online.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
RemainAfterExit = true;
|
||||||
|
};
|
||||||
|
script = ''
|
||||||
|
mkdir -p /sys/kernel/config/netconsole/target1
|
||||||
|
echo enp1s0 > /sys/kernel/config/netconsole/target1/dev_name
|
||||||
|
echo 192.168.1.2 > /sys/kernel/config/netconsole/target1/remote_ip
|
||||||
|
echo 6666 > /sys/kernel/config/netconsole/target1/remote_port
|
||||||
|
echo c0:3f:d5:62:55:bb > /sys/kernel/config/netconsole/target1/remote_mac
|
||||||
|
echo 1 > /sys/kernel/config/netconsole/target1/enabled
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
# Kdump for kernel crash analysis
|
# Kdump for kernel crash analysis
|
||||||
boot.crashDump = {
|
boot.crashDump = {
|
||||||
|
|||||||
Reference in New Issue
Block a user