Netconsole

From FedoraProject

Revision as of 01:06, 4 April 2010 by Nayfield (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Setting up netconsole

Assume we have two computers on the same network.

The machine with a problem (the debugee):

IP address: 192.168.1.1

And a second machine (the debugger):

IP address: 192.168.1.2
MAC address of eth0: 00:11:22:33:44:55

The debugger

On a different machine than the one you are seeing the problem, you need to run nc -l -u 6666 This will listen on udp port 6666 for any messages.

The debugee

On the machine that you're trying to debug a problem, run (as root) modprobe netconsole netconsole=4444@192.168.1.1/eth0,6666@192.168.1.2/00:11:22:33:44:55

If you replace the IP/MAC addresses with those relevant to your machines/network in the command above, you should see messages appearing on the debugging machine.

For more information on netconsole, see http://www.mjmwired.net/kernel/Documentation/networking/netconsole.txt

logging levels

You may want to raise the level of printk's that go to the console.

To do this when logged in:

dmesg -n 8


netconsole at boot - client side

Raise the level of console by default logging by adding this line to /etc/sysctl.conf:

# echo 'kernel.printk = 8 4 1 7' >> /etc/sysctl.conf

Add your network info to modprobes of netconsole:

# echo 'options netconsole netconsole=4444@192.168.1.1/eth0,6666@192.168.1.2/00:11:22:33:44:55' >> /etc/modprobe.d/netconsole.conf

Load netconsole at boot time

# echo modprobe netconsole >> /etc/rc.modules
# chmod +x /etc/rc.modules

Firewall config

Your netconsole server needs to accept udp on port 6666. This may require a change to your iptables rules.

Comment: does default Fedora rules allow local network connections?