#!/bin/sh

ISROOTFSONSD="$(grep root=/dev/mmcblk1p /proc/cmdline)"

if [ x"${ISROOTFSONSD}" = x"" ]; then
    exit 0
fi

UPDATEFLAG="$(grep updateviasd=1 /proc/cmdline)"

if [ x"${UPDATEFLAG}" = x"" ]; then
    exit 0
fi

if [ ! -b "/dev/mmcblk1p3" ]; then
    echo "No image partition found!"
    exit 0
fi

MOUNTRETRY=0

while [ ${MOUNTRETRY} -le 6 ];
do
    if [ -d "/mnt/mmcblk1p3" ]; then
        break
    fi

    MOUNTRETRY=$(expr ${MOUNTRETRY} + 1)
    sleep 5
done

if [ ! -d "/mnt/mmcblk1p3" ]; then
    exit 0
fi

echo "emmc-updating" >/tmp/pcat-emmc-update.tmp

if [ -f "/mnt/mmcblk1p3/sysupgrade.img.gz" ]; then
    gunzip -c "/mnt/mmcblk1p3/sysupgrade.img.gz" | dd of=/dev/mmcblk0 bs=1M
fi

echo "emmc-updated-ok" >/tmp/pcat-emmc-update.tmp

sleep 5

touch "/tmp/pcat-shutdown.tmp"
poweroff
