#!/system/flashtool/sh

while test $# != 0
do
  case $1 in
  --*=*)
    ac_option=`expr "X$1" : 'X\([^=]*\)='`
    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
    ac_shift=:
    ;;
  *)
    ac_option=$1
    ac_optarg=$2
    ac_shift=shift
    ;;
  esac

  case $ac_option in
  -mode | --mode)
     export p_mode=$ac_optarg;;
  -image | --image)
     export p_image=$ac_optarg;;
  esac
  shift
done

if [ -e /data/local/tmp/kernel ]
then
	rm -r /data/local/tmp/kernel
fi

if [ -e /data/local/tmp/recovery ]
then
        rm -r /data/local/tmp/recovery
fi

export p_splboot=$(echo splboot-$(uname -r).ko)

if ! test -e /system/kernel/${p_splboot}
then
	exit
fi

if [ -e $p_image ]
then	
	if [ "$p_mode" = "recovery" ]
	then
		rm -r /data/local/tmp/recoveryboot
		touch /cache/recovery/boot
	fi
    	mount -t rootfs -o remount,rw rootfs /
    	cp /system/flashtool/forceumount /sbin
    	cp /system/flashtool/sh /sbin
	/sbin/forceumount cache
	/sbin/forceumount sdcard
	/sbin/forceumount cdrom
	/sbin/forceumount /data/DxDrm/fuse
	killall -9 DxDrmServerIpc
	insmod /system/kernel/splboot-$(uname -r).ko
	sync
	cat /system/kernel/miniloader > /proc/splboot/image
	cat $p_image > /proc/splboot/boot_img
	echo > /proc/splboot/boot
fi