summaryrefslogtreecommitdiff
authorJiangnan Zou <jalonzou@google.com>2019-08-21 17:58:31 (GMT)
committer Jiangnan Zou <jalonzou@google.com>2019-08-21 17:58:31 (GMT)
commiteecb20efef1c879de72e50bf2341a4b014818fc9 (patch)
tree73733c3fb3f475a4564e9a06087a39f28598d4a5
parent928982e5ea45d22ae915616b2f3517ee819d1a03 (diff)
downloadcommon-eecb20efef1c879de72e50bf2341a4b014818fc9.zip
common-eecb20efef1c879de72e50bf2341a4b014818fc9.tar.gz
common-eecb20efef1c879de72e50bf2341a4b014818fc9.tar.bz2
Enable unlock and skip (reboot) option for flash-all.sh
This change allows mobile harness to run test in unlock mode. Test: ./flash-all.sh [unlock] [skip] Change-Id: I2964bc607e21613837fe6ff3d56b1bb21896521e
Diffstat
-rwxr-xr-xflash-all.sh94
1 files changed, 67 insertions, 27 deletions
diff --git a/flash-all.sh b/flash-all.sh
index ff9b829..3d90a95 100755
--- a/flash-all.sh
+++ b/flash-all.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# Copyright 2012 The Android Open Source Project
#
@@ -14,30 +14,70 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-adb reboot fastboot
-fastboot flashing unlock_critical
-fastboot flashing unlock
-fastboot flash bootloader bootloader.img
-fastboot flash bootloader-boot0 bootloader.img
-fastboot flash bootloader-boot1 bootloader.img
-fastboot erase env
-fastboot reboot-bootloader
+set -e
+cd $(dirname $0)
+
+lflag="unlock"
+if [[ $# -gt 0 ]]; then
+ lflag="$1"
+fi
+
+sern=""
+if [[ $# -gt 1 ]]; then
+ sern="-s $2"
+fi
+
+skipreboot=""
+if [[ $# -gt 2 ]]; then
+ skipreboot="$3"
+fi
+
+if [ "$skipreboot" != "skip" ]
+then
+ # Ignore failure, in case we are already in fastboot.
+ adb $sern reboot fastboot || true
+fi
+
+function flash_with_retry() {
+ local partition=${1};
+ local img=${2};
+ msg=$(fastboot ${sern} flash ${partition} ${img} 2>&1)
+ echo "${msg}"
+ if [[ ${msg} =~ 'FAILED' ]]; then
+ echo "\nFlashing ${img} is not done properly. Do it again."
+ fastboot ${sern} reboot-bootloader
+ fastboot ${sern} flash ${partition} ${img}
+ fi
+}
+
+fastboot $sern flashing unlock_critical
+fastboot $sern flashing unlock
+fastboot $sern flash bootloader bootloader.img
+fastboot $sern flash bootloader-boot0 bootloader.img
+fastboot $sern flash bootloader-boot1 bootloader.img
+fastboot $sern erase env
+fastboot $sern reboot-bootloader
sleep 5
-fastboot flashing unlock_critical
-fastboot flashing unlock
-fastboot flash dts dt.img
-fastboot flash dtbo dtbo.img
-fastboot -w
-fastboot erase param
-fastboot erase tee
-fastboot flash vbmeta vbmeta.img
-fastboot flash odm odm.img
-fastboot flash logo logo.img
-fastboot flash boot boot.img
-fastboot flash system system.img
-fastboot flash vendor vendor.img
-fastboot flash recovery recovery.img
-fastboot flash product product.img
-fastboot flashing lock_critical
-fastboot flashing lock
-fastboot reboot
+fastboot $sern flashing unlock_critical
+fastboot $sern flashing unlock
+flash_with_retry dts dt.img
+flash_with_retry dtbo dtbo.img
+fastboot $sern -w
+fastboot $sern erase param
+fastboot $sern erase tee
+
+flash_with_retry vbmeta vbmeta.img
+flash_with_retry odm odm.img
+flash_with_retry logo logo.img
+flash_with_retry boot boot.img
+flash_with_retry system system.img
+flash_with_retry vendor vendor.img
+flash_with_retry recovery recovery.img
+flash_with_retry product product.img
+
+if [ "$lflag" = "lock" ]
+then
+ fastboot flashing lock_critical
+ fastboot flashing lock
+fi
+fastboot $sern reboot