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

1.1.2.1   misho       1: #!/bin/sh
                      2: #
                      3: # U-boot cfg nand map load/save management script
                      4: #
1.1.2.8 ! misho       5: # $Id: rc.cfg,v 1.1.2.7 2014/01/27 23:06:19 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
1.1.2.8 ! misho      45:                ELWIX_UPGRADE_HOST=`cat /etc/myelwix`
1.1.2.7   misho      46:                ping -c1 "${ELWIX_UPGRADE_HOST}" >/dev/null 2>&1
                     47:                if [ $? -ne 0 ]; then
                     48:                        echo "ELWIX upgrade from host ${ELWIX_UPGRADE_HOST} failed!!!"
                     49:                        exit 1
                     50:                fi
                     51: 
                     52:                echo "ELIWX starting upgrade from ${ELWIX_UPGRADE_HOST}"
                     53:                cat >/tmp/upgrade.LCK << _EOF
                     54: binary
                     55: get elwix_firmware.img /dev/fd/1
                     56: _EOF
                     57:                tftp ${ELWIX_UPGRADE_HOST} < /tmp/upgrade.LCK | dd \
                     58:                        of=${FRM_NAND_MAP} bs=${CFG_NAND_SIZE} \
                     59:                        count=${FRM_NAND_CNT} conv=sync 2>&- || exit 1
                     60:                rm -f /tmp/upgrade.LCK
                     61:                echo "ELWIX upgrade complete. Now rebooting system ..."
                     62:                sleep 3
                     63:                reboot
                     64:                ;;
1.1.2.1   misho      65:        *)
1.1.2.7   misho      66:                echo "Missing parameter - available options are (load | save | erase | upgrade)"
1.1.2.1   misho      67:                ;;
                     68: esac
1.1.2.3   misho      69: 
                     70: cd -

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