Modify flash.sh to flash from x20.

Change-Id: If9420dc35afdf0ec7e5e2d113cfc2af8920355c1
diff --git a/flash.sh b/flash.sh
index f22bd71..5e132a2 100755
--- a/flash.sh
+++ b/flash.sh
@@ -17,19 +17,32 @@
 set -e
 
 SCRIPT_DIR=$(realpath $(dirname $0))
+PYTHON3=$(which python3)
 FLASHTOOLS_DIR=${SCRIPT_DIR}/flashtools
-FBTOOL=${FLASHTOOLS_DIR}/fbtool.py
-EXCELSIOR_DEBUG_RESET_TOOL=${FLASHTOOLS_DIR}/debug_board_reset.py
+FBTOOL="${PYTHON3} ${FLASHTOOLS_DIR}/fbtool.py"
+EXCELSIOR_DEBUG_RESET_TOOL="${PYTHON3} ${FLASHTOOLS_DIR}/debug_board_reset.py"
 DOWNLOAD_AGENT_CONFIG=${FLASHTOOLS_DIR}/dl_addr.ini
+DOWNLOAD_AGENT_CONFIG_PRODUCT_OUT=${PRODUCT_OUT}/dl_addr.ini
 FASTBOOT_TOOL=$(which fastboot)
 USERSPACE_ARCH=arm64
 
-if [ -z ${FASTBOOT_TOOL} ]; then
+# Check for fastboot tool
+if [[ -z "${FASTBOOT_TOOL}" ]]; then
     echo "Fastboot is not found on this machine. Install fastboot before running this script"; exit 1
 fi
 
-if [ -z ${PRODUCT_OUT} ]; then
-    echo "PRODUCT_OUT not set, make sure to source board/setup.sh before running this script"; exit 1
+# Check if PRODUCT_OUT is set
+if [[ -z "${PRODUCT_OUT}" ]]; then
+    echo "PRODUCT_OUT not set, attempting to use script path ${SCRIPT_DIR}.";
+    PRODUCT_OUT=${SCRIPT_DIR}
+    DOWNLOAD_AGENT_CONFIG_PRODUCT_OUT=${PRODUCT_OUT}/dl_addr.ini
+    # Check that download agent config is available.
+    if [[ ! -f "${DOWNLOAD_AGENT_CONFIG_PRODUCT_OUT}" ]]; then
+        echo "Download agent config not found in ${PRODUCT_OUT}."; exit 1
+    fi
+else
+    # Create symlink to download agent config.
+    ln -sf ${ROOTDIR}/board/flashtools/dl_addr.ini ${DOWNLOAD_AGENT_CONFIG_PRODUCT_OUT}
 fi
 
 
@@ -48,13 +61,13 @@
 
 reset_excelsior_to_rom() {
   echo "Reset Excelsior to ROM"
-  LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 python3 ${EXCELSIOR_DEBUG_RESET_TOOL} --rom &
+  LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 ${EXCELSIOR_DEBUG_RESET_TOOL} --rom &
 }
 
 load_lk_to_ram() {
   pushd ${PRODUCT_OUT}
   echo "Load LK to rom and boot LK"
-  ${FBTOOL} -f ${PRODUCT_OUT}/dl_addr.ini
+  ${FBTOOL} -f ${DOWNLOAD_AGENT_CONFIG_PRODUCT_OUT}
   popd
 }
 
@@ -91,7 +104,6 @@
     popd
 }
 
-ln -sf ${ROOTDIR}/board/flashtools/dl_addr.ini ${PRODUCT_OUT}/dl_addr.ini
 
 debug=0