#! /bin/sh
URLADER_VERSION=97.adam2
################################################################################
# proceed Urlader & Memorylayout handling
#
# (!!! this block must not be run more than once !!!)
#
################################################################################

echo "proceed 2MB Urlader & Memorylayout handling..."

# pruefen ob Fritz Box 2MB
/var/flash_tffs -d /dev/mtdblock/3 -C /var/tmp/tffs.config -o /dev/null
HWRevision=`grep HWRevision /var/tmp/tffs.config`
HWRevision=${HWRevision##HWRevision }

if [ -z "${HWRevision}" ] ; then
    echo "ACHTUNG konnte HWRevision nicht ermitteln"
    exit $INSTALL_OTHER_ERROR
fi
echo "HWRevision=${HWRevision}"
case ${HWRevision} in
    *F)
        PRODUKT=Fritz_Box_2MB
        ;;
    *)
        echo "unbekannte HWRevision !"
        exit $INSTALL_WRONG_HARDWARE
        ;;
esac


################################################################################
# are all files to be processed ok?
if ! /var/chksum /var/tmp/filesystem.image ; then
    echo "chksum for file /var/tmp/filesystem.image failed."
    exit $INSTALL_FILESYSTEM_CHECKSUM
fi
if [ ! -e /var/tmp/urlader.${PRODUKT}.${URLADER_VERSION}.image ] ; then
    echo "missing file /var/tmp/urlader.${PRODUKT}.${URLADER_VERSION}.image"
    exit $INSTALL_URLADER_CHECKSUM # no checksum checked, but resultvalue is ok to be used!
fi


################################################################################
#
# mtd0 0x900B0000,0x901F0000  filesystem 0x14 * 64 KByte
# mtd1 0x90010000,0x900B0000  kernel     0x0A * 64 KByte
# mtd2 0x90000000,0x90010000  urlader    0x01 * 64 KByte
# mtd3 0x901F0000,0x90200000  tffs       0x01 * 64 KByte
#
#    MTD        Alt     Groesse         Neu     Groesse
################################################################################
#     0     filesystem   20*64K       filesystem 20*64K
#     1       kernel     10*64K       kernel     10*64K
#     2      urlader      1*64K       urlader     1*64K
#     3        tffs       1*64K       tffs-2.0    32K
#     3      ------------------       tffs-2.0    32K
#
################################################################################

################################################################################
# tffs 2.0 Image erzeugen
echo "/var/flash_tffs -c /var/tmp/tffs.config -s 0x8000 -o /var/tmp/tffs.tmp"
/var/flash_tffs -c /var/tmp/tffs.config -s 0x8000 -o /var/tmp/tffs.tmp || exit $INSTALL_OTHER_ERROR
cp /var/tmp/tffs.tmp /var/tmp/tffs.image
cat /var/tmp/tffs.tmp >>/var/tmp/tffs.image
rm /var/tmp/tffs.tmp


################################################################################
rm -f /var/post_install_urlader

echo "install: /var/tmp/urlader.${PRODUKT}.${URLADER_VERSION}.image to mtd2"
echo "/var/copy_firmware -c -i /var/tmp/urlader.${PRODUKT}.${URLADER_VERSION}.image  -o /dev/mtdblock/2" >/var/post_install_urlader

echo "install: /var/tmp/tffs.image to mtd3"
echo "/var/copy_firmware -c -i /var/tmp/tffs.image  -o /dev/mtdblock/3" >>/var/post_install_urlader

################################################################################
exit 0
################################################################################
