new file mode 100644
@@ -0,0 +1,66 @@
+NETCONSOLE & NBC README
+# (C) Copyright 2010
+# Tristan Lelong, firstname.lastname@example.org
+# See file CREDITS for list of people who contributed to this
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+ This enable the netconsole. Netconsole provide a remote access to
+ u-boot command line thru udp stream.
+ basically, you just set some environment variables like:
+ - stdin, stdout, and stderr to "nc"
+ - ncip to <remote ip address>
+ and you can connect to the board ip, port 6666 (default) using
+ "tools/netconsole <board ip addr>"
+ This enable the Net Boot Controller feature that will listen for
+ NBC magic packet at boot time. If one of NBC packet is received,
+ u-boot reconfigure itself automagically to use the netconsole
+ and interrupt the autoboot.
+ The NBC packet contains the new board IP and the remote ip.
+ It can also target special boards using filters on hostname and/or ethaddr
+ To broadcast NBC packets just use:
+ "tools/sendnbc -i <new board ip> [options]"
+ Two environment variable will allow to protect your board from receiving
+ NBC interruptions:
+ - nbcsource: only this remote IP can interrupt autoboot using NBC
+ - nbcinhibit: if this variable is present, NBC is fully inhibited
+ NBC packet has the following format:
+ - NBC header (5 bytes):
+ - magical number 1 byte '0xD3'
+ - ASCII header 3 bytes "NBC"
+ - packet size 1 byte 'X'
+Several Data Chunks
+ - NBC data chunks (X-5 bytes)
+ - chunk name 4 bytes "IP\0\0" | "MAC\0" | "HOST"
+ - chunk size 1 byte 'Y'
+ - chunk data Y bytes "xxxx"
+The IP chunk is mandatory, other are optional