xref: /aosp_15_r20/development/tools/labpretest/sholes/custom_flash.sh (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Worker#!/bin/bash
2*90c8c64dSAndroid Build Coastguard Worker#
3*90c8c64dSAndroid Build Coastguard Worker# Copyright 2010 Google Inc. All Rights Reserved.
4*90c8c64dSAndroid Build Coastguard Worker# Author: [email protected] (Bruce Gay)
5*90c8c64dSAndroid Build Coastguard Worker#
6*90c8c64dSAndroid Build Coastguard Worker# used for flashing bootloader image on sholes
7*90c8c64dSAndroid Build Coastguard Worker
8*90c8c64dSAndroid Build Coastguard WorkerBOOTPART='motoboot'
9*90c8c64dSAndroid Build Coastguard Worker
10*90c8c64dSAndroid Build Coastguard Worker################################################
11*90c8c64dSAndroid Build Coastguard Worker# sets the name of the boot partition and
12*90c8c64dSAndroid Build Coastguard Worker# bootfile, then flashes device
13*90c8c64dSAndroid Build Coastguard Worker#
14*90c8c64dSAndroid Build Coastguard Worker# Globals:
15*90c8c64dSAndroid Build Coastguard Worker#   product
16*90c8c64dSAndroid Build Coastguard Worker#   ROOT
17*90c8c64dSAndroid Build Coastguard Worker#   BOOTPART
18*90c8c64dSAndroid Build Coastguard Worker#   bootloaderfile
19*90c8c64dSAndroid Build Coastguard Worker#   device
20*90c8c64dSAndroid Build Coastguard Worker# Arguments:
21*90c8c64dSAndroid Build Coastguard Worker#   None
22*90c8c64dSAndroid Build Coastguard Worker# Returns:
23*90c8c64dSAndroid Build Coastguard Worker#   None
24*90c8c64dSAndroid Build Coastguard Worker################################################
25*90c8c64dSAndroid Build Coastguard Workerflash_bootloader_image()
26*90c8c64dSAndroid Build Coastguard Worker{
27*90c8c64dSAndroid Build Coastguard Worker  if [ $product != "sholes" ]; then
28*90c8c64dSAndroid Build Coastguard Worker    log_print "Wrong device type, expected sholes!"
29*90c8c64dSAndroid Build Coastguard Worker    exit
30*90c8c64dSAndroid Build Coastguard Worker  fi
31*90c8c64dSAndroid Build Coastguard Worker  if [ "$bootloaderfile" == '' ]; then
32*90c8c64dSAndroid Build Coastguard Worker    log_print "getting bootloader file for $product"
33*90c8c64dSAndroid Build Coastguard Worker    secure=`$fastboot -s $device getvar secure 2>&1 | sed -n 's/secure: \([a-z]*\)\n*/\1/ p'`
34*90c8c64dSAndroid Build Coastguard Worker    if [ "$secure" = "no" ]; then
35*90c8c64dSAndroid Build Coastguard Worker      bootloaderfile=`ls -1 sholes/ | sed -n 's/^\(motoboot_unsecure.[0-9A-Z]*.img\)\n*/\1/ p'`
36*90c8c64dSAndroid Build Coastguard Worker    else
37*90c8c64dSAndroid Build Coastguard Worker      bootloaderfile=`ls -1 sholes/ | sed -n 's/^\(motoboot_secure.[0-9A-Z]*.img\)\n*/\1/ p'`
38*90c8c64dSAndroid Build Coastguard Worker    fi
39*90c8c64dSAndroid Build Coastguard Worker    if [ "$bootloaderfile" == '' ]; then
40*90c8c64dSAndroid Build Coastguard Worker      log_print "bootloader file empty: $bootloaderfile"
41*90c8c64dSAndroid Build Coastguard Worker      exit
42*90c8c64dSAndroid Build Coastguard Worker    fi
43*90c8c64dSAndroid Build Coastguard Worker    if [ ! -e "$ROOT/$product/$bootloaderfile" ]; then
44*90c8c64dSAndroid Build Coastguard Worker      log_print "bootloader file not found: ./$product/$bootloaderfile"
45*90c8c64dSAndroid Build Coastguard Worker      exit
46*90c8c64dSAndroid Build Coastguard Worker    fi
47*90c8c64dSAndroid Build Coastguard Worker    log_print "using $ROOT/$product/$bootloaderfile as the bootloader image file"
48*90c8c64dSAndroid Build Coastguard Worker  fi
49*90c8c64dSAndroid Build Coastguard Worker  log_print "downloading bootloader image to $device"
50*90c8c64dSAndroid Build Coastguard Worker  flash_partition $BOOTPART $ROOT/$product/$bootloaderfile
51*90c8c64dSAndroid Build Coastguard Worker  reboot_into_fastboot_from_fastboot
52*90c8c64dSAndroid Build Coastguard Worker}
53