From Fedora Project Wiki

No edit summary
Line 28: Line 28:
You may want to raise the level of printk's that go to the console.
You may want to raise the level of printk's that go to the console.
  sysctl -w kernel.printk="7 4 1 7"
  sysctl -w kernel.printk="7 4 1 7"
Now all printk's above 7 will go to your netconsole.

Revision as of 00:36, 4 April 2010

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

Comment: There should be some explicit statement about whether iptables and/or the firewall on the debugger needs to be changed temporarily, etc. Also, is there some other way to use netconsole so that it is active before you can invoke modprobe from a shell, such as during boot itself?

logging levels

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

sysctl -w kernel.printk="7 4 1 7"

Now all printk's above 7 will go to your netconsole.