s.a.c. redesign, first checkin
Change-Id: I4dead2f18bc5e4a38f204c92198a267c286e775d
diff --git a/src/source/building-devices.jd b/src/source/building-devices.jd
new file mode 100644
index 0000000..077d448
--- /dev/null
+++ b/src/source/building-devices.jd
@@ -0,0 +1,274 @@
+page.title=Building for devices
+@jd:body
+
+<!--
+ Copyright 2010 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 complements the main page about
+<a href="building-running.html">Building and Running</a> with
+information that is specific to individual devices.</p>
+<p>With the current release, it is possible to build for
+Nexus 10, for Nexus 7 (Wi-Fi), and for some variants of Galaxy Nexus.
+The exact level of functionality for each device depends on the availability
+of the relevant proprietary hardware-specific binaries.</p>
+<p>All configurations of Nexus 10 can be used. On those devices, graphics, audio,
+Wi-Fi, Bluetooth, camera, NFC, GPS and orientation sensors are functional.</p>
+<p>Nexus 4 cannot be used at the moment.</p>
+<p>The Wi-Fi variants of Nexus 7 can be used. On Nexus 7, graphics and audio are
+functional, as well as Wi-Fi and Bluetooth. Due to hardware differences, do
+not use 4.1.1 on a Nexus 7 that was originally sold with 4.1.2 or newer.
+The Mobile variant is not supported.</p>
+<p>The variants of Galaxy Nexus that can be used are the GSM/HSPA+ configuration
+"maguro" (only if it was originally sold with a "yakju" or "takju" operating
+system) and the VZW CDMA/LTE configuration "toro". On those devices, graphics
+and audio are functional, as well as Wi-Fi, Bluetooth, and access to the
+respective cellular networks. NFC and the orientation sensors are functional.</p>
+<p>The Sprint CDMA/LTE configuration "toroplus" of Galaxy Nexus is supported
+experimentally. On that configuration, the cellular network is not functional,
+and the other peripherals work like they do on "toro".</p>
+<p>The Motorola Xoom can be used in the Wi-Fi configuration "wingray"
+sold in the USA, with Android 4.1.2. Graphics and audio are functional
+as well as Wi-Fi and Bluetooth and the orientation sensors.</p>
+<p>All configurations of Nexus S and Nexus S 4G can be used with Android 4.1.2.
+On those devices all the peripherals are functional: graphics, audio, Wi-Fi,
+Bluetooth, cell networks, sensors, camera, hardware codecs, NFC, GPS.</p>
+<p>In addition, <a href="http://pandaboard.org">PandaBoard</a> a.k.a. "panda" can be used
+in the master branch, but is considered experimental.
+The specific details to use a PandaBoard with the Android Open-Source Project
+are in the file <code>device/ti/panda/README</code> in the source tree.</p>
+<p>Nexus One a.k.a. "passion" is obsolete, was experimental in gingerbread,
+and can't be used with newer versions of the Android Open-Source
+Project.</p>
+<p>Android Developer Phones (ADP1 and ADP2, a.k.a. "dream" and "sapphire") are
+obsolete, were experimental in froyo, and can't be used with
+newer versions of the Android Open-Source Project.</p>
+<h2 id="building-fastboot-and-adb">Building fastboot and adb</h2>
+<p>If you don't already have those tools, fastboot and adb can be built with
+the regular build system. Follow the instructions on the page about
+<a href="building-running.html">Building and Running</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, the following key combinations can be used to boot into fastboot mode,
+which is a mode in the bootloader that can be used to flash the devices:</p>
+<table>
+<thead>
+<tr>
+<th>Device</th>
+<th>Keys</th>
+</tr>
+</thead>
+<tbody>
+<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 <em>Power</em> for a second, and press <em>Volume Down</em> when the bootloader logo appears</td>
+</tr>
+<tr>
+<td>tilapia</td>
+<td>Press <em>Power</em> for a second, and press <em>Volume Down</em> when the bootloader logo appears</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>Also, the command <code>adb reboot bootloader</code> can be used 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 only possible to flash a custom system if the bootloader allows it.</p>
+<p>The bootloader is locked by default. With the device in fastboot mode, the
+bootloader is unlocked with</p>
+<pre><code>$ fastboot oem unlock
+</code></pre>
+<p>The procedure must be confirmed on-screen, and deletes the user data for
+privacy reasons. It only needs to be run once.</p>
+<p>All data on the phone 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 make a backup of any precious files you have before
+unlocking the bootloader.</p>
+<p>On Nexus 10, after unlocking the bootloader, the internal storage is
+left unformatted and must be formatted with</p>
+<pre><code>$ fastboot format cache
+$ fastboot format userdata
+</code></pre>
+<p>The bootloader can be locked back with</p>
+<pre><code>$ fastboot oem lock
+</code></pre>
+<p>Note that this erases user data on Xoom (including the shared USB data).</p>
+<h2 id="obtaining-proprietary-binaries">Obtaining proprietary binaries</h2>
+<p>The Android Open-Source Project can't be used
+from pure source code only, and requires additional hardware-related proprietary
+libraries to run, specifically for hardware graphics acceleration.</p>
+<p>Official binaries for Nexus S, Nexus S 4G, Galaxy Nexus, Nexus 7, Nexus 4,
+Nexus 10 and PandaBoard
+can be downloaded from
+<a href="https://developers.google.com/android/nexus/drivers">Google's Nexus driver page</a>,
+which add access to additional hardware capabilities with non-Open-Source code.</p>
+<p>When using the master branch for a device, the binaries for the most
+recent numbered release are the ones that should be used in the master
+branch.</p>
+<h3 id="extracting-the-proprietary-binaries">Extracting the proprietary binaries</h3>
+<p>Each set of binaries comes as a self-extracting script in a compressed archive.
+After uncompressing each archive, run the included self-extracting script
+from the root of the source tree, confirm that you agree to the terms of the
+enclosed license agreement, and the binaries and their matching makefiles
+will get installed in the <code>vendor/</code> hierarchy of the source tree.</p>
+<h3 id="cleaning-up-when-adding-proprietary-binaries">Cleaning up when adding proprietary binaries</h3>
+<p>In order to make sure that the newly installed binaries are properly
+taken into account after being extracted, the existing output of any previous
+build needs to be deleted with</p>
+<pre><code>$ make clobber
+</code></pre>
+<h2 id="picking-and-building-the-configuration-that-matches-a-device">Picking and building the configuration that matches a device</h2>
+<p>The steps to configure and build the Android Open-Source Project
+are described in the page about <a href="building-running.html">Building and Running</a>.</p>
+<p>The recommended builds for the various devices are available through
+the lunch menu, accessed when running the <code>lunch</code> command with no arguments:</p>
+<table>
+<thead>
+<tr>
+<th>Device</th>
+<th>Branch</th>
+<th>Build configuration</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>manta</td>
+<td>android-4.2.1_r1 or master</td>
+<td>full_manta-userdebug</td>
+</tr>
+<tr>
+<td>grouper</td>
+<td>android-4.2.1_r1 or master</td>
+<td>full_grouper-userdebug</td>
+</tr>
+<tr>
+<td>tipalia</td>
+<td>android-4.2.1_r1 or master</td>
+<td>full_tilapia-userdebug</td>
+</tr>
+<tr>
+<td>maguro</td>
+<td>android-4.2.1_r1 or master</td>
+<td>full_maguro-userdebug</td>
+</tr>
+<tr>
+<td>toro</td>
+<td>android-4.2.1_r1 or master</td>
+<td>full_toro-userdebug</td>
+</tr>
+<tr>
+<td>toroplus</td>
+<td>master</td>
+<td>full_toroplus-userdebug</td>
+</tr>
+<tr>
+<td>panda</td>
+<td>master</td>
+<td>full_panda-userdebug</td>
+</tr>
+<tr>
+<td>wingray</td>
+<td>android-4.1.2_r1</td>
+<td>full_wingray-userdebug</td>
+</tr>
+<tr>
+<td>crespo</td>
+<td>android-4.1.2_r1</td>
+<td>full_crespo-userdebug</td>
+</tr>
+<tr>
+<td>crespo4g</td>
+<td>android-4.1.2_r1</td>
+<td>full_crespo4g-userdebug</td>
+</tr>
+</tbody>
+</table>
+<p>Do not use 4.1.1 on a Nexus 7 that was originally sold with 4.1.2
+or newer.</p>
+<h2 id="flashing-a-device">Flashing a device</h2>
+<p>Set the device in fastboot mode if necessary (see above).</p>
+<p>An entire Android system can be flashed in a single command: this writes
+the boot, recovery and system partitions together after verifying that the
+system being flashed is compatible with the installed bootloader and radio,
+and reboots the system. This also erases all the user data, similarly to
+<code>fastboot oem unlock</code> mentioned earlier.</p>
+<pre><code>$ fastboot -w flashall
+</code></pre>
+<p>Note that filesystems created via fastboot on Motorola Xoom aren't working
+optimally, and it is strongly recommended to re-create them through recovery</p>
+<pre><code>$ adb reboot recovery
+</code></pre>
+<p>Once in recovery, open the menu (press Power + Volume Up), wipe the cache
+partition, then wipe data.</p>
+<h2 id="restoring-a-device-to-its-original-factory-state">Restoring a device to its original factory state</h2>
+<p>Factory images
+for Nexus 10,
+for Nexus 4,
+for Nexus Q,
+for Nexus 7 (all variants),
+for Galaxy Nexus (GSM/HSPA+ "yakju" and "takju",
+and CDMA/LTE "mysid" and "mysidspr"),
+and
+for Nexus S and Nexus S 4G (all variants)
+are available from
+<a href="https://developers.google.com/android/nexus/images">Google's factory image page</a>.</p>
+<p>Factory images for the Motorola Xoom are distributed directly by Motorola.</p>
\ No newline at end of file