Annotation of elwix/config/etc/uboot/rc.cfg, revision 1.1.2.11
1.1.2.1 misho 1: #!/bin/sh
2: #
3: # U-boot cfg nand map load/save management script
4: #
1.1.2.11! misho 5: # $Id: rc.cfg,v 1.1.2.10 2014/02/04 10:14:42 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.9 misho 16: cd ${2:-/etc}
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
1.1.2.10 misho 50: else
1.1.2.11! misho 51: ELWIX_UPGRADE_HOST="https://${ELWIX_UPGRADE_HOST}/elwix/firmware/elwix_firmware.bin"
1.1.2.7 misho 52: fi
53:
54: echo "ELIWX starting upgrade from ${ELWIX_UPGRADE_HOST}"
1.1.2.11! misho 55: fetch -q -o- --user-agent=ELWIX_Upgrade --allow-sslv2 \
! 56: --no-verify-peer --no-verify-hostname ${ELWIX_UPGRADE_HOST} | \
! 57: dd of=${FRM_NAND_MAP} bs=${CFG_NAND_SIZE} \
1.1.2.7 misho 58: count=${FRM_NAND_CNT} conv=sync 2>&- || exit 1
59: echo "ELWIX upgrade complete. Now rebooting system ..."
60: sleep 3
61: reboot
62: ;;
1.1.2.1 misho 63: *)
1.1.2.7 misho 64: echo "Missing parameter - available options are (load | save | erase | upgrade)"
1.1.2.1 misho 65: ;;
66: esac
1.1.2.3 misho 67:
68: cd -
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>