Return to rc.flash CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / elwix / config / etc / default |
1.2 ! misho 1: #!/bin/sh ! 2: # ! 3: # Update ELWIX OS flash images ! 4: # ! 5: # $Id: rc.flash,v 1.1.2.2 2017/10/13 00:19:55 misho Exp $ ! 6: ! 7: die() { echo -n "ERROR:: " >&2; echo "$@" >&2; exit 1; } ! 8: ! 9: restoreing() ! 10: { ! 11: case "$1" in ! 12: primary|first|main|A|1) ! 13: CFG_NAND_MAP=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"a") { printf("/dev/%s", $3); }'` ! 14: CFG_NAND_SIZE=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"a") { printf("%s", $2 * 512); }'` ! 15: ! 16: sysctl -w kern.geom.debugflags=16 ! 17: imgupd -is $CFG_NAND_SIZE -f $CFG_NAND_MAP || die "Failed update primary image ..." ! 18: tunefs -L elwix $CFG_NAND_MAP ! 19: /etc/rc.cfg boot ! 20: reboot ! 21: ;; ! 22: secondary|second|backup|B|2) ! 23: CFG_NAND_MAP=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"f") { printf("/dev/%s", $3); }'` ! 24: CFG_NAND_SIZE=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"f") { printf("%s", $2 * 512); }'` ! 25: ! 26: imgupd -is $CFG_NAND_SIZE -f $CFG_NAND_MAP || die "Failed update secondary image ..." ! 27: tunefs -L elwix2 $CFG_NAND_MAP ! 28: /etc/rc.cfg boot2 ! 29: reboot ! 30: ;; ! 31: configuration|config|cfg|C|0) ! 32: CFG_NAND_MAP=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("/dev/%s", $3); }'` ! 33: CFG_NAND_SIZE=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("%s", $2 * 512); }'` ! 34: ! 35: imgupd -is $CFG_NAND_SIZE -f $CFG_NAND_MAP || die "Failed update cfg image ..." ! 36: reboot ! 37: ;; ! 38: *) ! 39: die "Unknown $1 image for restore ..." ! 40: ;; ! 41: esac ! 42: } ! 43: ! 44: dumping() ! 45: { ! 46: case "$1" in ! 47: primary|first|main|A|1) ! 48: CFG_NAND_MAP=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"a") { printf("/dev/%s", $3); }'` ! 49: CFG_NAND_SIZE=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"a") { printf("%s", $2 * 512); }'` ! 50: ;; ! 51: secondary|second|backup|B|2) ! 52: CFG_NAND_MAP=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"f") { printf("/dev/%s", $3); }'` ! 53: CFG_NAND_SIZE=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"f") { printf("%s", $2 * 512); }'` ! 54: ;; ! 55: configuration|config|cfg|C|0) ! 56: CFG_NAND_MAP=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("/dev/%s", $3); }'` ! 57: CFG_NAND_SIZE=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("%s", $2 * 512); }'` ! 58: ;; ! 59: *) ! 60: die "Unknown $1 image for dump ..." ! 61: ;; ! 62: esac ! 63: ! 64: echo imgupd -gs $CFG_NAND_SIZE -f $CFG_NAND_MAP ! 65: } ! 66: ! 67: # ! 68: ## main() ! 69: # ! 70: ! 71: case "$1" in ! 72: dump|get|read|fetch) ! 73: dumping $2 ! 74: ;; ! 75: restore|put|write|update) ! 76: restoring $2 ! 77: ;; ! 78: *) ! 79: echo "/etc/rc.flash <dump|restore> <primary|secondary|config>" ! 80: echo ! 81: die "Unknown command $1 ..." ! 82: ;; ! 83: esac