xref: /aosp_15_r20/device/common/generate-factory-images-common.sh (revision dbb5c4200be91c5fe7bd13df0957f19f0e6a10bf)
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