summaryrefslogtreecommitdiff
path: root/installer/hikey960/flash-all.sh
diff options
context:
space:
mode:
Diffstat (limited to 'installer/hikey960/flash-all.sh')
-rwxr-xr-xinstaller/hikey960/flash-all.sh75
1 files changed, 60 insertions, 15 deletions
diff --git a/installer/hikey960/flash-all.sh b/installer/hikey960/flash-all.sh
index 3f8bf9b4..72112ff8 100755
--- a/installer/hikey960/flash-all.sh
+++ b/installer/hikey960/flash-all.sh
@@ -1,6 +1,7 @@
#!/bin/bash
INSTALLER_DIR="`dirname ${0}`"
+ECHO_PREFIX="=== "
# for cases that don't run "lunch hikey960-userdebug"
if [ -z "${ANDROID_BUILD_TOP}" ]; then
@@ -9,22 +10,66 @@ if [ -z "${ANDROID_BUILD_TOP}" ]; then
fi
if [ ! -d "${ANDROID_PRODUCT_OUT}" ]; then
- echo "error in locating out directory, check if it exist"
+ echo ${ECHO_PREFIX}"error in locating out directory, check if it exist"
exit
fi
-echo "android out dir:${ANDROID_PRODUCT_OUT}"
-
-fastboot flash xloader "${INSTALLER_DIR}"/hisi-sec_xloader.img
-fastboot flash ptable "${INSTALLER_DIR}"/hisi-ptable.img
-fastboot flash fastboot "${INSTALLER_DIR}"/hisi-fastboot.img
-fastboot reboot-bootloader
-fastboot flash nvme "${INSTALLER_DIR}"/hisi-nvme.img
-fastboot flash fw_lpm3 "${INSTALLER_DIR}"/hisi-lpm3.img
-fastboot flash trustfirmware "${INSTALLER_DIR}"/hisi-bl31.bin
-fastboot flash boot "${ANDROID_PRODUCT_OUT}"/boot.img
-fastboot flash dts "${ANDROID_PRODUCT_OUT}"/dt.img
-fastboot flash super "${ANDROID_PRODUCT_OUT}"/super.img
-fastboot flash userdata "${ANDROID_PRODUCT_OUT}"/userdata.img
-fastboot format:ext4:10000000 cache
+echo ${ECHO_PREFIX}"android out dir:${ANDROID_PRODUCT_OUT}"
+
+function check_partition_table_version () {
+ fastboot erase reserved
+ if [ $? -eq 0 ]
+ then
+ IS_PTABLE_1MB_ALIGNED=true
+ else
+ IS_PTABLE_1MB_ALIGNED=false
+ fi
+}
+
+function flashing_atf_uefi () {
+ fastboot flash ptable "${INSTALLER_DIR}"/prm_ptable.img
+ fastboot flash xloader "${INSTALLER_DIR}"/hisi-sec_xloader.img
+ fastboot reboot-bootloader
+
+ fastboot flash fastboot "${INSTALLER_DIR}"/l-loader.bin
+ fastboot flash fip "${INSTALLER_DIR}"/fip.bin
+ fastboot flash nvme "${INSTALLER_DIR}"/hisi-nvme.img
+ fastboot flash fw_lpm3 "${INSTALLER_DIR}"/hisi-lpm3.img
+ fastboot flash trustfirmware "${INSTALLER_DIR}"/hisi-bl31.bin
+ fastboot reboot-bootloader
+
+ fastboot flash ptable "${INSTALLER_DIR}"/prm_ptable.img
+ fastboot flash xloader "${INSTALLER_DIR}"/hisi-sec_xloader.img
+ fastboot flash fastboot "${INSTALLER_DIR}"/l-loader.bin
+ fastboot flash fip "${INSTALLER_DIR}"/fip.bin
+
+ fastboot flash boot "${ANDROID_PRODUCT_OUT}"/boot.img
+ fastboot flash super "${ANDROID_PRODUCT_OUT}"/super.img
+# fastboot flash userdata "${ANDROID_PRODUCT_OUT}"/userdata.img
+ fastboot format cache
+}
+
+function upgrading_ptable_1mb_aligned () {
+ fastboot flash xloader "${INSTALLER_DIR}"/hisi-sec_xloader.img
+ fastboot flash ptable "${INSTALLER_DIR}"/hisi-ptable.img
+ fastboot flash fastboot "${INSTALLER_DIR}"/hisi-fastboot.img
+ fastboot reboot-bootloader
+}
+
+echo ${ECHO_PREFIX}"Checking partition table version..."
+check_partition_table_version
+
+if [ "${IS_PTABLE_1MB_ALIGNED}" == "true" ]
+then
+ echo ${ECHO_PREFIX}"Partition table is 1MB aligned. Flashing ATF/UEFI..."
+ flashing_atf_uefi
+else
+ echo ${ECHO_PREFIX}"Partition table is 512KB aligned."
+ echo ${ECHO_PREFIX}"Upgrading to 1MB aligned version..."
+ upgrading_ptable_1mb_aligned
+ echo ${ECHO_PREFIX}"Flashing ATF/UEFI..."
+ flashing_atf_uefi
+ echo ${ECHO_PREFIX}"Done"
+fi
+
fastboot reboot