[PATCH 3/5] defaultenv: add xmodem support for update
Sascha Hauer
s.hauer at pengutronix.de
Fri Oct 8 08:27:48 EDT 2010
On Thu, Oct 07, 2010 at 06:37:36PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> this is add as last parameter to do not change the default behavior
>
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ---
> defaultenv/bin/_update | 26 +++++++++++++++++---------
> defaultenv/bin/init | 5 +++--
> defaultenv/bin/update_kernel | 7 ++++++-
> defaultenv/bin/update_rootfs | 7 ++++++-
> 4 files changed, 32 insertions(+), 13 deletions(-)
>
> diff --git a/defaultenv/bin/_update b/defaultenv/bin/_update
> index ddd6b84..c60ff88 100644
> --- a/defaultenv/bin/_update
> +++ b/defaultenv/bin/_update
> @@ -14,14 +14,16 @@ if [ $# = 1 ]; then
> image=$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 = xnet ]; 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
> @@ -34,6 +36,12 @@ erase $part
> echo
> echo "flashing $image to $part"
> echo
> -tftp $image $part
> +
> +if [ x$mode = xnet ]; then
> + tftp $image $part
> +else
> + loadb -f $image -c
> + cp $image $part
> +fi
>
> protect $part
> diff --git a/defaultenv/bin/init b/defaultenv/bin/init
> index a55e8e6..db2b525 100644
> --- a/defaultenv/bin/init
> +++ b/defaultenv/bin/init
> @@ -25,8 +25,9 @@ echo -n "Hit any key to stop autoboot: "
> timeout -a $autoboot_timeout
> if [ $? != 0 ]; then
> echo
> - echo "type update_kernel nand|nor [<imagename>] to update kernel into flash"
> - echo "type update_rootfs nand|nor [<imagename>] to update rootfs into flash"
> + echo "default mode is net"
> + echo "type update_kernel nand|nor [<imagename>] [net|xmodem] to update kernel into flash"
> + echo "type update_rootfs nand|nor [<imagename>] [net|xmodem] to update rootfs into flash"
> echo
> exit
> fi
> diff --git a/defaultenv/bin/update_kernel b/defaultenv/bin/update_kernel
> index 1d35ed9..b29927f 100644
> --- a/defaultenv/bin/update_kernel
> +++ b/defaultenv/bin/update_kernel
> @@ -2,14 +2,19 @@
>
> . /env/config
> image=$kernelimage
> +mode=net
>
> if [ x$1 = xnand ]; then
> part=/dev/nand0.kernel.bb
> elif [ x$1 = xnor ]; then
> part=/dev/nor0.kernel
> else
> - echo "usage: $0 nor|nand [imagename]"
> + echo "usage: $0 nor|nand [imagename] [net|xmodem]"
> exit 1
> fi
>
> +if [ x$3 != x ]; then
> + mode=$3
> +fi
> +
> . /env/bin/_update $2
> diff --git a/defaultenv/bin/update_rootfs b/defaultenv/bin/update_rootfs
> index 6366315..bac74ca 100644
> --- a/defaultenv/bin/update_rootfs
> +++ b/defaultenv/bin/update_rootfs
> @@ -3,14 +3,19 @@
> . /env/config
>
> image=$rootfsimage
> +mode=net
>
> if [ x$1 = xnand ]; then
> part=/dev/nand0.root.bb
> elif [ x$1 = xnor ]; then
> part=/dev/nor0.root
> else
> - echo "usage: $0 nor|nand [imagename]"
> + echo "usage: $0 nor|nand [imagename] [net|xmodem]"
I'm not really happy with this patch. We have 3 positional parameters
now and with xmodem it makes no sense to supply an image name,
nontheless we have to supply it because otherwise we do not have three
arguments.
I just posted a patch adding a getopt command to hush. Maybe this could
improve the situation here?
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list