|
|
@@ -8,6 +8,7 @@ export INTERACTIVE=0
|
|
|
export VERBOSE=1
|
|
|
export SAVE_CONFIG=1
|
|
|
export DELAY=
|
|
|
+export CONF_IMAGE=
|
|
|
|
|
|
# parse options
|
|
|
while [ -n "$1" ]; do
|
|
|
@@ -17,6 +18,7 @@ while [ -n "$1" ]; do
|
|
|
-v) export VERBOSE="$(($VERBOSE + 1))";;
|
|
|
-q) export VERBOSE="$(($VERBOSE - 1))";;
|
|
|
-n) export SAVE_CONFIG=0;;
|
|
|
+ -f) export CONF_IMAGE="$2"; shift;;
|
|
|
-*)
|
|
|
echo "Invalid option: $1"
|
|
|
exit 1
|
|
|
@@ -38,6 +40,7 @@ Usage: $0 [options] <image file or URL>
|
|
|
|
|
|
Options:
|
|
|
-d <delay> add a delay before rebooting
|
|
|
+ -f <config> restore configuration from .tar.gz (file or url)
|
|
|
-i interactive mode
|
|
|
-n do not save configuration over reflash
|
|
|
-q less verbose
|
|
|
@@ -85,7 +88,18 @@ for check in $sysupgrade_image_check; do
|
|
|
}
|
|
|
done
|
|
|
|
|
|
-if ask_bool $SAVE_CONFIG "Keep config files over reflash"; then
|
|
|
+if [ -n "$CONF_IMAGE" ]; then
|
|
|
+ case "$(get_magic_word "$CONF_IMAGE")" in
|
|
|
+ # .gz files
|
|
|
+ 1f8b) ;;
|
|
|
+ *)
|
|
|
+ echo "Invalid config file. Please use only .tar.gz files"
|
|
|
+ exit 1
|
|
|
+ ;;
|
|
|
+ esac
|
|
|
+ get_image "$CONF_IMAGE" > "$CONF_TAR"
|
|
|
+ export SAVE_CONFIG=1
|
|
|
+elif ask_bool $SAVE_CONFIG "Keep config files over reflash"; then
|
|
|
do_save_conffiles
|
|
|
export SAVE_CONFIG=1
|
|
|
else
|