dragonboard: Make provision-device script usable outside tree.
Update script to support ANDROID_PROVISION_OS_PARTITONS and
ANDROID_PROVISION_VENDOR_PARTITIONS environment variables.
To test that this work outside the tree, I ran 'm dist' and unzipped the
resulting vendor_partitions.zip file in a temporary directory from a
fresh shell:
~$ mkdir tmp && cd tmp
~/tmp$ unzip /ssd/android/out/dist/dragonboard-vendor_partitions-eng.zeuthen.zip
~/tmp$ find .
.
./vendor_partitions
./vendor_partitions/modemst2.bin
./vendor_partitions/modem.bin
./vendor_partitions/sec.bin
./vendor_partitions/fsc.bin
./vendor_partitions/DDR.bin
./vendor_partitions/rpm.bin
./vendor_partitions/hyp.bin
./vendor_partitions/modemst1.bin
./vendor_partitions/aboot.bin
./vendor_partitions/sbl1.bin
./vendor_partitions/tz.bin
./vendor_partitions/fsg.bin
./partitions
./partitions/partition-tables.bin
./partitions/misc.bin
./provision-device
~/tmp$ PATH=/ssd/android/out/host/linux-x86/bin
ANDROID_PROVISION_OS_PARTITIONS=/ssd/android/out/target/product/dragonboard
ANDROID_PROVISION_VENDOR_PARTITIONS=$(pwd) ./provision-device
target reported max download size of 268435456 bytes
sending 'partition' (33 KB)...
OKAY [ 0.008s]
writing 'partition'...
OKAY [ 0.331s]
sending 'modem' (65536 KB)...
OKAY [ 2.557s]
writing 'modem'...
OKAY [ 1.781s]
sending 'fsc' (1 KB)...
[...]
OKAY [ 1.026s]
writing 'userdata'...
OKAY [ 1.925s]
finished. total time: 30.983s
~/tmp$
which demonstrates it works as expected. In e.g. the lab, the fastboot
command would be part of the lab and ANDROID_PROVISION_OS_PARTITIONS
would come from e.g. target_files.zip or img.zip.
I also ran the 'provision' command inside the build environment to check
that provisioing still works in the inside-tree case.
Bug: 25648550
Change-Id: I6fb82f7dc36c169fd9cc5998626b93414c7f5e68
Test: Manually tested (see above).
diff --git a/provision-device b/provision-device
index a1fb8b8..30c2dd2 100755
--- a/provision-device
+++ b/provision-device
@@ -1,30 +1,30 @@
-#!/bin/sh
+#!/bin/bash
-PARTITION_BIN_SRC=${ANDROID_BUILD_TOP}/vendor/bsp/qcom/device/dragonboard/qcom_410c_non-hlos_binaries_A8016BAAAAGLYD2131.1/partitions
-VENDOR_PARTITION_BIN_SRC=${ANDROID_BUILD_TOP}/vendor/bsp/qcom/device/dragonboard/qcom_410c_non-hlos_binaries_A8016BAAAAGLYD2131.1/vendor_partitions
+OS=${ANDROID_PROVISION_OS_PARTITIONS:-${ANDROID_PRODUCT_OUT}}
+VENDOR=${ANDROID_PROVISION_VENDOR_PARTITIONS:-${ANDROID_BUILD_TOP}/vendor/bsp/qcom/device/dragonboard/qcom_410c_non-hlos_binaries_A8016BAAAAGLYD2131.1/}
fastboot \
- flash partition ${PARTITION_BIN_SRC}/partition-tables.bin \
- flash modem ${VENDOR_PARTITION_BIN_SRC}/modem.bin \
- flash fsc ${VENDOR_PARTITION_BIN_SRC}/fsc.bin \
- flash sbl1 ${VENDOR_PARTITION_BIN_SRC}/sbl1.bin \
- flash sbl1bak ${VENDOR_PARTITION_BIN_SRC}/sbl1.bin \
- flash rpm ${VENDOR_PARTITION_BIN_SRC}/rpm.bin \
- flash rpmbak ${VENDOR_PARTITION_BIN_SRC}/rpm.bin \
- flash tz ${VENDOR_PARTITION_BIN_SRC}/tz.bin \
- flash tzbak ${VENDOR_PARTITION_BIN_SRC}/tz.bin \
- flash hyp ${VENDOR_PARTITION_BIN_SRC}/hyp.bin \
- flash hypbak ${VENDOR_PARTITION_BIN_SRC}/hyp.bin \
- flash modemst1 ${VENDOR_PARTITION_BIN_SRC}/modemst1.bin \
- flash modemst2 ${VENDOR_PARTITION_BIN_SRC}/modemst2.bin \
- flash DDR ${VENDOR_PARTITION_BIN_SRC}/DDR.bin \
- flash fsg ${VENDOR_PARTITION_BIN_SRC}/fsg.bin \
- flash sec ${VENDOR_PARTITION_BIN_SRC}/sec.bin \
- flash aboot ${VENDOR_PARTITION_BIN_SRC}/aboot.bin \
- flash abootbak ${VENDOR_PARTITION_BIN_SRC}/aboot.bin \
- flash misc ${PARTITION_BIN_SRC}/misc.bin \
- flash boot_a ${ANDROID_PRODUCT_OUT}/boot.img \
- flash system_a ${ANDROID_PRODUCT_OUT}/system.img \
- flash boot_b ${ANDROID_PRODUCT_OUT}/boot.img \
- flash system_b ${ANDROID_PRODUCT_OUT}/system.img \
- flash userdata ${ANDROID_PRODUCT_OUT}/userdata.img "$@"
+ flash partition ${VENDOR}/partitions/partition-tables.bin \
+ flash modem ${VENDOR}/vendor_partitions/modem.bin \
+ flash fsc ${VENDOR}/vendor_partitions/fsc.bin \
+ flash sbl1 ${VENDOR}/vendor_partitions/sbl1.bin \
+ flash sbl1bak ${VENDOR}/vendor_partitions/sbl1.bin \
+ flash rpm ${VENDOR}/vendor_partitions/rpm.bin \
+ flash rpmbak ${VENDOR}/vendor_partitions/rpm.bin \
+ flash tz ${VENDOR}/vendor_partitions/tz.bin \
+ flash tzbak ${VENDOR}/vendor_partitions/tz.bin \
+ flash hyp ${VENDOR}/vendor_partitions/hyp.bin \
+ flash hypbak ${VENDOR}/vendor_partitions/hyp.bin \
+ flash modemst1 ${VENDOR}/vendor_partitions/modemst1.bin \
+ flash modemst2 ${VENDOR}/vendor_partitions/modemst2.bin \
+ flash DDR ${VENDOR}/vendor_partitions/DDR.bin \
+ flash fsg ${VENDOR}/vendor_partitions/fsg.bin \
+ flash sec ${VENDOR}/vendor_partitions/sec.bin \
+ flash aboot ${VENDOR}/vendor_partitions/aboot.bin \
+ flash abootbak ${VENDOR}/vendor_partitions/aboot.bin \
+ flash misc ${VENDOR}/partitions/misc.bin \
+ flash boot_a ${OS}/boot.img \
+ flash system_a ${OS}/system.img \
+ flash boot_b ${OS}/boot.img \
+ flash system_b ${OS}/system.img \
+ flash userdata ${OS}/userdata.img "$@"