From de1823f74ec6312ab35180667a6f19aaa03f0d5e Mon Sep 17 00:00:00 2001 From: Jean-Christophe PLAGNIOL-VILLARD Date: Mon, 11 Oct 2010 16:34:43 +0200 Subject: defaultenv: add xmodem support for update the default mode is tftp to do not change the default behavior Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Sascha Hauer --- defaultenv/bin/_update | 26 +++++++++++++++++--------- defaultenv/bin/_update_help | 7 ++++--- defaultenv/bin/update | 11 ++++++++++- 3 files changed, 31 insertions(+), 13 deletions(-) (limited to 'defaultenv') diff --git a/defaultenv/bin/_update b/defaultenv/bin/_update index 6f2ebd3157..87e6922326 100644 --- a/defaultenv/bin/_update +++ b/defaultenv/bin/_update @@ -10,14 +10,16 @@ if [ ! -e "$part" ]; then exit 1 fi -if [ x$ip = xdhcp ]; then - dhcp -fi - -ping $eth0.serverip -if [ $? -ne 0 ] ; then - echo "Server did not reply! Update aborted." - exit 1 +if [ x$mode = xtftp ]; then + if [ x$ip = xdhcp ]; then + dhcp + fi + + ping $eth0.serverip + if [ $? -ne 0 ] ; then + echo "Server did not reply! Update aborted." + exit 1 + fi fi unprotect $part @@ -30,6 +32,12 @@ erase $part echo echo "flashing $image to $part" echo -tftp $image $part + +if [ x$mode = xtftp ]; then + tftp $image $part +else + loadb -f $image -c + cp $image $part +fi protect $part diff --git a/defaultenv/bin/_update_help b/defaultenv/bin/_update_help index a23f00fe0a..1d9b28ea00 100644 --- a/defaultenv/bin/_update_help +++ b/defaultenv/bin/_update_help @@ -1,10 +1,11 @@ #!/bin/sh -echo "usage: $0 -t -d [-f imagename] -c" +echo "usage: $0 -t -d [-m tftp|xmodem] [-f imagename] -c" echo "update tools." echo "" echo "options" echo " -c to check the crc32 for the image and flashed one" echo "" -echo "type update -t kernel -d [-f imagename] to update kernel into flash" -echo "type update -t rootfs -d [-f imagename] to update rootfs into flash" +echo "default mode is tftp" +echo "type update -t kernel -d [-m tftp|xmodem] [-f imagename] to update kernel into flash" +echo "type update -t rootfs -d [-m tftp|xmodem] [-f imagename] to update rootfs into flash" diff --git a/defaultenv/bin/update b/defaultenv/bin/update index 504bff60a0..032f3409f5 100644 --- a/defaultenv/bin/update +++ b/defaultenv/bin/update @@ -5,8 +5,9 @@ type="" device_type="" check=n +mode=tftp -while getopt "ht:d:f:c" Option +while getopt "ht:d:f:m:c" Option do if [ ${Option} = t ]; then type=${OPTARG} @@ -16,6 +17,8 @@ elif [ ${Option} = f ]; then imagename=${OPTARG} elif [ ${Option} = c ]; then check=y +elif [ ${Option} = m ]; then + mode=${OPTARG} else . /env/bin/_update_help exit 0 @@ -45,6 +48,12 @@ else exit 1 fi +if [ x${mode} != xtftp ] && [ x${mode} != xxmodem ] ; then + echo "unsupported mode ${mode}." + . /env/bin/_update_help + exit 1 +fi + . /env/bin/_update if [ x${check} = xy ]; then crc32 -f $image -F $part -- cgit v1.2.3