diff options
Diffstat (limited to 'recipes-core/mlinux-scripts/mlinux-scripts/mlinux-firmware-upgrade')
-rwxr-xr-x | recipes-core/mlinux-scripts/mlinux-scripts/mlinux-firmware-upgrade | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts/mlinux-firmware-upgrade b/recipes-core/mlinux-scripts/mlinux-scripts/mlinux-firmware-upgrade index a6e6d68..360b553 100755 --- a/recipes-core/mlinux-scripts/mlinux-scripts/mlinux-firmware-upgrade +++ b/recipes-core/mlinux-scripts/mlinux-scripts/mlinux-firmware-upgrade @@ -68,9 +68,11 @@ for (( i = 0; i < ${#files[@]}; i++ )); do logger -s -t firmware_upgrade "MD5 is not found for the $file, upgrade aborted" exit 1 fi - if ! tar -xO -f $upgrade $file | md5sum -c $file.md5; then - logger -s -t firmware_upgrade "MD5 check failed, upgrade aborted" - exit 1 + if ((dofactoryreset == 0)) ; then + if ! tar -xO -f $upgrade $file | md5sum -c $file.md5; then + logger -s -t firmware_upgrade "MD5 check failed, upgrade aborted" + exit 1 + fi fi tobeflashed=1 fi @@ -95,8 +97,13 @@ if (( $tobeflashed )); then done fi mkdir -p /var/volatile/flash-upgrade - mv -f $upgrade /var/volatile/flash-upgrade/upgrade.bin - touch "${dofile}" + newbinfile=/var/volatile/flash-upgrade/upgrade.bin + mv -f $upgrade $newbinfile + if ((dofactoryreset == 1)) ; then + tar -xO -f "${newbinfile}" do_flash_upgrade >"$dofile" + else + touch "$dofile" + fi chown "root:root" "${dofile}" || true uid=$(stat -c %u "${dofile}") || true result=$? |