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='bootloader' 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 != "crespo" ]; then 28*90c8c64dSAndroid Build Coastguard Worker log_print "Wrong device type, expected crespo!" 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 bootloaderfile=`ls -1 $ROOT/$product/ | sed -n 's/^\(bootloader\.[0-9A-Za-z_]*.img\)\n*/\1/ p'` 34*90c8c64dSAndroid Build Coastguard Worker if [ "$bootloaderfile" == '' ]; then 35*90c8c64dSAndroid Build Coastguard Worker log_print "bootloader file empty: $bootloaderfile" 36*90c8c64dSAndroid Build Coastguard Worker exit 37*90c8c64dSAndroid Build Coastguard Worker fi 38*90c8c64dSAndroid Build Coastguard Worker if [ ! -e "$ROOT/$product/$bootloaderfile" ]; then 39*90c8c64dSAndroid Build Coastguard Worker log_print "bootloader file not found: ./$product/$bootloaderfile" 40*90c8c64dSAndroid Build Coastguard Worker exit 41*90c8c64dSAndroid Build Coastguard Worker fi 42*90c8c64dSAndroid Build Coastguard Worker log_print "using $ROOT/$product/$bootloaderfile as bootloader image file" 43*90c8c64dSAndroid Build Coastguard Worker fi 44*90c8c64dSAndroid Build Coastguard Worker log_print "downloading bootloader image to $device" 45*90c8c64dSAndroid Build Coastguard Worker flash_partition $BOOTPART $ROOT/$product/$bootloaderfile 46*90c8c64dSAndroid Build Coastguard Worker reboot_into_fastboot_from_fastboot 47*90c8c64dSAndroid Build Coastguard Worker} 48*90c8c64dSAndroid Build Coastguard Worker 49*90c8c64dSAndroid Build Coastguard Worker################################################ 50*90c8c64dSAndroid Build Coastguard Worker# flashes the userdata partition 51*90c8c64dSAndroid Build Coastguard Worker# 52*90c8c64dSAndroid Build Coastguard Worker# Globals: 53*90c8c64dSAndroid Build Coastguard Worker# product 54*90c8c64dSAndroid Build Coastguard Worker# ROOT 55*90c8c64dSAndroid Build Coastguard Worker# Arguments: 56*90c8c64dSAndroid Build Coastguard Worker# None 57*90c8c64dSAndroid Build Coastguard Worker# Returns: 58*90c8c64dSAndroid Build Coastguard Worker# None 59*90c8c64dSAndroid Build Coastguard Worker################################################ 60*90c8c64dSAndroid Build Coastguard Workerflash_userdata_image() 61*90c8c64dSAndroid Build Coastguard Worker{ 62*90c8c64dSAndroid Build Coastguard Worker #currently not supported so exiting early..." 63*90c8c64dSAndroid Build Coastguard Worker log_print "skipping update of userdata.img, not supported yet." 64*90c8c64dSAndroid Build Coastguard Worker} 65*90c8c64dSAndroid Build Coastguard Worker 66*90c8c64dSAndroid Build Coastguard Worker################################################ 67*90c8c64dSAndroid Build Coastguard Worker# sets the name of the radio partition and 68*90c8c64dSAndroid Build Coastguard Worker# radiofile and flashes device 69*90c8c64dSAndroid Build Coastguard Worker# 70*90c8c64dSAndroid Build Coastguard Worker# Globals: 71*90c8c64dSAndroid Build Coastguard Worker# product 72*90c8c64dSAndroid Build Coastguard Worker# ROOT 73*90c8c64dSAndroid Build Coastguard Worker# radiofile 74*90c8c64dSAndroid Build Coastguard Worker# radiopart 75*90c8c64dSAndroid Build Coastguard Worker# device 76*90c8c64dSAndroid Build Coastguard Worker# Arguments: 77*90c8c64dSAndroid Build Coastguard Worker# None 78*90c8c64dSAndroid Build Coastguard Worker# Returns: 79*90c8c64dSAndroid Build Coastguard Worker# None 80*90c8c64dSAndroid Build Coastguard Worker################################################ 81*90c8c64dSAndroid Build Coastguard Workerflash_radio_image() 82*90c8c64dSAndroid Build Coastguard Worker{ 83*90c8c64dSAndroid Build Coastguard Worker #currently not supported so exiting early..." 84*90c8c64dSAndroid Build Coastguard Worker log_print "skipping update of radio partition, not supported yet." 85*90c8c64dSAndroid Build Coastguard Worker} 86