blob: c6cd5b91059c7268981d4cc0347bc8fb85ef9c55 [file] [log] [blame]
page.title=Running Builds
@jd:body
<!--
Copyright 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div id="qv-wrapper">
<div id="qv">
<h2>In this document</h2>
<ol id="auto-toc">
</ol>
</div>
</div>
<p>This page provides details for running builds on specific devices and is
designed to complement the information in
<a href="{@docRoot}source/building.html">Building the System</a>.</p>
<h2 id="building-fastboot-and-adb">Building fastboot and adb</h2>
<p>If you don't already have fastboot and adb, you can build them with the
regular build system. Use the instructions in
<a href="{@docRoot}source/building.html">Building a System</a> and replace the
main <code>make</code> command with:</p>
<pre><code>$ make fastboot adb
</code></pre>
<h2 id="booting-into-fastboot-mode">Booting into fastboot mode</h2>
<p>During a cold boot of a device, use the following key combinations to boot
into fastboot mode, which is a mode in the bootloader that can be used to flash
the device:</p>
<table>
<thead>
<tr>
<th>Device</th>
<th>Keys</th>
</tr>
</thead>
<tbody>
<tr>
<td>hikey</td>
<td>Link pins 1 - 2 and 5 - 6 of J15</td>
</tr>
<tr>
<td>angler</td>
<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
</tr>
<tr>
<td>bullhead</td>
<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
</tr>
<tr>
<td>shamu</td>
<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
</tr>
<tr>
<td>fugu</td>
<td>Press and hold <em>Power</em></td>
</tr>
<tr>
<td>volantis</td>
<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
</tr>
<tr>
<td>hammerhead</td>
<td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press
and hold <em>Power</em></td>
</tr>
<tr>
<td>flo</td>
<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
</tr>
<tr>
<td>deb</td>
<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
</tr>
<tr>
<td>manta</td>
<td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press
and hold <em>Power</em></td>
</tr>
<tr>
<td>mako</td>
<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
</tr>
<tr>
<td>grouper</td>
<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
</tr>
<tr>
<td>tilapia</td>
<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
</tr>
<tr>
<td>phantasm</td>
<td>Power the device, cover it with one hand after the LEDs light up and until
they turn red</td>
</tr>
<tr>
<td>maguro</td>
<td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press
and hold <em>Power</em></td>
</tr>
<tr>
<td>toro</td>
<td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press
and hold <em>Power</em></td>
</tr>
<tr>
<td>toroplus</td>
<td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press
and hold <em>Power</em></td>
</tr>
<tr>
<td>panda</td>
<td>Press and hold <em>Input</em>, then press <em>Power</em></td>
</tr>
<tr>
<td>wingray</td>
<td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td>
</tr>
<tr>
<td>crespo</td>
<td>Press and hold <em>Volume Up</em>, then press and hold <em>Power</em></td>
</tr>
<tr>
<td>crespo4g</td>
<td>Press and hold <em>Volume Up</em>, then press and hold <em>Power</em></td>
</tr>
</tbody>
</table>
<p>You can also use the command <code>adb reboot bootloader</code> to reboot
from Android directly into the bootloader with no key combinations.</p>
<h2 id="unlocking-the-bootloader">Unlocking the bootloader</h2>
<p>It's possible to flash a custom system only if the bootloader allows it, and
the bootloader is locked by default. You can unlock the bootloader, but be aware
that doing so deletes the user data for privacy reasons (the unlock operation
needs to run only once). After unlocking, all data on the device is erased, i.e.
both the applications' private data and the shared data that is accessible over
USB, including photos and movies. Be sure to back up any precious files before
unlocking the bootloader.</p>
<p>With the device in fastboot mode, unlock the bootloader using:</p>
<pre>
$ fastboot oem unlock
</pre>
<p>The procedure must be confirmed on-screen.</p>
<p>On Nexus 10, after unlocking the bootloader, the internal storage remains
unformatted. You can format the device using:</p>
<pre>
$ fastboot format cache
$ fastboot format userdata
</pre>
<p>To re-lock the bootloader, use:</p>
<pre>$ fastboot oem lock
</pre>
<p class="note"><strong>Note</strong>: Re-locking the bootloading on a Motoroal Xoom
erases user data (including the shared USB data).</p>
<h2 id="selecting-device-build">Selecting a device build</h2>
<p>The recommended builds for devices are available from the lunch menu,
accessed when running the <code>lunch</code> command with no arguments. You can
download factory images and binaries for Nexus devices from developers.google.com:</p>
<ul>
<li><a href="https://developers.google.com/android/nexus/blobs-preview">Preview binaries (blobs)</a></li>
<li><a href="https://developers.google.com/android/nexus/images">Factory images for released devices</a></li>
<li><a href="https://developers.google.com/android/nexus/drivers">Support binaries (drivers) for release devices</a></li>
</ul>
<p>See <a href="building.html#obtaining-proprietary-binaries">Obtaining
proprietary binaries</a> for more details and <a
href="requirements.html#binaries">Device binaries requirements</a> for other
resources.</p>
<table>
<thead>
<tr>
<th>Device</th>
<th>Code name</th>
<th>Build configuration</th>
</tr>
</thead>
<tbody>
<tr>
<td>HiKey</td>
<td>hikey</td>
<td>hikey-userdebug</td>
</tr>
<tr>
<td>Nexus 6P</td>
<td>angler</td>
<td>aosp_angler-userdebug</td>
</tr>
<tr>
<td>Nexus 5X</td>
<td>bullhead</td>
<td>aosp_bullhead-userdebug</td>
</tr>
<tr>
<td>Nexus 6</td>
<td>shamu</td>
<td>aosp_shamu-userdebug</td>
</tr>
<tr>
<td>Nexus Player</td>
<td>fugu</td>
<td>aosp_fugu-userdebug</td>
</tr>
<tr>
<td>Nexus 9</td>
<td>volantis (flounder)</td>
<td>aosp_flounder-userdebug</td>
</tr>
<tr>
<td>Nexus 5 (GSM/LTE)</td>
<td>hammerhead</td>
<td>aosp_hammerhead-userdebug</td>
</tr>
<tr>
<td>Nexus 7 (Wi-Fi)</td>
<td>razor (flo)</td>
<td>aosp_flo-userdebug</td>
</tr>
<tr>
<td>Nexus 7 (Mobile)</td>
<td>razorg (deb)</td>
<td>aosp_deb-userdebug</td>
</tr>
<tr>
<td>Nexus 10</td>
<td>mantaray (manta)</td>
<td>full_manta-userdebug</td>
</tr>
<tr>
<td>Nexus 4</td>
<td>occam (mako)</td>
<td>full_mako-userdebug</td>
</tr>
<tr>
<td>Nexus 7 (Wi-Fi)</td>
<td>nakasi (grouper)</td>
<td>full_grouper-userdebug</td>
</tr>
<tr>
<td>Nexus 7 (Mobile)</td>
<td>nakasig (tilapia)</td>
<td>full_tilapia-userdebug</td>
</tr>
<tr>
<td>Galaxy Nexus (GSM/HSPA+)</td>
<td>yakju (maguro)</td>
<td>full_maguro-userdebug</td>
</tr>
<tr>
<td>Galaxy Nexus (Verizon)</td>
<td>mysid (toro)</td>
<td>aosp_toro-userdebug</td>
</tr>
<tr>
<td>Galaxy Nexus (Experimental)</td>
<td>mysidspr (toroplus)</td>
<td>aosp_toroplus-userdebug</td>
</tr>
<tr>
<td>PandaBoard (Archived)</td>
<td>panda</td>
<td>aosp_panda-userdebug</td>
</tr>
<tr>
<td>Motorola Xoom (U.S. Wi-Fi)</td>
<td>wingray</td>
<td>full_wingray-userdebug</td>
</tr>
<tr>
<td>Nexus S</td>
<td>soju (crespo)</td>
<td>full_crespo-userdebug</td>
</tr>
<tr>
<td>Nexus S 4G</td>
<td>sojus (crespo4g)</td>
<td>full_crespo4g-userdebug</td>
</tr>
</tbody>
</table>
<p class="note"><b>Note</b>: Do not use Android 4.1.1 on a Nexus 7 originally
sold with Android 4.1.2 or newer.</p>
<h2 id="flashing-a-device">Flashing a device</h2>
<p>You can flash an entire Android system in a single command; doing so verifies
the system being flashed is compatible with the installed bootloader and radio,
writes the boot, recovery, and system partitions together, and then reboots the
system. Flashing also erases all user data, similarly to <code>fastboot oem
unlock</code>.</p>
<p>Place the device in fastboot mode either manually by holding the appropriate
key combination at boot, or from the shell with:</p>
<pre>
$ adb reboot bootloader
</pre>
<p>Once the device is in fastboot mode, run:</p>
<pre>
$ fastboot flashall -w
</pre>
<p>The <code>-w</code> option wipes the <code>/data</code> partition on the
device; this is useful for your first time flashing a particular device but is
otherwise unnecessary.</p>
<p class="note"><strong>Note</strong>: Filesystems created via fastboot on Motorola Xoom
do not function optimally. We recommend re-creating filesystems through
recovery, using: <code>$ adb reboot recovery</code>. While in recovery, open the
menu (press Power + Volume Up), wipe the cache partition, then wipe data.</p>
<h2 id="restoring-devices-to-factory-state">Restoring devices to
factory state</h2>
<p>Factory images for Nexus 5, Nexus 10, Nexus 4, Nexus Q, Nexus 7, Galaxy Nexus
(GSM/HSPA+ "yakju" and "takju", and CDMA/LTE "mysid" and "mysidspr"), Nexus S,
and Nexus S 4G are available from
<a href="https://developers.google.com/android/nexus/images">Google's factory
image</a> page.</p>
<p>Factory images for the Motorola Xoom are distributed directly by Motorola.</p>