openwrt/target/linux/adm5120/base-files/lib/upgrade/platform.sh
John Crispin f933a741a9 target/linux/*/base-files/lib/upgrade/platform.sh - wrong check for ARGC
ARGC is a 'C-ism', but not known/valid in shell-syntax - insert the correct
var $# (=number of args) here. under normal conditions this had no impact,
but we should at least correct it. the error was observable like this:

root@box:~ [ -e "/etc/functions.sh" ] && . /etc/functions.sh
root@box:~ [ -e "/lib/functions.sh" ] && . /lib/functions.sh
root@box:~ . /lib/upgrade/platform.sh
root@box:~ . /lib/upgrade/common.sh
root@box:~ platform_check_image /tmp/myfirmware.bin
ash: bad number
root@box:~ echo $?
0

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

SVN-Revision: 40915
2014-06-02 12:43:22 +00:00

45 lines
729 B
Bash

#
# Copyright (C) 2009-2010 OpenWrt.org
#
. /lib/adm5120.sh
PART_NAME="firmware"
RAMFS_COPY_DATA=/lib/adm5120.sh
platform_check_image() {
local magic="$(get_magic_word "$1")"
[ "$#" -gt 1 ] && return 1
case "$board_name" in
"ZyXEL"*|"Compex WP54 family")
# .trx files
[ "$magic" != "4844" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
*)
;;
esac
echo "Sysupgrade is not yet supported on $board_name."
return 1
}
platform_do_upgrade() {
PART_NAME="$sys_mtd_part"
default_do_upgrade "$ARGV"
}
disable_watchdog() {
killall watchdog
( ps | grep -v 'grep' | grep '/dev/watchdog' ) && {
echo 'Could not disable watchdog'
return 1
}
}
append sysupgrade_pre_upgrade disable_watchdog