#!/bin/sh

DBG_LOG_DEVICE=/dev/console
NOTIFY_FILE=/tmp/log
IGNORE_FWMASK="mask_check"
PROG_STOPPED="`nvram get :prog_stopped`"

. /usr/bin/provision_pub.sh


oem_id="`cat /proc/gxvboard/dev_info/oem_id`"

if [ $oem_id != 0 -a -d /oem_profile/$oem_id/logo ]; then
    logo_path="/oem_profile/$oem_id/logo"
else
    logo_path="/logo"
fi

#$1 --- local image name

local_file="$1"
###################################################################
###     MTD_PART 				PROCW							###
###   dev to flash image      proc file to wrtie image header   ###
###																###		
if [ ! -s $local_file ]; then
	echo "$local_file does not exist" > ${NOTIFY_FILE}
	exit 243	
fi

# is the image header valid
if [ -z "`prov_procheader $local_file |grep 47453531`" ]; then
	echo "$local_file invalid image header" > ${NOTIFY_FILE}
	exit 251
fi

MTD_PART="`prov_id2dev $local_file`"
PROCW="`prov_id2procw $local_file`"

if [ -z "$MTD_PART" -o -z "$PROCW" ]; then
	echo "Bad Image ID" > ${NOTIFY_FILE}
	exit 247
fi

echo "---------------------------------------------------"
echo "local_fileL           ---    $local_file" > ${DBG_LOG_DEVICE} > ${DBG_LOG_DEVICE}
echo "proc_name to wrtie:   ---    $PROCW" > ${DBG_LOG_DEVICE} > ${DBG_LOG_DEVICE}
echo "MTD_PART:             ---    $MTD_PART" > ${DBG_LOG_DEVICE} > ${DBG_LOG_DEVICE}
echo "---------------------------------------------------"

echo "upgrading ${PROCW} ..." > ${NOTIFY_FILE}
#used to show info in lcd
nvram set :upgrade_info="${PROCW}"
prog_mtd_part  $local_file /dev/${MTD_PART} /proc/provision/partition/${PROCW}
rval=$?

rm -f $local_file
exit $rval


