tools/netconsole: new script for working with netconsole over UDP

While the doc/README.NetConsole does have a snippet for people to
create their own netcat script, it's a lot easier to make a simple
dedicated script and tell people to use it.

Also spruce it up a bit to make it user friendly.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Mike Frysinger 2008-12-09 23:20:31 -05:00 committed by Wolfgang Denk
parent 8c5170a7d0
commit bcb6dd9187
2 changed files with 46 additions and 14 deletions

View File

@ -22,21 +22,11 @@ For example, if your server IP is 192.168.1.1, you could use:
On the host side, please use this script to access the console:
+++++++++++++++++++++++++++++++++++++++++++
#! /bin/bash
tools/netconsole <ip> [port]
[ $# = 1 ] || { echo "Usage: $0 target_ip" >&2 ; exit 1 ; }
TARGET_IP=$1
stty -icanon -echo intr ^T
nc -u -l -p 6666 < /dev/null &
nc -u ${TARGET_IP} 6666
stty icanon echo intr ^C
+++++++++++++++++++++++++++++++++++++++++++
The script expects exactly one argument, which is interpreted as the
target IP address (or host name, assuming DNS is working). The script
can be interrupted by pressing ^T (CTRL-T).
The script uses netcat to talk to the board over UDP. It requires you to
specify the target IP address (or host name, assuming DNS is working). The
script can be interrupted by pressing ^T (CTRL-T).
Be aware that in some distributives (Fedora Core 5 at least)
usage of nc has been changed and -l and -p options are considered

42
tools/netconsole Executable file
View File

@ -0,0 +1,42 @@
#!/bin/sh
usage() {
(
echo "Usage: $0 <board IP> [board port]"
echo ""
echo "If port is not specified, '6666' will be used"
[ -z "$*" ] && exit 0
echo ""
echo "ERROR: $*"
exit 1
) 1>&2
exit $?
}
while [ -n "$1" ] ; do
case $1 in
-h|--help) usage;;
--) break;;
-*) usage "Invalid option $1";;
*) break;;
esac
shift
done
ip=$1
port=${2:-6666}
if [ -z "${ip}" ] || [ -n "$3" ] ; then
usage "Invalid number of arguments"
fi
for nc in netcat nc ; do
type ${nc} >/dev/null && break
done
trap "stty icanon echo intr ^C" 0 2 3 5 10 13 15
echo "NOTE: the interrupt signal (normally ^C) has been remapped to ^T"
stty -icanon -echo intr ^T
${nc} -u -l -p ${port} < /dev/null &
exec ${nc} -u ${ip} ${port}