Annotation of elwix/config/etc/uboot/rc.cfg, revision 1.1.2.18

1.1.2.1   misho       1: #!/bin/sh
                      2: #
                      3: # U-boot cfg nand map load/save management script
                      4: #
1.1.2.18! misho       5: # $Id: rc.cfg,v 1.1.2.17 2014/02/06 01:00:41 misho Exp $
1.1.2.1   misho       6: 
1.1.2.5   misho       7: CFG_NAND_LIST="/etc/cfg.map"
1.1.2.1   misho       8: CFG_NAND_MAP="/dev/map/cfg"
                      9: CFG_NAND_SIZE=65536
                     10: 
1.1.2.7   misho      11: FRM_NAND_MAP="/dev/map/firmware"
1.1.2.14  misho      12: FRM_NAND_SIZE=7929856
1.1.2.7   misho      13: 
1.1.2.9   misho      14: cd ${2:-/etc}
1.1.2.2   misho      15: 
1.1.2.1   misho      16: case "$1" in
                     17:        load)
1.1.2.18! misho      18: #              imgupd -gs ${CFG_NAND_SIZE} -f ${CFG_NAND_MAP} | \
        !            19:                dd if=${CFG_NAND_MAP} bs=${CFG_NAND_SIZE} 2>&- | \
1.1.2.5   misho      20:                      gunzip 2>&- | cpio -iud 2>&- || exit 1
1.1.2.1   misho      21:                ;;
                     22:        save)
1.1.2.3   misho      23:                if [ ! -r ${CFG_NAND_LIST} ];then
1.1.2.4   misho      24:                        echo "# Auto generated manifest file" >${CFG_NAND_LIST}
                     25:                        find . >>${CFG_NAND_LIST}
                     26:                        if [ $? -ne 0 -o ! -r ${CFG_NAND_LIST} ]; then
                     27:                                echo "Manifest cfg nand map - file '${CFG_NAND_LIST}' not found!"
                     28:                                exit 1
                     29:                        fi
1.1.2.3   misho      30:                fi
                     31: 
1.1.2.5   misho      32:                sed -nE -e 's/^ *([^ #]+) */\1/p' < ${CFG_NAND_LIST} | xargs find | \
                     33:                        cpio -o | gzip -9 | \
1.1.2.18! misho      34: #                      imgupd -is ${CFG_NAND_SIZE} -f ${CFG_NAND_MAP} || exit 1
        !            35:                        dd of=${CFG_NAND_MAP} bs=${CFG_NAND_SIZE} count=1 conv=sync \
        !            36:                                2>&- || exit 1
1.1.2.1   misho      37:                ;;
1.1.2.6   misho      38:        erase)
1.1.2.17  misho      39:                imgupd -is ${CFG_NAND_SIZE} -f ${CFG_NAND_MAP} /dev/zero || exit 1
1.1.2.6   misho      40:                 echo "Config NAND was erased!"
                     41:                ;;
1.1.2.7   misho      42:        upgrade)
1.1.2.8   misho      43:                ELWIX_UPGRADE_HOST=`cat /etc/myelwix`
1.1.2.12  misho      44:                ping -c1 $(echo ${ELWIX_UPGRADE_HOST} | cut -f3 -d '/' | cut -f2 -d '@') >/dev/null 2>&1
1.1.2.7   misho      45:                if [ $? -ne 0 ]; then
                     46:                        echo "ELWIX upgrade from host ${ELWIX_UPGRADE_HOST} failed!!!"
                     47:                        exit 1
1.1.2.10  misho      48:                else
1.1.2.12  misho      49:                        ELWIX_UPGRADE_HOST="${ELWIX_UPGRADE_HOST}/elwix/elwix_firmware.bin"
1.1.2.7   misho      50:                fi
                     51: 
                     52:                echo "ELIWX starting upgrade from ${ELWIX_UPGRADE_HOST}"
1.1.2.11  misho      53:                fetch -q -o- --user-agent=ELWIX_Upgrade --allow-sslv2 \
                     54:                        --no-verify-peer --no-verify-hostname ${ELWIX_UPGRADE_HOST} | \
1.1.2.17  misho      55:                        imgupd -R -is ${FRM_NAND_SIZE} -f ${FRM_NAND_MAP} || exit 1
1.1.2.7   misho      56:                echo "ELWIX upgrade complete. Now rebooting system ..."
                     57:                ;;
1.1.2.1   misho      58:        *)
1.1.2.7   misho      59:                echo "Missing parameter - available options are (load | save | erase | upgrade)"
1.1.2.1   misho      60:                ;;
                     61: esac
1.1.2.3   misho      62: 
                     63: cd -

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>