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

1.1.2.1   misho       1: #!/bin/sh
                      2: #
                      3: # U-boot cfg nand map load/save management script
                      4: #
1.1.2.7 ! misho       5: # $Id: rc.cfg,v 1.1.2.6 2014/01/27 22:19:40 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"
        !            12: FRM_NAND_CNT=121
        !            13: 
        !            14: UPGRADE_IMAGE=""
        !            15: 
1.1.2.3   misho      16: cd ${2:-.}
1.1.2.2   misho      17: 
1.1.2.1   misho      18: case "$1" in
                     19:        load)
1.1.2.5   misho      20:                dd if=${CFG_NAND_MAP} bs=${CFG_NAND_SIZE} 2>&- | \
                     21:                      gunzip 2>&- | cpio -iud 2>&- || exit 1
1.1.2.1   misho      22:                ;;
                     23:        save)
1.1.2.3   misho      24:                if [ ! -r ${CFG_NAND_LIST} ];then
1.1.2.4   misho      25:                        echo "# Auto generated manifest file" >${CFG_NAND_LIST}
                     26:                        find . >>${CFG_NAND_LIST}
                     27:                        if [ $? -ne 0 -o ! -r ${CFG_NAND_LIST} ]; then
                     28:                                echo "Manifest cfg nand map - file '${CFG_NAND_LIST}' not found!"
                     29:                                exit 1
                     30:                        fi
1.1.2.3   misho      31:                fi
                     32: 
1.1.2.5   misho      33:                sed -nE -e 's/^ *([^ #]+) */\1/p' < ${CFG_NAND_LIST} | xargs find | \
                     34:                        cpio -o | gzip -9 | \
                     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)
                     39:                dd if=/dev/zero of=${CFG_NAND_MAP} bs=${CFG_NAND_SIZE} count=1 \
                     40:                        conv=sync 2>&- || exit 1
                     41:                 echo "Config NAND was erased!"
                     42:                ;;
1.1.2.7 ! misho      43:        upgrade)
        !            44:                [ -r /tmp/upgrade.LCK ] && exit 1
        !            45:                ping -c1 "${ELWIX_UPGRADE_HOST}" >/dev/null 2>&1
        !            46:                if [ $? -ne 0 ]; then
        !            47:                        echo "ELWIX upgrade from host ${ELWIX_UPGRADE_HOST} failed!!!"
        !            48:                        exit 1
        !            49:                fi
        !            50: 
        !            51:                echo "ELIWX starting upgrade from ${ELWIX_UPGRADE_HOST}"
        !            52:                cat >/tmp/upgrade.LCK << _EOF
        !            53: binary
        !            54: get elwix_firmware.img /dev/fd/1
        !            55: _EOF
        !            56:                tftp ${ELWIX_UPGRADE_HOST} < /tmp/upgrade.LCK | dd \
        !            57:                        of=${FRM_NAND_MAP} bs=${CFG_NAND_SIZE} \
        !            58:                        count=${FRM_NAND_CNT} conv=sync 2>&- || exit 1
        !            59:                rm -f /tmp/upgrade.LCK
        !            60:                echo "ELWIX upgrade complete. Now rebooting system ..."
        !            61:                sleep 3
        !            62:                reboot
        !            63:                ;;
1.1.2.1   misho      64:        *)
1.1.2.7 ! misho      65:                echo "Missing parameter - available options are (load | save | erase | upgrade)"
1.1.2.1   misho      66:                ;;
                     67: esac
1.1.2.3   misho      68: 
                     69: cd -

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