openwrtv4/target/linux/cns21xx/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
718 B
Bash
Executable file

#
# Copyright (C) 2010 OpenWrt.org
#
. /lib/cns21xx.sh
PART_NAME=firmware
RAMFS_COPY_DATA=/lib/cns21xx.sh
platform_check_image() {
local board=$(get_board_name)
local magic="$(get_magic_word "$1")"
[ "$#" -gt 1 ] && return 1
case "$board" in
nsb3ast)
[ "$magic" != "0b1c" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
ns-k330)
[ "$magic" != "0c1c" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
esac
echo "Sysupgrade is not yet supported on $board."
return 1
}
disable_watchdog() {
killall watchdog
( ps | grep -v 'grep' | grep '/dev/watchdog' ) && {
echo 'Could not disable watchdog'
return 1
}
}
append sysupgrade_pre_upgrade disable_watchdog