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