blob: 393bb169ca357c114952b68562bbe4927f27039a [file] [log] [blame]
Clay Murphya5864b52015-07-30 11:44:49 -07001page.title=Running Builds
Robert Ly35f2fda2013-01-29 16:27:05 -08002@jd:body
3
4<!--
Gina Diminob12ef502015-05-12 13:42:28 -07005 Copyright 2015 The Android Open Source Project
Robert Ly35f2fda2013-01-29 16:27:05 -08006
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18-->
19<div id="qv-wrapper">
20 <div id="qv">
21 <h2>In this document</h2>
22 <ol id="auto-toc">
23 </ol>
24 </div>
25</div>
26
27<p>This page complements the main page about
Clay Murphya5864b52015-07-30 11:44:49 -070028<a href="building.html">Building the System</a> with
Robert Ly35f2fda2013-01-29 16:27:05 -080029information that is specific to individual devices.</p>
Robert Ly40e3b6d2013-04-17 18:12:10 -070030
Gina Diminob12ef502015-05-12 13:42:28 -070031<h2 class="nexus-devices">Nexus devices</h2>
32<p>
33It is possible to build for Nexus devices using the AOSP
34builds and the relevant hardware-specific binaries.
35For a list of available Android builds and the Nexus devices
36they can be installed on, see <a
37href="build-numbers.html#source-code-tags-and-builds">Source
38Code, Tags, and Builds</a>.
39</p>
40
41<p class="note">
42<b>Note:</b> Due to hardware differences, do not use 4.1.1 on a Nexus 7 that
Robert Ly40e3b6d2013-04-17 18:12:10 -070043was originally sold with 4.1.2 or newer.</p>
Gina Diminob12ef502015-05-12 13:42:28 -070044
45<h2 class="other-devices">Other devices</h2>
Robert Ly35f2fda2013-01-29 16:27:05 -080046<p>The Motorola Xoom can be used in the Wi-Fi configuration "wingray"
47sold in the USA, with Android 4.1.2. Graphics and audio are functional
48as well as Wi-Fi and Bluetooth and the orientation sensors.</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080049<p>In addition, <a href="http://pandaboard.org">PandaBoard</a> a.k.a. "panda" can be used
Robert Ly40e3b6d2013-04-17 18:12:10 -070050in the jb-mr1-dev-plus-aosp branch, but is considered experimental.
Robert Ly35f2fda2013-01-29 16:27:05 -080051The specific details to use a PandaBoard with the Android Open-Source Project
52are in the file <code>device/ti/panda/README</code> in the source tree.</p>
Robert Ly40e3b6d2013-04-17 18:12:10 -070053
Robert Ly35f2fda2013-01-29 16:27:05 -080054<h2 id="building-fastboot-and-adb">Building fastboot and adb</h2>
55<p>If you don't already have those tools, fastboot and adb can be built with
56the regular build system. Follow the instructions on the page about
Clay Murphya5864b52015-07-30 11:44:49 -070057<a href="building.html">Building a System</a>, and replace the main
58<code>make</code> command with:</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080059<pre><code>$ make fastboot adb
60</code></pre>
Gina Diminob12ef502015-05-12 13:42:28 -070061
Robert Ly35f2fda2013-01-29 16:27:05 -080062<h2 id="booting-into-fastboot-mode">Booting into fastboot mode</h2>
63<p>During a cold boot, the following key combinations can be used to boot into fastboot mode,
64which is a mode in the bootloader that can be used to flash the devices:</p>
65<table>
66<thead>
67<tr>
68<th>Device</th>
69<th>Keys</th>
70</tr>
71</thead>
72<tbody>
73<tr>
Bill Yicc8fda52014-12-04 10:59:08 -080074<td>shamu</td>
75<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
76</tr>
77<tr>
78<td>fugu</td>
79<td>Press and hold <em>Power</em></td>
80</tr>
81<tr>
82<td>volantis</td>
83<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
84</tr>
85<tr>
Clay Murphye75e3fe2013-11-06 17:15:35 -080086<td>hammerhead</td>
87<td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press
88and hold <em>Power</em></td>
89</tr>
90<tr>
Jean-Baptiste Queru3b418432013-07-11 15:44:44 -070091<td>flo</td>
92<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
93</tr>
94<tr>
95<td>deb</td>
96<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
97</tr>
98<tr>
Robert Ly35f2fda2013-01-29 16:27:05 -080099<td>manta</td>
100<td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press and hold <em>Power</em></td>
101</tr>
102<tr>
103<td>mako</td>
104<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
105</tr>
106<tr>
107<td>grouper</td>
Jean-Baptiste Querud8fbf202013-06-18 14:51:12 -0700108<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800109</tr>
110<tr>
111<td>tilapia</td>
Jean-Baptiste Querud8fbf202013-06-18 14:51:12 -0700112<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800113</tr>
114<tr>
115<td>phantasm</td>
116<td>Power the device, cover it with one hand after the LEDs light up and until they turn red</td>
117</tr>
118<tr>
119<td>maguro</td>
120<td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press and hold <em>Power</em></td>
121</tr>
122<tr>
123<td>toro</td>
124<td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press and hold <em>Power</em></td>
125</tr>
126<tr>
127<td>toroplus</td>
128<td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press and hold <em>Power</em></td>
129</tr>
130<tr>
131<td>panda</td>
132<td>Press and hold <em>Input</em>, then press <em>Power</em></td>
133</tr>
134<tr>
135<td>wingray</td>
136<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
137</tr>
138<tr>
139<td>crespo</td>
140<td>Press and hold <em>Volume Up</em>, then press and hold <em>Power</em></td>
141</tr>
142<tr>
143<td>crespo4g</td>
144<td>Press and hold <em>Volume Up</em>, then press and hold <em>Power</em></td>
145</tr>
146</tbody>
147</table>
148<p>Also, the command <code>adb reboot bootloader</code> can be used to reboot from
149Android directly into the bootloader with no key combinations.</p>
150<h2 id="unlocking-the-bootloader">Unlocking the bootloader</h2>
151<p>It's only possible to flash a custom system if the bootloader allows it.</p>
152<p>The bootloader is locked by default. With the device in fastboot mode, the
153bootloader is unlocked with</p>
154<pre><code>$ fastboot oem unlock
155</code></pre>
156<p>The procedure must be confirmed on-screen, and deletes the user data for
157privacy reasons. It only needs to be run once.</p>
158<p>All data on the phone is erased, i.e. both the applications' private data
159and the shared data that is accessible over USB, including photos and
160movies. Be sure to make a backup of any precious files you have before
161unlocking the bootloader.</p>
162<p>On Nexus 10, after unlocking the bootloader, the internal storage is
163left unformatted and must be formatted with</p>
164<pre><code>$ fastboot format cache
165$ fastboot format userdata
166</code></pre>
167<p>The bootloader can be locked back with</p>
168<pre><code>$ fastboot oem lock
169</code></pre>
170<p>Note that this erases user data on Xoom (including the shared USB data).</p>
171<h2 id="obtaining-proprietary-binaries">Obtaining proprietary binaries</h2>
172<p>The Android Open-Source Project can't be used
173from pure source code only, and requires additional hardware-related proprietary
174libraries to run, specifically for hardware graphics acceleration.</p>
Clay Murphy8bb8f4a2014-06-03 17:23:10 -0700175<p>Official binaries for the supported devices running tagged AOSP release
176branches can be downloaded from <a
177href="https://developers.google.com/android/nexus/drivers">Google's Nexus
178driver page</a>. These add access to additional hardware capabilities with
Clay Murphyfa783d82015-05-01 14:26:20 -0700179non-open source code. To instead build the AOSP master branch, use the <a
Clay Murphy8bb8f4a2014-06-03 17:23:10 -0700180href="https://developers.google.com/android/nexus/blobs-preview">Binaries
181Preview for Nexus Devices</a>.</p>
Robert Ly40e3b6d2013-04-17 18:12:10 -0700182<p>When building the master branch for a device, the binaries for the most
Clay Murphy8bb8f4a2014-06-03 17:23:10 -0700183recent numbered release or with the most recent date are the ones that should
184be used.</p>
Robert Ly35f2fda2013-01-29 16:27:05 -0800185<h3 id="extracting-the-proprietary-binaries">Extracting the proprietary binaries</h3>
186<p>Each set of binaries comes as a self-extracting script in a compressed archive.
187After uncompressing each archive, run the included self-extracting script
188from the root of the source tree, confirm that you agree to the terms of the
189enclosed license agreement, and the binaries and their matching makefiles
190will get installed in the <code>vendor/</code> hierarchy of the source tree.</p>
191<h3 id="cleaning-up-when-adding-proprietary-binaries">Cleaning up when adding proprietary binaries</h3>
192<p>In order to make sure that the newly installed binaries are properly
193taken into account after being extracted, the existing output of any previous
194build needs to be deleted with</p>
195<pre><code>$ make clobber
196</code></pre>
197<h2 id="picking-and-building-the-configuration-that-matches-a-device">Picking and building the configuration that matches a device</h2>
Robert Ly35f2fda2013-01-29 16:27:05 -0800198<p>The recommended builds for the various devices are available through
Clay Murphy470853d2014-03-25 18:22:02 -0700199the lunch menu, accessed when running the <code>lunch</code> command with no arguments. Factory images and binaries for Nexus devices can be downloaded from:</p>
200<p><a href="https://developers.google.com/android/nexus/images">https://developers.google.com/android/nexus/images</a></p>
201<p><a href="https://developers.google.com/android/nexus/drivers">https://developers.google.com/android/nexus/drivers</a></p>
Robert Ly35f2fda2013-01-29 16:27:05 -0800202<table>
203<thead>
204<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700205 <th>Device</th>
206<th>Code name</th>
Robert Ly35f2fda2013-01-29 16:27:05 -0800207<th>Build configuration</th>
208</tr>
209</thead>
210<tbody>
211<tr>
Bill Yicc8fda52014-12-04 10:59:08 -0800212 <td>Nexus 6</td>
213<td>shamu</td>
214<td>aosp_shamu-userdebug</td>
215</tr>
216</tr>
217<tr>
218 <td>Nexus Player</td>
219<td>fugu</td>
220<td>aosp_fugu-userdebug</td>
221</tr>
222<tr>
223 <td>Nexus 9</td>
224<td>volantis (flounder)</td>
225<td>aosp_flounder-userdebug</td>
226</tr>
227<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700228 <td>Nexus 5 (GSM/LTE)</td>
Clay Murphye75e3fe2013-11-06 17:15:35 -0800229<td>hammerhead</td>
Clay Murphye75e3fe2013-11-06 17:15:35 -0800230<td>aosp_hammerhead-userdebug</td>
231</tr>
232<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700233 <td>Nexus 7 (Wi-Fi)</td>
234<td>razor (flo)</td>
Jean-Baptiste Queru3b418432013-07-11 15:44:44 -0700235<td>aosp_flo-userdebug</td>
236</tr>
237<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700238 <td>Nexus 7 (Mobile)</td>
239<td>razorg (deb)</td>
Jean-Baptiste Queru3b418432013-07-11 15:44:44 -0700240<td>aosp_deb-userdebug</td>
241</tr>
242<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700243 <td>Nexus 10</td>
244<td>mantaray (manta)</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800245<td>full_manta-userdebug</td>
246</tr>
247<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700248 <td>Nexus 4</td>
249<td>occam (mako)</td>
Clay Murphyc0fff382013-09-23 11:08:07 -0700250<td>full_mako-userdebug</td>
Robert Ly40e3b6d2013-04-17 18:12:10 -0700251</tr>
252<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700253 <td>Nexus 7 (Wi-Fi)</td>
254<td>nakasi (grouper)</td>
Clay Murphyc0fff382013-09-23 11:08:07 -0700255<td>full_grouper-userdebug</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800256</tr>
257<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700258 <td>Nexus 7 (Mobile)</td>
259<td>nakasig (tilapia)</td>
Clay Murphyc0fff382013-09-23 11:08:07 -0700260<td>full_tilapia-userdebug</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800261</tr>
262<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700263 <td>Galaxy Nexus (GSM/HSPA+)</td>
264<td>yakju (maguro)</td>
Clay Murphyc0fff382013-09-23 11:08:07 -0700265<td>full_maguro-userdebug</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800266</tr>
267<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700268 <td>Galaxy Nexus (Verizon)</td>
269<td>mysid (toro)</td>
Jean-Baptiste Querud8fbf202013-06-18 14:51:12 -0700270<td>aosp_toro-userdebug</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800271</tr>
272<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700273 <td>Galaxy Nexus (Experimental)</td>
274<td>mysidspr (toroplus)</td>
Jean-Baptiste Querud8fbf202013-06-18 14:51:12 -0700275<td>aosp_toroplus-userdebug</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800276</tr>
277<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700278 <td>PandaBoard (Archived)</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800279<td>panda</td>
Jean-Baptiste Querud8fbf202013-06-18 14:51:12 -0700280<td>aosp_panda-userdebug</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800281</tr>
282<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700283 <td>Motorola Xoom (U.S. Wi-Fi)</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800284<td>wingray</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800285<td>full_wingray-userdebug</td>
286</tr>
287<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700288 <td>Nexus S</td>
289<td>soju (crespo)</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800290<td>full_crespo-userdebug</td>
291</tr>
292<tr>
Clay Murphy470853d2014-03-25 18:22:02 -0700293 <td>Nexus S 4G</td>
294<td>sojus (crespo4g)</td>
Robert Ly35f2fda2013-01-29 16:27:05 -0800295<td>full_crespo4g-userdebug</td>
296</tr>
297</tbody>
298</table>
299<p>Do not use 4.1.1 on a Nexus 7 that was originally sold with 4.1.2
300or newer.</p>
301<h2 id="flashing-a-device">Flashing a device</h2>
302<p>Set the device in fastboot mode if necessary (see above).</p>
303<p>An entire Android system can be flashed in a single command: this writes
304the boot, recovery and system partitions together after verifying that the
305system being flashed is compatible with the installed bootloader and radio,
306and reboots the system. This also erases all the user data, similarly to
307<code>fastboot oem unlock</code> mentioned earlier.</p>
308<pre><code>$ fastboot -w flashall
309</code></pre>
310<p>Note that filesystems created via fastboot on Motorola Xoom aren't working
311optimally, and it is strongly recommended to re-create them through recovery</p>
312<pre><code>$ adb reboot recovery
313</code></pre>
314<p>Once in recovery, open the menu (press Power + Volume Up), wipe the cache
315partition, then wipe data.</p>
Clay Murphy62fc0412014-07-10 12:53:18 -0700316<h2 id="restoring-a-device-to-its-original-factory-state">Restoring a device to
317its original factory state</h2>
318<p>Factory images for Nexus 5, Nexus 10, Nexus 4, Nexus Q, Nexus 7, Galaxy
319Nexus (GSM/HSPA+ "yakju" and "takju",
320and CDMA/LTE "mysid" and "mysidspr"), Nexus S, and Nexus S 4G are available
321from <a href="https://developers.google.com/android/nexus/images">Google's
322factory image</a> page.</p>
Jean-Baptiste Querud8fbf202013-06-18 14:51:12 -0700323<p>Factory images for the Motorola Xoom are distributed directly by Motorola.</p>