1*dbb5c420SAndroid Build Coastguard Worker# Copyright 2011 The Android Open Source Project 2*dbb5c420SAndroid Build Coastguard Worker# 3*dbb5c420SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*dbb5c420SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*dbb5c420SAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*dbb5c420SAndroid Build Coastguard Worker# 7*dbb5c420SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*dbb5c420SAndroid Build Coastguard Worker# 9*dbb5c420SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*dbb5c420SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*dbb5c420SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*dbb5c420SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*dbb5c420SAndroid Build Coastguard Worker# limitations under the License. 14*dbb5c420SAndroid Build Coastguard Worker 15*dbb5c420SAndroid Build Coastguard Worker# Use the default values if they weren't explicitly set 16*dbb5c420SAndroid Build Coastguard Workerif test "$XLOADERSRC" = "" 17*dbb5c420SAndroid Build Coastguard Workerthen 18*dbb5c420SAndroid Build Coastguard Worker XLOADERSRC=xloader.img 19*dbb5c420SAndroid Build Coastguard Workerfi 20*dbb5c420SAndroid Build Coastguard Workerif test "$BOOTLOADERSRC" = "" 21*dbb5c420SAndroid Build Coastguard Workerthen 22*dbb5c420SAndroid Build Coastguard Worker BOOTLOADERSRC=bootloader.img 23*dbb5c420SAndroid Build Coastguard Workerfi 24*dbb5c420SAndroid Build Coastguard Workerif test "$RADIOSRC" = "" 25*dbb5c420SAndroid Build Coastguard Workerthen 26*dbb5c420SAndroid Build Coastguard Worker RADIOSRC=radio.img 27*dbb5c420SAndroid Build Coastguard Workerfi 28*dbb5c420SAndroid Build Coastguard Workerif test "$GSCFIRMWARESRC" = "" 29*dbb5c420SAndroid Build Coastguard Workerthen 30*dbb5c420SAndroid Build Coastguard Worker GSCFIRMWARESRC=dauntless 31*dbb5c420SAndroid Build Coastguard Workerfi 32*dbb5c420SAndroid Build Coastguard Workerif test "$SLEEPDURATION" = "" 33*dbb5c420SAndroid Build Coastguard Workerthen 34*dbb5c420SAndroid Build Coastguard Worker SLEEPDURATION=5 35*dbb5c420SAndroid Build Coastguard Workerfi 36*dbb5c420SAndroid Build Coastguard Worker 37*dbb5c420SAndroid Build Coastguard Worker# Prepare the staging directory 38*dbb5c420SAndroid Build Coastguard Workerrm -rf tmp 39*dbb5c420SAndroid Build Coastguard Workermkdir -p tmp/$PRODUCT-$VERSION 40*dbb5c420SAndroid Build Coastguard Worker 41*dbb5c420SAndroid Build Coastguard Worker# Extract the bootloader(s) and radio(s) as necessary 42*dbb5c420SAndroid Build Coastguard Workerif test "$XLOADER" != "" 43*dbb5c420SAndroid Build Coastguard Workerthen 44*dbb5c420SAndroid Build Coastguard Worker unzip -d tmp ${SRCPREFIX}$PRODUCT-target_files-$BUILD.zip RADIO/$XLOADERSRC 45*dbb5c420SAndroid Build Coastguard Workerfi 46*dbb5c420SAndroid Build Coastguard Workerif test "$BOOTLOADERFILE" = "" 47*dbb5c420SAndroid Build Coastguard Workerthen 48*dbb5c420SAndroid Build Coastguard Worker unzip -d tmp ${SRCPREFIX}$PRODUCT-target_files-$BUILD.zip RADIO/$BOOTLOADERSRC 49*dbb5c420SAndroid Build Coastguard Workerfi 50*dbb5c420SAndroid Build Coastguard Workerif test "$RADIO" != "" -a "$RADIOFILE" = "" 51*dbb5c420SAndroid Build Coastguard Workerthen 52*dbb5c420SAndroid Build Coastguard Worker unzip -d tmp ${SRCPREFIX}$PRODUCT-target_files-$BUILD.zip RADIO/$RADIOSRC 53*dbb5c420SAndroid Build Coastguard Workerfi 54*dbb5c420SAndroid Build Coastguard Workerif test "$CDMARADIO" != "" -a "$CDMARADIOFILE" = "" 55*dbb5c420SAndroid Build Coastguard Workerthen 56*dbb5c420SAndroid Build Coastguard Worker unzip -d tmp ${SRCPREFIX}$PRODUCT-target_files-$BUILD.zip RADIO/radio-cdma.img 57*dbb5c420SAndroid Build Coastguard Workerfi 58*dbb5c420SAndroid Build Coastguard Worker 59*dbb5c420SAndroid Build Coastguard Worker# Extract the GSC firmware 60*dbb5c420SAndroid Build Coastguard Workerunzip -d tmp ${SRCPREFIX}$PRODUCT-target_files-$BUILD.zip VENDOR/firmware/$GSCFIRMWARESRC/* 61*dbb5c420SAndroid Build Coastguard Worker 62*dbb5c420SAndroid Build Coastguard Worker# Copy the various images in their staging location 63*dbb5c420SAndroid Build Coastguard Workercp ${SRCPREFIX}$PRODUCT-img-$BUILD.zip tmp/$PRODUCT-$VERSION/image-$PRODUCT-$VERSION.zip 64*dbb5c420SAndroid Build Coastguard Workerif test "$XLOADER" != "" 65*dbb5c420SAndroid Build Coastguard Workerthen 66*dbb5c420SAndroid Build Coastguard Worker cp tmp/RADIO/$XLOADERSRC tmp/$PRODUCT-$VERSION/xloader-$DEVICE-$XLOADER.img 67*dbb5c420SAndroid Build Coastguard Workerfi 68*dbb5c420SAndroid Build Coastguard Workerif test "$BOOTLOADERFILE" = "" 69*dbb5c420SAndroid Build Coastguard Workerthen 70*dbb5c420SAndroid Build Coastguard Worker cp tmp/RADIO/$BOOTLOADERSRC tmp/$PRODUCT-$VERSION/bootloader-$DEVICE-$BOOTLOADER.img 71*dbb5c420SAndroid Build Coastguard Workerelse 72*dbb5c420SAndroid Build Coastguard Worker cp $BOOTLOADERFILE tmp/$PRODUCT-$VERSION/bootloader-$DEVICE-$BOOTLOADER.img 73*dbb5c420SAndroid Build Coastguard Workerfi 74*dbb5c420SAndroid Build Coastguard Workerif test "$RADIO" != "" 75*dbb5c420SAndroid Build Coastguard Workerthen 76*dbb5c420SAndroid Build Coastguard Worker if test "$RADIOFILE" = "" 77*dbb5c420SAndroid Build Coastguard Worker then 78*dbb5c420SAndroid Build Coastguard Worker cp tmp/RADIO/$RADIOSRC tmp/$PRODUCT-$VERSION/radio-$DEVICE-$RADIO.img 79*dbb5c420SAndroid Build Coastguard Worker else 80*dbb5c420SAndroid Build Coastguard Worker cp $RADIOFILE tmp/$PRODUCT-$VERSION/radio-$DEVICE-$RADIO.img 81*dbb5c420SAndroid Build Coastguard Worker fi 82*dbb5c420SAndroid Build Coastguard Workerfi 83*dbb5c420SAndroid Build Coastguard Workerif test "$CDMARADIO" != "" 84*dbb5c420SAndroid Build Coastguard Workerthen 85*dbb5c420SAndroid Build Coastguard Worker if test "$CDMARADIOFILE" = "" 86*dbb5c420SAndroid Build Coastguard Worker then 87*dbb5c420SAndroid Build Coastguard Worker cp tmp/RADIO/radio-cdma.img tmp/$PRODUCT-$VERSION/radio-cdma-$DEVICE-$CDMARADIO.img 88*dbb5c420SAndroid Build Coastguard Worker else 89*dbb5c420SAndroid Build Coastguard Worker cp $CDMARADIOFILE tmp/$PRODUCT-$VERSION/radio-cdma-$DEVICE-$CDMARADIO.img 90*dbb5c420SAndroid Build Coastguard Worker fi 91*dbb5c420SAndroid Build Coastguard Workerfi 92*dbb5c420SAndroid Build Coastguard Workercp -r tmp/VENDOR/firmware/$GSCFIRMWARESRC/* tmp/$PRODUCT-$VERSION 93*dbb5c420SAndroid Build Coastguard Worker 94*dbb5c420SAndroid Build Coastguard Worker# Write flash-all.sh 95*dbb5c420SAndroid Build Coastguard Workercat > tmp/$PRODUCT-$VERSION/flash-all.sh << EOF 96*dbb5c420SAndroid Build Coastguard Worker#!/bin/sh 97*dbb5c420SAndroid Build Coastguard Worker 98*dbb5c420SAndroid Build Coastguard Worker# Copyright 2012 The Android Open Source Project 99*dbb5c420SAndroid Build Coastguard Worker# 100*dbb5c420SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 101*dbb5c420SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 102*dbb5c420SAndroid Build Coastguard Worker# You may obtain a copy of the License at 103*dbb5c420SAndroid Build Coastguard Worker# 104*dbb5c420SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 105*dbb5c420SAndroid Build Coastguard Worker# 106*dbb5c420SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 107*dbb5c420SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 108*dbb5c420SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 109*dbb5c420SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 110*dbb5c420SAndroid Build Coastguard Worker# limitations under the License. 111*dbb5c420SAndroid Build Coastguard Worker 112*dbb5c420SAndroid Build Coastguard Workerif ! [ \$(\$(which fastboot) --version | grep "version" | cut -c18-23 | sed 's/\.//g' ) -ge 3301 ]; then 113*dbb5c420SAndroid Build Coastguard Worker echo "fastboot too old; please download the latest version at https://developer.android.com/studio/releases/platform-tools.html" 114*dbb5c420SAndroid Build Coastguard Worker exit 1 115*dbb5c420SAndroid Build Coastguard Workerfi 116*dbb5c420SAndroid Build Coastguard WorkerEOF 117*dbb5c420SAndroid Build Coastguard Workerif test "$UNLOCKBOOTLOADER" = "true" 118*dbb5c420SAndroid Build Coastguard Workerthen 119*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.sh << EOF 120*dbb5c420SAndroid Build Coastguard Workerfastboot oem unlock 121*dbb5c420SAndroid Build Coastguard WorkerEOF 122*dbb5c420SAndroid Build Coastguard Workerfi 123*dbb5c420SAndroid Build Coastguard Workerif test "$ERASEALL" = "true" 124*dbb5c420SAndroid Build Coastguard Workerthen 125*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.sh << EOF 126*dbb5c420SAndroid Build Coastguard Workerfastboot erase boot 127*dbb5c420SAndroid Build Coastguard Workerfastboot erase cache 128*dbb5c420SAndroid Build Coastguard Workerfastboot erase recovery 129*dbb5c420SAndroid Build Coastguard Workerfastboot erase system 130*dbb5c420SAndroid Build Coastguard Workerfastboot erase userdata 131*dbb5c420SAndroid Build Coastguard WorkerEOF 132*dbb5c420SAndroid Build Coastguard Workerfi 133*dbb5c420SAndroid Build Coastguard Workerif test "$XLOADER" != "" 134*dbb5c420SAndroid Build Coastguard Workerthen 135*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.sh << EOF 136*dbb5c420SAndroid Build Coastguard Workerfastboot flash xloader xloader-$DEVICE-$XLOADER.img 137*dbb5c420SAndroid Build Coastguard WorkerEOF 138*dbb5c420SAndroid Build Coastguard Workerfi 139*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.sh << EOF 140*dbb5c420SAndroid Build Coastguard Workerfastboot flash bootloader bootloader-$DEVICE-$BOOTLOADER.img 141*dbb5c420SAndroid Build Coastguard WorkerEOF 142*dbb5c420SAndroid Build Coastguard Workerif test "$TWINBOOTLOADERS" = "true" 143*dbb5c420SAndroid Build Coastguard Workerthen 144*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.sh << EOF 145*dbb5c420SAndroid Build Coastguard Workerfastboot flash bootloader2 bootloader-$DEVICE-$BOOTLOADER.img 146*dbb5c420SAndroid Build Coastguard WorkerEOF 147*dbb5c420SAndroid Build Coastguard Workerfi 148*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.sh << EOF 149*dbb5c420SAndroid Build Coastguard Workerfastboot reboot-bootloader 150*dbb5c420SAndroid Build Coastguard Workersleep $SLEEPDURATION 151*dbb5c420SAndroid Build Coastguard WorkerEOF 152*dbb5c420SAndroid Build Coastguard Workerif test "$RADIO" != "" 153*dbb5c420SAndroid Build Coastguard Workerthen 154*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.sh << EOF 155*dbb5c420SAndroid Build Coastguard Workerfastboot flash radio radio-$DEVICE-$RADIO.img 156*dbb5c420SAndroid Build Coastguard Workerfastboot reboot-bootloader 157*dbb5c420SAndroid Build Coastguard Workersleep $SLEEPDURATION 158*dbb5c420SAndroid Build Coastguard WorkerEOF 159*dbb5c420SAndroid Build Coastguard Workerfi 160*dbb5c420SAndroid Build Coastguard Workerif test "$CDMARADIO" != "" 161*dbb5c420SAndroid Build Coastguard Workerthen 162*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.sh << EOF 163*dbb5c420SAndroid Build Coastguard Workerfastboot flash radio-cdma radio-cdma-$DEVICE-$CDMARADIO.img 164*dbb5c420SAndroid Build Coastguard Workerfastboot reboot-bootloader 165*dbb5c420SAndroid Build Coastguard Workersleep $SLEEPDURATION 166*dbb5c420SAndroid Build Coastguard WorkerEOF 167*dbb5c420SAndroid Build Coastguard Workerfi 168*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.sh << EOF 169*dbb5c420SAndroid Build Coastguard Workerfastboot -w update image-$PRODUCT-$VERSION.zip 170*dbb5c420SAndroid Build Coastguard WorkerEOF 171*dbb5c420SAndroid Build Coastguard Workerchmod a+x tmp/$PRODUCT-$VERSION/flash-all.sh 172*dbb5c420SAndroid Build Coastguard Worker 173*dbb5c420SAndroid Build Coastguard Worker# Write flash-all.bat 174*dbb5c420SAndroid Build Coastguard Workercat > tmp/$PRODUCT-$VERSION/flash-all.bat << EOF 175*dbb5c420SAndroid Build Coastguard Worker@ECHO OFF 176*dbb5c420SAndroid Build Coastguard Worker:: Copyright 2012 The Android Open Source Project 177*dbb5c420SAndroid Build Coastguard Worker:: 178*dbb5c420SAndroid Build Coastguard Worker:: Licensed under the Apache License, Version 2.0 (the "License"); 179*dbb5c420SAndroid Build Coastguard Worker:: you may not use this file except in compliance with the License. 180*dbb5c420SAndroid Build Coastguard Worker:: You may obtain a copy of the License at 181*dbb5c420SAndroid Build Coastguard Worker:: 182*dbb5c420SAndroid Build Coastguard Worker:: http://www.apache.org/licenses/LICENSE-2.0 183*dbb5c420SAndroid Build Coastguard Worker:: 184*dbb5c420SAndroid Build Coastguard Worker:: Unless required by applicable law or agreed to in writing, software 185*dbb5c420SAndroid Build Coastguard Worker:: distributed under the License is distributed on an "AS IS" BASIS, 186*dbb5c420SAndroid Build Coastguard Worker:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 187*dbb5c420SAndroid Build Coastguard Worker:: See the License for the specific language governing permissions and 188*dbb5c420SAndroid Build Coastguard Worker:: limitations under the License. 189*dbb5c420SAndroid Build Coastguard Worker 190*dbb5c420SAndroid Build Coastguard WorkerPATH=%PATH%;"%SYSTEMROOT%\System32" 191*dbb5c420SAndroid Build Coastguard WorkerEOF 192*dbb5c420SAndroid Build Coastguard Workerif test "$UNLOCKBOOTLOADER" = "true" 193*dbb5c420SAndroid Build Coastguard Workerthen 194*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.bat << EOF 195*dbb5c420SAndroid Build Coastguard Workerfastboot oem unlock 196*dbb5c420SAndroid Build Coastguard WorkerEOF 197*dbb5c420SAndroid Build Coastguard Workerfi 198*dbb5c420SAndroid Build Coastguard Workerif test "$ERASEALL" = "true" 199*dbb5c420SAndroid Build Coastguard Workerthen 200*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.bat << EOF 201*dbb5c420SAndroid Build Coastguard Workerfastboot erase boot 202*dbb5c420SAndroid Build Coastguard Workerfastboot erase cache 203*dbb5c420SAndroid Build Coastguard Workerfastboot erase recovery 204*dbb5c420SAndroid Build Coastguard Workerfastboot erase system 205*dbb5c420SAndroid Build Coastguard Workerfastboot erase userdata 206*dbb5c420SAndroid Build Coastguard WorkerEOF 207*dbb5c420SAndroid Build Coastguard Workerfi 208*dbb5c420SAndroid Build Coastguard Workerif test "$XLOADER" != "" 209*dbb5c420SAndroid Build Coastguard Workerthen 210*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.bat << EOF 211*dbb5c420SAndroid Build Coastguard Workerfastboot flash xloader xloader-$DEVICE-$XLOADER.img 212*dbb5c420SAndroid Build Coastguard WorkerEOF 213*dbb5c420SAndroid Build Coastguard Workerfi 214*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.bat << EOF 215*dbb5c420SAndroid Build Coastguard Workerfastboot flash bootloader bootloader-$DEVICE-$BOOTLOADER.img 216*dbb5c420SAndroid Build Coastguard WorkerEOF 217*dbb5c420SAndroid Build Coastguard Workerif test "$TWINBOOTLOADERS" = "true" 218*dbb5c420SAndroid Build Coastguard Workerthen 219*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.bat << EOF 220*dbb5c420SAndroid Build Coastguard Workerfastboot flash bootloader2 bootloader-$DEVICE-$BOOTLOADER.img 221*dbb5c420SAndroid Build Coastguard WorkerEOF 222*dbb5c420SAndroid Build Coastguard Workerfi 223*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.bat << EOF 224*dbb5c420SAndroid Build Coastguard Workerfastboot reboot-bootloader 225*dbb5c420SAndroid Build Coastguard Workerping -n $SLEEPDURATION 127.0.0.1 >nul 226*dbb5c420SAndroid Build Coastguard WorkerEOF 227*dbb5c420SAndroid Build Coastguard Workerif test "$RADIO" != "" 228*dbb5c420SAndroid Build Coastguard Workerthen 229*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.bat << EOF 230*dbb5c420SAndroid Build Coastguard Workerfastboot flash radio radio-$DEVICE-$RADIO.img 231*dbb5c420SAndroid Build Coastguard Workerfastboot reboot-bootloader 232*dbb5c420SAndroid Build Coastguard Workerping -n $SLEEPDURATION 127.0.0.1 >nul 233*dbb5c420SAndroid Build Coastguard WorkerEOF 234*dbb5c420SAndroid Build Coastguard Workerfi 235*dbb5c420SAndroid Build Coastguard Workerif test "$CDMARADIO" != "" 236*dbb5c420SAndroid Build Coastguard Workerthen 237*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.bat << EOF 238*dbb5c420SAndroid Build Coastguard Workerfastboot flash radio-cdma radio-cdma-$DEVICE-$CDMARADIO.img 239*dbb5c420SAndroid Build Coastguard Workerfastboot reboot-bootloader 240*dbb5c420SAndroid Build Coastguard Workerping -n $SLEEPDURATION 127.0.0.1 >nul 241*dbb5c420SAndroid Build Coastguard WorkerEOF 242*dbb5c420SAndroid Build Coastguard Workerfi 243*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-all.bat << EOF 244*dbb5c420SAndroid Build Coastguard Workerfastboot -w update image-$PRODUCT-$VERSION.zip 245*dbb5c420SAndroid Build Coastguard Worker 246*dbb5c420SAndroid Build Coastguard Workerecho Press any key to exit... 247*dbb5c420SAndroid Build Coastguard Workerpause >nul 248*dbb5c420SAndroid Build Coastguard Workerexit 249*dbb5c420SAndroid Build Coastguard WorkerEOF 250*dbb5c420SAndroid Build Coastguard Worker 251*dbb5c420SAndroid Build Coastguard Worker# Write flash-base.sh 252*dbb5c420SAndroid Build Coastguard Workercat > tmp/$PRODUCT-$VERSION/flash-base.sh << EOF 253*dbb5c420SAndroid Build Coastguard Worker#!/bin/sh 254*dbb5c420SAndroid Build Coastguard Worker 255*dbb5c420SAndroid Build Coastguard Worker# Copyright 2012 The Android Open Source Project 256*dbb5c420SAndroid Build Coastguard Worker# 257*dbb5c420SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 258*dbb5c420SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 259*dbb5c420SAndroid Build Coastguard Worker# You may obtain a copy of the License at 260*dbb5c420SAndroid Build Coastguard Worker# 261*dbb5c420SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 262*dbb5c420SAndroid Build Coastguard Worker# 263*dbb5c420SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 264*dbb5c420SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 265*dbb5c420SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 266*dbb5c420SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 267*dbb5c420SAndroid Build Coastguard Worker# limitations under the License. 268*dbb5c420SAndroid Build Coastguard Worker 269*dbb5c420SAndroid Build Coastguard Workerif ! [ \$(\$(which fastboot) --version | grep "version" | cut -c18-23 | sed 's/\.//g' ) -ge 3301 ]; then 270*dbb5c420SAndroid Build Coastguard Worker echo "fastboot too old; please download the latest version at https://developer.android.com/studio/releases/platform-tools.html" 271*dbb5c420SAndroid Build Coastguard Worker exit 1 272*dbb5c420SAndroid Build Coastguard Workerfi 273*dbb5c420SAndroid Build Coastguard WorkerEOF 274*dbb5c420SAndroid Build Coastguard Workerif test "$XLOADER" != "" 275*dbb5c420SAndroid Build Coastguard Workerthen 276*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-base.sh << EOF 277*dbb5c420SAndroid Build Coastguard Workerfastboot flash xloader xloader-$DEVICE-$XLOADER.img 278*dbb5c420SAndroid Build Coastguard WorkerEOF 279*dbb5c420SAndroid Build Coastguard Workerfi 280*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-base.sh << EOF 281*dbb5c420SAndroid Build Coastguard Workerfastboot flash bootloader bootloader-$DEVICE-$BOOTLOADER.img 282*dbb5c420SAndroid Build Coastguard WorkerEOF 283*dbb5c420SAndroid Build Coastguard Workerif test "$TWINBOOTLOADERS" = "true" 284*dbb5c420SAndroid Build Coastguard Workerthen 285*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-base.sh << EOF 286*dbb5c420SAndroid Build Coastguard Workerfastboot flash bootloader2 bootloader-$DEVICE-$BOOTLOADER.img 287*dbb5c420SAndroid Build Coastguard WorkerEOF 288*dbb5c420SAndroid Build Coastguard Workerfi 289*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-base.sh << EOF 290*dbb5c420SAndroid Build Coastguard Workerfastboot reboot-bootloader 291*dbb5c420SAndroid Build Coastguard Workersleep $SLEEPDURATION 292*dbb5c420SAndroid Build Coastguard WorkerEOF 293*dbb5c420SAndroid Build Coastguard Workerif test "$RADIO" != "" 294*dbb5c420SAndroid Build Coastguard Workerthen 295*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-base.sh << EOF 296*dbb5c420SAndroid Build Coastguard Workerfastboot flash radio radio-$DEVICE-$RADIO.img 297*dbb5c420SAndroid Build Coastguard Workerfastboot reboot-bootloader 298*dbb5c420SAndroid Build Coastguard Workersleep $SLEEPDURATION 299*dbb5c420SAndroid Build Coastguard WorkerEOF 300*dbb5c420SAndroid Build Coastguard Workerfi 301*dbb5c420SAndroid Build Coastguard Workerif test "$CDMARADIO" != "" 302*dbb5c420SAndroid Build Coastguard Workerthen 303*dbb5c420SAndroid Build Coastguard Workercat >> tmp/$PRODUCT-$VERSION/flash-base.sh << EOF 304*dbb5c420SAndroid Build Coastguard Workerfastboot flash radio-cdma radio-cdma-$DEVICE-$CDMARADIO.img 305*dbb5c420SAndroid Build Coastguard Workerfastboot reboot-bootloader 306*dbb5c420SAndroid Build Coastguard Workersleep $SLEEPDURATION 307*dbb5c420SAndroid Build Coastguard WorkerEOF 308*dbb5c420SAndroid Build Coastguard Workerfi 309*dbb5c420SAndroid Build Coastguard Workerchmod a+x tmp/$PRODUCT-$VERSION/flash-base.sh 310*dbb5c420SAndroid Build Coastguard Worker 311*dbb5c420SAndroid Build Coastguard Worker# Create the distributable package 312*dbb5c420SAndroid Build Coastguard Worker(cd tmp ; zip -r ../$PRODUCT-$VERSION-factory.zip $PRODUCT-$VERSION) 313*dbb5c420SAndroid Build Coastguard Workermv $PRODUCT-$VERSION-factory.zip $PRODUCT-$VERSION-factory-$(sha256sum < $PRODUCT-$VERSION-factory.zip | cut -b -8).zip 314*dbb5c420SAndroid Build Coastguard Worker 315*dbb5c420SAndroid Build Coastguard Worker# Clean up 316*dbb5c420SAndroid Build Coastguard Workerrm -rf tmp 317