mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-24 04:34:22 +08:00
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:
parent
8c5170a7d0
commit
bcb6dd9187
@ -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
42
tools/netconsole
Executable 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}
|
Loading…
Reference in New Issue
Block a user