#!/bin/sh

BOOTMODE_STR=`cat /proc/driver/sy_basic_conf | grep BOOTMODE`

BOOTMODE=${BOOTMODE_STR:9:1}

IS_INITRD_BOOT=`cat /proc/cmdline | grep -c initrd`

RFS_IDX=9
RFS_MTD=/dev/mtd${RFS_IDX}
RFS_MTDBLOCK=/dev/mtdblock${RFS_IDX}

/bin/sync

# if Nand boot
if [ $IS_INITRD_BOOT -ne 1 ]; then
	echo
	echo "  Nand boot"
	echo

	exit 0
fi
# else initrd boot

[ -f /etc/fwfwid ] && . /etc/fwfwid

case "$BOOTMODE" in
	# PRODUCTION boot
	3)
		echo
		echo "	Production BOOTMODE"
		echo

		;;

	# FW UPDATE boot
	[12])
		echo
		echo "	Firmware update BOOTMODE"
		echo

		# mount old rfs
		/bin/mount -t jffs2 ${RFS_MTDBLOCK} /mnt/rfs

		# check firmware file is exist
		FW_FILE=`ls /mnt/rfs/rf_${FWFWID}*tar.gz`
		echo
		echo "FW_FILE :: $FW_FILE"
		echo

		if [ -n "$FW_FILE" ]; then
			/opt/nss/bin/do_fwupdate.sh $FW_FILE
		else
			echo
			echo "No firmware file..."
			echo
		fi

		if [ $BOOTMODE -eq 1 ]; then
			/sbin/reboot
		fi

		;;

	# NORMAL boot
	0)
		/bin/mount -t jffs2 ${RFS_MTDBLOCK} /mnt/rfs

		;;
	*)
		echo
		echo "Unkown BOOTMODE ($BOOTMODE)"
		echo
esac

exit 0
