From linux-debugging
Configure netconsole to stream kernel oops and panic messages over UDP to another host on the LAN, for capturing crashes on systems that hang before writing to disk. Use when the user says "set up netconsole", "stream kernel logs over the network", or is dealing with crashes that leave no local log trail.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin linux-debuggingThis skill uses the workspace's default tool permissions.
Netconsole streams kernel messages to a remote syslog receiver over UDP at very low level — it keeps working during hangs when disk I/O and userspace are already dead. Essential for diagnosing freezes that leave no local evidence.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Netconsole streams kernel messages to a remote syslog receiver over UDP at very low level — it keeps working during hangs when disk I/O and userspace are already dead. Essential for diagnosing freezes that leave no local evidence.
Ask the user:
6666 is fine.ip route get <receiver-ip>.Identify sender gateway MAC (required by netconsole):
ip route get <receiver-ip>
# note the dev (e.g. eno1)
arp -n <gateway-ip>
# note the MAC
Load netconsole:
sudo modprobe netconsole netconsole=@<sender-ip>/<iface>,<port>@<receiver-ip>/<gateway-mac>
Test it:
echo "netconsole test from $(hostname)" | sudo tee /dev/kmsg
On the receiver, you should see the line arrive.
On the receiver host, either:
Quick — netcat one-liner:
nc -u -l <port> | tee -a netconsole-$(hostname).log
Persistent — systemd-journal-remote or rsyslog:
Configure rsyslog to listen on UDP and write to /var/log/netconsole-<sender>.log.
Create /etc/modules-load.d/netconsole.conf:
netconsole
And /etc/modprobe.d/netconsole.conf:
options netconsole netconsole=@<sender-ip>/<iface>,<port>@<receiver-ip>/<gateway-mac>
Note: if the sender uses DHCP, the IPs may shift. Consider configuring a DHCP reservation or switching to dynamic netconsole via configfs (/sys/kernel/config/netconsole/).
dmesg | grep netconsole
# should show: netconsole: network logging started
<port> is open on the receiver.