diff --git a/src/accessories/headset/requirements.jd b/src/accessories/headset/requirements.jd
index f8ed1e9..a9c1621 100644
--- a/src/accessories/headset/requirements.jd
+++ b/src/accessories/headset/requirements.jd
@@ -57,7 +57,7 @@
 
 <h3 id=one_button>One button</h3>
 
-<img src="images/media_one.png" width="80%" alt="Button functions for one-button headsets handling a media stream.">
+<img src="images/media_one.png" alt="Button functions for one-button headsets handling a media stream.">
 </span>
 
 <p class="img-caption"><strong>Figure 1.</strong> Button functions for one-button headsets handling a media stream.</p>
diff --git a/src/devices/hal.jd b/src/devices/hal.jd
deleted file mode 100644
index e464a88..0000000
--- a/src/devices/hal.jd
+++ /dev/null
@@ -1,124 +0,0 @@
-page.title=The Hardware Abstraction Layer
-@jd:body
-
-<!--
-    Copyright 2013 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>
-  The hardware abstraction layer (HAL) defines a standard interface for hardware vendors to
-  implement and allows Android to be agnostic about lower-level driver
-  implementations. The HAL allows you to implement functionality
-  without affecting or modifying the higher level system. HAL implementations
-  are packaged into modules (<code>.so</code>) file and loaded by the Android
-  system at the appropriate time.
-<h2 id="structure">
-  Standard HAL structure
-</h2>
-<p>
-  Each hardware-specific HAL interface has properties that are common to all HAL interfaces. These
-  properties are defined in <code>hardware/libhardware/include/hardware/hardware.h</code> and
-  guarantees that HALs have a predictable structure.
-  This interface allows the Android system to load the correct versions of your
-  HAL modules in a consistent way. There are two general components
-  that a HAL interface consists of: a module and a device.
-</p>
-<p>
-  A module represents your packaged HAL implementation, which is stored as a shared library (<code>.so file</code>). It contains
-  metadata such as the version, name, and author of the module, which helps Android find and load it correctly. The
-  <code>hardware/libhardware/include/hardware/hardware.h</code> header file defines a
-  struct, <code>hw_module_t</code>, that represents a module and contains information such as
-  the module version, author, and name.</p>
-
-  <p>In addition, the <code>hw_module_t</code> struct contains
-  a pointer to another struct, <code>hw_module_methods_t</code>, that contains a pointer to
-  an "open" function for the module. This open function is used to initate communication with
-  the hardware that the HAL is serving as an abstraction for. Each hardware-specific HAL usually 
-  extends the generic <code>hw_module_t</code> struct with additional information
-  for that specific piece of hardware. For example in the camera HAL, the <code>camera_module_t</code> struct
-  contains a <code>hw_module_t</code> struct along with other camera-specific function pointers:
-</p>
-
-<pre>
-typedef struct camera_module {
-    hw_module_t common;
-    int (*get_number_of_cameras)(void);
-    int (*get_camera_info)(int camera_id, struct camera_info *info);
-} camera_module_t;
-</pre>
-
-<p>When you implement a HAL and create the module struct, you must name it
-  <code>HAL_MODULE_INFO_SYM</code>. For instance, here is an example from the Galaxy Nexus audio HAL:</p>
-<pre>
-struct audio_module HAL_MODULE_INFO_SYM = {
-    .common = {
-        .tag = HARDWARE_MODULE_TAG,
-        .module_api_version = AUDIO_MODULE_API_VERSION_0_1,
-        .hal_api_version = HARDWARE_HAL_API_VERSION,
-        .id = AUDIO_HARDWARE_MODULE_ID,
-        .name = "Tuna audio HW HAL",
-        .author = "The Android Open Source Project",
-        .methods = &hal_module_methods,
-    },
-};
-</pre>
-<p>
-  A device abstracts the actual hardware of your product. For example, an audio module can contain
-  a primary audio device, a USB audio device, or a Bluetooth A2DP audio device. A device
-  is represented by the <code>hw_device_t</code> struct. Like a module, each type of device
-  defines a more-detailed version of the generic <code>hw_device_t</code> that contains
-  function pointers for specific features of the hardware. For example, the
-  <code>audio_hw_device_t</code> struct type contains function pointers to audio device operations:
-</p>
-
-<pre>
-struct audio_hw_device {
-    struct hw_device_t common;
-
-    /**
-     * used by audio flinger to enumerate what devices are supported by
-     * each audio_hw_device implementation.
-     *
-     * Return value is a bitmask of 1 or more values of audio_devices_t
-     */
-    uint32_t (*get_supported_devices)(const struct audio_hw_device *dev);
-  ...
-};
-typedef struct audio_hw_device audio_hw_device_t;
-</pre>
-
-<p>
-  In addition to these standard properties, each hardware-specific HAL interface can define more of its
-  own features and requirements. See the <a href="{@docRoot}guide/reference/files.html">HAL reference documentation</a>
-  as well as the individual instructions for each HAL for more information on how to implement a specific interface.
-</p>
-
-<h2 id="modules">HAL modules</h2>
-<p>HAL implementations are built into modules (<code>.so</code>) files and are dynamically linked by Android when appropriate.
-  You can build your modules by creating <code>Android.mk</code> files for each of your HAL implementations
-  and pointing to your source files. In general, your shared libraries must be named in a certain format, so that
-  they can be found and loaded properly. The naming scheme varies slightly from module to module, but they follow
-  the general pattern of: <code>&lt;module_type&gt;.&lt;device_name&gt;</code>.</p>
-
-  <p>For more information about setting up the build for each HAL, see its respective documentation.</p>
-
-</p>
diff --git a/src/index.jd b/src/index.jd
index 44dc6a4..7711873 100644
--- a/src/index.jd
+++ b/src/index.jd
@@ -42,6 +42,47 @@
   <div class="landing-docs">
     <div class="col-8">
     <h3>What's New</h3>
+<a href="{@docRoot}index.html">
+        <h4>Google Feedback Integration</h4></a>
+        <p>Now every source.android.com page contains a prominent <strong>Send
+        Feedback</strong> button in the footer so partners and the open source community may
+        directly convey their desired improvements to this site.</p>
+
+<a href="{@docRoot}source/index.html">
+        <h4>Source and Devices tab Improvements</h4></a>
+        <p>The <strong><a href="{@docRoot}source/requirements.html">Download
+        and Building</a></strong> section of the <em>Source</em> tab has been reorganized to
+        match expected development workflow. <strong><a
+        href="{@docRoot}source/add-device.html">Adding a New Device</a></strong> has
+        been introduced to explain how Android Makefiles are produced. <strong><a
+        href="{@docRoot}source/using-repo.html">Using Repo</a></strong> now contains an
+        example for obtaining command-specific help. And the <em>Devices</em> main page now
+        describes the <strong><a href="{@docRoot}devices/index.html#structure">standard
+        hardware abstraction layer (HAL) structure</a></strong>.</p>
+
+<a href="{@docRoot}accessories/headset/index.html">
+        <h4>Audio Headset Requirements and Testing</h4></a>
+        <p><strong><a
+        href="{@docRoot}accessories/headset/requirements.html">Requirements</a></strong>
+        and <strong><a href="{@docRoot}accessories/headset/testing.html">Testing</a></strong>
+        information has been added for wired audio headsets. Those pages and the
+        existing specification have been moved to a distinct <strong><a
+        href="{@docRoot}accessories/headset/index.html">Headset</a></strong>
+        section.</p>
+
+<a href="{@docRoot}compatibility/downloads.html">
+        <h4>CTS 4.4 R4</h4></a>
+        <p>Packages for the 4.4 R4 version of the Android Compatibility Test
+        Suite (CTS) are available for <strong><a
+        href="/compatibility/downloads.html#android-44">download</a></strong>.</p>
+
+<a href="/source/build-numbers.html">
+        <h4>Build Numbers for Nexus 6 and Nexus Player</h4></a>
+        <p>Build numbers <strong><a
+        href="/source/build-numbers.html#source-code-tags-and-builds">LMY48J
+        and LYZ28J</a></strong> have been added for Nexus Player and Nexus 6
+        (T-Mobile ONLY), respectively.</p>
+
 <a href="{@docRoot}devices/audio/latency_app.html#videos">
         <h4>Videos and Other Resources for Audio Implementation</h4></a>
         <p>The Audio team offers video on <strong><a
@@ -51,54 +92,6 @@
         improving audio performance</a></strong> and related clarifications to text
         throughout the <strong><a href="{@docRoot}devices/audio/index.html">Audio
         section</a></strong>.</p>
-
-<a href="{@docRoot}compatibility/downloads.html">
-        <h4>CTS 5.1 R2</h4></a>
-        <p>Packages for the 5.1 R2 version of the Android Compatibility Test
-        Suite (CTS) are available for <strong><a
-        href="{@docRoot}compatibility/downloads.html#android-51">download</a></strong>.</p>
-
-<a href="{@docRoot}devices/tech/security/selinux/customize.html">
-        <h4>SELinux neverallow Rules</h4></a>
-        <p>New guidance has been offered on the use of Security-Enhanced Linux (SELinux) <strong><a
-        href="{@docRoot}devices/tech/security/selinux/customize.html#neverallow"><code>neverallow</code>
-        rules</a></strong>, which prohibit behavior that should never occur.</p>
-
-<a href="{@docRoot}source/build-numbers.html">
-        <h4>Build Numbers for Nexus 6 and 7</h4></a>
-        <p>Build numbers <strong><a
-        href="{@docRoot}source/build-numbers.html#source-code-tags-and-builds">LYZ28E and
-        LMY48G</a></strong> have been added for Nexus 6 (T-Mobile ONLY) and Nexus 7 (flo),
-        respectively.</p>
-
-<a href="{@docRoot}devices/tech/security/overview/updates-resources.html">
-        <h4>Security Updates and Resources</h4></a>
-        <p><strong><a href="{@docRoot}devices/tech/security/overview/updates-resources.html">Security
-        Updates and Resources</a></strong> has been rewritten entirely to describe the
-        processes for <strong><a
-        href="{@docRoot}devices/tech/security/overview/updates-resources.html#report-issues">reporting
-        security issues</a></strong>, <strong><a
-        href="{@docRoot}devices/tech/security/overview/updates-resources.html#triaging_bugs">triaging
-        bugs</a></strong>,
-        <strong><a
-        href="{@docRoot}devices/tech/security/overview/updates-resources.html#notifying_partners">notifying
-        partners</a></strong>, and much more.</p>
-
-<a href="{@docRoot}devices/tech/ota/sign_builds.html">
-        <h4>Sign OTA Packages and Release Keys</h4></a>
-        <p>Signing Builds for Release now contains sections on <strong><a
-        href="{@docRoot}devices/tech/ota/sign_builds.html#release-keys">Release
-        Keys</a></strong> and <strong><a
-        href="{@docRoot}devices/tech/ota/sign_builds.html#sign-ota-packages">Signing OTA
-        packages</a></strong> that provide easy recipes for signing flashable
-        images and over-the-air (OTA) updates.</p>
-
-<a href="{@docRoot}compatibility/android-cdd.pdf">
-        <h4>5.1 Compatibility Definition Document</h4></a>
-        <p>The Android <strong><a
-        href="{@docRoot}compatibility/android-cdd.pdf">5.1 Compatibility Definition
-        Document (CDD)</a></strong> has been published to reflect the
-        requirements of the latest version of Android.</p>
     </div>
 
     <div class="col-8">
@@ -130,7 +123,10 @@
 
       <a href="https://android.googlesource.com/platform/docs/source.android.com/">
         <h4>Help this Site</h4></a>
-        <p>Please note, source.android.com is maintained in the Android Open Source Project. See the <strong><a
+        <p>Use the <strong>Send Feedback</strong> button at the bottom of any
+        page to request improvements to the content or identify errors. In addition,
+        source.android.com is maintained in the Android Open Source Project. See the
+        <strong><a
         href="https://android.googlesource.com/platform/docs/source.android.com/+log/master">docs/source.android.com
         project log in AOSP</a></strong> for the complete list of changes to this site.
         Contribute your own updates to that same project and help maintain source.android.com.</p>
diff --git a/src/source/64-bit-builds.jd b/src/source/64-bit-builds.jd
index 2373886..ad174fb 100644
--- a/src/source/64-bit-builds.jd
+++ b/src/source/64-bit-builds.jd
@@ -1,4 +1,4 @@
-page.title=Android Platform 64-bit Build Instructions
+page.title=Understanding 64-bit Builds
 @jd:body
 
 <!--
diff --git a/src/source/configure-products.jd b/src/source/add-device.jd
similarity index 97%
rename from src/source/configure-products.jd
rename to src/source/add-device.jd
index 01fc788..8dd5c6b 100644
--- a/src/source/configure-products.jd
+++ b/src/source/add-device.jd
@@ -1,4 +1,4 @@
-page.title=Configuring the Products
+page.title=Adding a New Device
 @jd:body
 
 <!--
@@ -24,7 +24,10 @@
   </div>
 </div>
 
-<p>Use the information in this page to create the Makefiles for your device and product.</p>
+<p>Use the information in this page to create the Makefiles for your device and
+product. Please note, unlike the other pages in this section, the contents here
+are applicable only when creating an entirely new device type and are intended
+for company build and product teams only.</p>
 
 <h2 id="build-layers">Understand Build Layers</h2>
 
diff --git a/src/source/building-dream.jd b/src/source/building-dream.jd
deleted file mode 100644
index 13ec46a..0000000
--- a/src/source/building-dream.jd
+++ /dev/null
@@ -1,62 +0,0 @@
-page.title=Building for an Android Dev Phone
-@jd:body
-
-<!--
-    Copyright 2013 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><em>The information on this page is a bit out of date. We'll update this
-page as soon as we can.</em></p>
-<p>The basic manifest for 1.6 defines which projects are
-needed to do a generic build for the emulator or for unlocked Dream devices
-(e.g. the Android Dev Phone 1). You need to have an appropriate device running
-a matching official image.</p>
-<p>To build donut for dream (your
-device needs to be an ADP1 running an official 1.6 system):</p>
-<ol>
-<li>
-<p>Follow the <a href="downloading.html">normal steps</a> to setup repo and check out the sources.</p>
-</li>
-<li>
-<p>At the root of your source tree, run <code>. build/envsetup.sh</code> like you normally would for an emulator build.</p>
-</li>
-<li>
-<p>Run <code>make adb</code> if you don't already have adb in your path.</p>
-</li>
-<li>
-<p>run <code>adb root</code>.</p>
-</li>
-<li>
-<p>in <code>vendor/htc/dream-open/</code> there is a script called "extract-files.sh" that must be run (from that directory) to extract some proprietary binaries from your device (*). You only need to do this once.</p>
-</li>
-<li>
-<p>run <code>lunch aosp_dream_us-eng</code> to specifically configure the build system for dream (the default is the equivalent of "lunch generic-eng", which doesn't contain dream-specific files).</p>
-</li>
-<li>
-<p>run make from the top of the source tree.</p>
-</li>
-<li>
-<p>from this point, the fastboot tool (which is put automatically in your path) can be used to flash a device: boot the device into the bootloader by holding the back key while pressing the power key, and run <code>fastboot -w flashall</code>.</p>
-</li>
-</ol>
-<p class="note"><strong>Note:</strong> These instructions work for the sapphire (ADP2) build target, as
-well. Simply replace "dream" with "sapphire" above.</p>
diff --git a/src/source/building-running.jd b/src/source/building-running.jd
deleted file mode 100644
index d9eb0bf..0000000
--- a/src/source/building-running.jd
+++ /dev/null
@@ -1,158 +0,0 @@
-page.title=Building the System
-@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>The following instructions to build the Android source tree apply to all
-branches, including <code>master</code>. The basic sequence of build commands
-is as follows:</p>
-
-<h2 id="initialize">Initialize</h2>
-<p>Initialize the environment with the <code>envsetup.sh</code> script. Note
-that replacing <code>source</code> with <code>.</code> (a single dot) saves a few characters,
-and the short form is more commonly used in documentation.</p>
-<pre><code>$ source build/envsetup.sh
-</code></pre>
-<p>or</p>
-<pre><code>$ . build/envsetup.sh
-</code></pre>
-
-<h2 id="choose-a-target">Choose a Target</h2>
-<p>Choose which target to build with <code>lunch</code>.  The exact configuration can be passed as
-an argument. For example, the following command:</p>
-<pre><code>$ lunch aosp_arm-eng
-</code></pre>
-<p>refers to a complete build for the emulator, with all debugging enabled.</p>
-<p>If run with no arguments <code>lunch</code> will prompt you to choose a target from the menu. </p>
-<p>All build targets take the form <code>BUILD-BUILDTYPE</code>, where the <code>BUILD</code> is a codename
-referring to the particular feature combination.</p>
-
-<p>The BUILDTYPE is one of the following:</p>
-<table>
-<thead>
-<tr>
-<th>Buildtype</th>
-<th>Use</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>user</td>
-<td>limited access; suited for production</td>
-</tr>
-<tr>
-<td>userdebug</td>
-<td>like "user" but with root access and debuggability; preferred for debugging</td>
-</tr>
-<tr>
-<td>eng</td>
-<td>development configuration with additional debugging tools</td>
-</tr>
-</tbody>
-</table>
-<p>For more information about building for and running on actual hardware, see
-<a href="building-devices.html">Building for Devices</a>.</p>
-
-<h2 id="build-the-code">Build the code</h2>
-<p>Build everything with <code>make</code>. GNU make can handle parallel
-tasks with a <code>-jN</code> argument, and it's common to use a number of
-tasks N that's between 1 and 2 times the number of hardware
-threads on the computer being used for the build. For example, on a
-dual-E5520 machine (2 CPUs, 4 cores per CPU, 2 threads per core),
-the fastest builds are made with commands between <code>make -j16</code> and
-<code>make -j32</code>.</p>
-<pre><code>$ make -j4
-</code></pre>
-<h2 id="run-it">Run It!</h2>
-<p>You can either run your build on an emulator or flash it on a device. Please note that you have already selected your build target with <code>lunch</code>, and it is unlikely at best to run on a different target than it was built for.</p>
-<h3 id="flash-a-device">Flash a Device</h3>
-<p>To flash a device, you will need to use <code>fastboot</code>, which should be included in your path after a successful build. Place the device in fastboot mode either manually by holding the appropriate key combination at boot, or from the shell with</p>
-<pre><code>$ adb reboot bootloader
-</code></pre>
-<p>Once the device is in fastboot mode, run </p>
-<pre><code>$ fastboot flashall -w
-</code></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>For more information about building for and running on actual hardware, see
-<a href="building-devices.html">Building for Devices.</a></p>
-<h3 id="emulate-an-android-device">Emulate an Android Device</h3>
-<p>The emulator is added to your path automatically by the build process. To run the emulator, type</p>
-<pre><code>$ emulator
-</code></pre>
-<h2 id="using-ccache">Using ccache</h2>
-<p>ccache is a compiler cache for C and C++ that can help make builds faster.
-In the root of the source tree, do the following:</p>
-<pre><code>$ export USE_CCACHE=1
-$ export CCACHE_DIR=/&lt;path_of_your_choice&gt;/.ccache
-$ prebuilts/misc/linux-x86/ccache/ccache -M 50G
-</code></pre>
-<p>The suggested cache size is 50-100G.</p>
-<p>On Linux, you can watch ccache being used by doing the following:</p>
-<pre><code>$ watch -n1 -d prebuilts/misc/linux-x86/ccache/ccache -s
-</code></pre>
-<p>On Mac OS, you should replace <code>linux-x86</code> with <code>darwin-x86</code>.</p>
-<p>When using Ice Cream Sandwich (4.0.x) or older, you should replace
-<code>prebuilts/misc</code> with <code>prebuilt</code>.</p>
-<h2 id="troubleshooting-common-build-errors">Troubleshooting Common Build Errors</h2>
-<h3 id="wrong-java-version">Wrong Java Version</h3>
-<p>If you are attempting to build a version of Android inconsistent with your
-version of Java, <code>make</code> will abort with a message such as</p>
-<pre><code>************************************************************
-You are attempting to build with the incorrect version
-of java.
-
-Your version is: WRONG_VERSION.
-The correct version is: RIGHT_VERSION.
-
-Please follow the machine setup instructions at
-    https://source.android.com/source/download.html
-************************************************************
-</code></pre>
-<p>This may be caused by:</p>
-<ul>
-<li>
-<p>Failing to install the correct JDK as specified in <a href="initializing.html">Initializing the Build Environment</a>.</p>
-</li>
-<li>
-<p>Another JDK previously installed appearing in your path. Prepend the correct JDK to the beginning of your PATH or remove the problematic JDK.</p>
-</li>
-</ul>
-<h3 id="python-version-3">Python Version 3</h3>
-<p>Repo is built on particular functionality from Python 2.x and is unfortunately incompatible with Python 3.  In order to use repo, please install Python 2.x:</p>
-<pre><code>$ apt-get install python
-</code></pre>
-<h3 id="case-insensitive-filesystem">Case Insensitive Filesystem</h3>
-<p>If you are building on an HFS filesystem on Mac OS, you may encounter an error such as</p>
-<pre><code>************************************************************
-You are building on a case-insensitive filesystem.
-Please move your source tree to a case-sensitive filesystem.
-************************************************************
-</code></pre>
-<p>Please follow the instructions in <a href="initializing.html">Initializing the Build Environment</a> for creating a case-sensitive disk image.</p>
-<h3 id="no-usb-permission">No USB Permission</h3>
-<p>On most Linux systems, unprivileged users cannot access USB ports by default. If you see a permission denied error, follow the instructions
-<a href="initializing.html">Initializing the Build Environment</a> for configuring USB access.  </p>
-<p>If adb was already running and cannot connect to the device after
-getting those rules set up, it can be killed with <code>adb kill-server</code>.
-That will cause adb to restart with the new configuration.</p>
diff --git a/src/source/building.jd b/src/source/building.jd
index 78401da..ecb52db 100644
--- a/src/source/building.jd
+++ b/src/source/building.jd
@@ -1,8 +1,8 @@
-page.title=Downloading and Building
+page.title=Building the System
 @jd:body
 
 <!--
-    Copyright 2014 The Android Open Source Project
+    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.
@@ -16,50 +16,143 @@
     See the License for the specific language governing permissions and
     limitations under the License.
 -->
-<p>The Android build is routinely tested in-house on recent versions of
-Ubuntu LTS (14.04), but most distributions should have the required
-build tools available. We welcome reports of successes or failures on other
-distributions.</p>
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>In this document</h2>
+    <ol id="auto-toc">
+    </ol>
+  </div>
+</div>
 
-<p>Before you download and build the Android source, ensure your system meets
-the following requirements:</p>
+<p>The following instructions to build the Android source tree apply to all
+branches, including <code>master</code>. The basic sequence of build commands
+is as follows:</p>
 
+<h2 id="initialize">Set up environment</h2>
+<p>Initialize the environment with the <code>envsetup.sh</code> script. Note
+that replacing <code>source</code> with <code>.</code> (a single dot) saves a few characters,
+and the short form is more commonly used in documentation.</p>
+<pre><code>$ source build/envsetup.sh
+</code></pre>
+<p>or</p>
+<pre><code>$ . build/envsetup.sh
+</code></pre>
+
+<h2 id="choose-a-target">Choose a Target</h2>
+<p>Choose which target to build with <code>lunch</code>.  The exact configuration can be passed as
+an argument. For example, the following command:</p>
+<pre><code>$ lunch aosp_arm-eng
+</code></pre>
+<p>refers to a complete build for the emulator, with all debugging enabled.</p>
+<p>If run with no arguments <code>lunch</code> will prompt you to choose a target from the menu. </p>
+<p>All build targets take the form <code>BUILD-BUILDTYPE</code>, where the <code>BUILD</code> is a codename
+referring to the particular feature combination.</p>
+
+<p>The BUILDTYPE is one of the following:</p>
+<table>
+<thead>
+<tr>
+<th>Buildtype</th>
+<th>Use</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>user</td>
+<td>limited access; suited for production</td>
+</tr>
+<tr>
+<td>userdebug</td>
+<td>like "user" but with root access and debuggability; preferred for debugging</td>
+</tr>
+<tr>
+<td>eng</td>
+<td>development configuration with additional debugging tools</td>
+</tr>
+</tbody>
+</table>
+<p>For more information about building for and running on actual hardware, see
+<a href="running.html">Running Builds</a>.</p>
+
+<h2 id="build-the-code">Build the code</h2>
+<p>Build everything with <code>make</code>. GNU make can handle parallel
+tasks with a <code>-jN</code> argument, and it's common to use a number of
+tasks N that's between 1 and 2 times the number of hardware
+threads on the computer being used for the build. For example, on a
+dual-E5520 machine (2 CPUs, 4 cores per CPU, 2 threads per core),
+the fastest builds are made with commands between <code>make -j16</code> and
+<code>make -j32</code>.</p>
+<pre><code>$ make -j4
+</code></pre>
+<h2 id="run-it">Run It!</h2>
+<p>You can either run your build on an emulator or flash it on a device. Please note that you have already selected your build target with <code>lunch</code>, and it is unlikely at best to run on a different target than it was built for.</p>
+<h3 id="flash-a-device">Flash a Device</h3>
+<p>To flash a device, you will need to use <code>fastboot</code>, which should be included in your path after a successful build. Place the device in fastboot mode either manually by holding the appropriate key combination at boot, or from the shell with</p>
+<pre><code>$ adb reboot bootloader
+</code></pre>
+<p>Once the device is in fastboot mode, run </p>
+<pre><code>$ fastboot flashall -w
+</code></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>For more information about building for and running on actual hardware, see
+<a href="running.html">Running Builds</a>.</p>
+<h3 id="emulate-an-android-device">Emulate an Android Device</h3>
+<p>The emulator is added to your path automatically by the build process. To run the emulator, type</p>
+<pre><code>$ emulator
+</code></pre>
+<h2 id="using-ccache">Using ccache</h2>
+<p>ccache is a compiler cache for C and C++ that can help make builds faster.
+In the root of the source tree, do the following:</p>
+<pre><code>$ export USE_CCACHE=1
+$ export CCACHE_DIR=/&lt;path_of_your_choice&gt;/.ccache
+$ prebuilts/misc/linux-x86/ccache/ccache -M 50G
+</code></pre>
+<p>The suggested cache size is 50-100G.</p>
+<p>On Linux, you can watch ccache being used by doing the following:</p>
+<pre><code>$ watch -n1 -d prebuilts/misc/linux-x86/ccache/ccache -s
+</code></pre>
+<p>On Mac OS, you should replace <code>linux-x86</code> with <code>darwin-x86</code>.</p>
+<p>When using Ice Cream Sandwich (4.0.x) or older, you should replace
+<code>prebuilts/misc</code> with <code>prebuilt</code>.</p>
+<h2 id="troubleshooting-common-build-errors">Troubleshooting Common Build Errors</h2>
+<h3 id="wrong-java-version">Wrong Java Version</h3>
+<p>If you are attempting to build a version of Android inconsistent with your
+version of Java, <code>make</code> will abort with a message such as</p>
+<pre><code>************************************************************
+You are attempting to build with the incorrect version
+of java.
+
+Your version is: WRONG_VERSION.
+The correct version is: RIGHT_VERSION.
+
+Please follow the machine setup instructions at
+    https://source.android.com/source/download.html
+************************************************************
+</code></pre>
+<p>This may be caused by:</p>
 <ul>
-
-  <li>A Linux or Mac OS system. It is also possible
-  to build Android in a virtual machine on unsupported systems such as Windows.
-  If you are running Linux in a virtual machine, you need at
-  least 16GB of RAM/swap and 100GB or more of disk space in order to
-  build the Android tree. See disk size requirements below.
-  </li>
-
-  <li>A 64-bit environment is required for Gingerbread (2.3.x) and newer versions, including the master
-  branch. You can compile older versions on 32-bit systems.
-  </li>
-
-  <li>At least 100GB of free disk space for a checkout, 150GB for a single
-  build, and 200GB or more for multiple builds. If you employ ccache, you will
-  need even more space.</p>
-  </li>
-
-  <li>
-  Python 2.6 -- 2.7, which you can download from <a href="http://www.python.org/download/">python.org</a>.</p>
-  </li>
-
-  <li>
-  GNU Make 3.81 -- 3.82, which you can download from <a href="http://ftp.gnu.org/gnu/make/">gnu.org</a>,</p>
-  </li>
-
-  <li>
-  JDK 7 to build the master branch of Android in the <a
-  href="https://android.googlesource.com/">Android Open Source Project
-  (AOSP)</a>; JDK 6 to build Gingerbread through KitKat; JDK 5 for Cupcake through
-  Froyo. See <a href="initializing.html">Initializing a Build Environment</a>
-  for installation instructions by operating system.</p>
-  </li>
-
-  <li>
-  Git 1.7 or newer. You can find it at <a href="http://git-scm.com/download">git-scm.com</a>.</p>
-  </li>
-
+<li>
+<p>Failing to install the correct JDK as specified in <a href="initializing.html">Initializing the Build Environment</a>.</p>
+</li>
+<li>
+<p>Another JDK previously installed appearing in your path. Prepend the correct JDK to the beginning of your PATH or remove the problematic JDK.</p>
+</li>
 </ul>
+<h3 id="python-version-3">Python Version 3</h3>
+<p>Repo is built on particular functionality from Python 2.x and is unfortunately incompatible with Python 3.  In order to use repo, please install Python 2.x:</p>
+<pre><code>$ apt-get install python
+</code></pre>
+<h3 id="case-insensitive-filesystem">Case Insensitive Filesystem</h3>
+<p>If you are building on an HFS filesystem on Mac OS, you may encounter an error such as</p>
+<pre><code>************************************************************
+You are building on a case-insensitive filesystem.
+Please move your source tree to a case-sensitive filesystem.
+************************************************************
+</code></pre>
+<p>Please follow the instructions in <a href="initializing.html">Initializing the Build Environment</a> for creating a case-sensitive disk image.</p>
+<h3 id="no-usb-permission">No USB Permission</h3>
+<p>On most Linux systems, unprivileged users cannot access USB ports by default. If you see a permission denied error, follow the instructions
+<a href="initializing.html">Initializing the Build Environment</a> for configuring USB access.  </p>
+<p>If adb was already running and cannot connect to the device after
+getting those rules set up, it can be killed with <code>adb kill-server</code>.
+That will cause adb to restart with the new configuration.</p>
diff --git a/src/source/cla-corporate.jd b/src/source/cla-corporate.jd
deleted file mode 100644
index efed92e..0000000
--- a/src/source/cla-corporate.jd
+++ /dev/null
@@ -1,81 +0,0 @@
-page.title=Corporate Contributor License Agreement
-@jd:body
-
-<!--
-    Copyright 2013 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>In order to clarify the intellectual property license granted with Contributions from any person or entity, the Android Open Source Project (the "Project") must have a Contributor License Grant ("Grant") on file that has been signed by each Contributor, indicating agreement to the license terms below. This license is for your protection as a Contributor as well as the protection of the Project and the Android Open Source Project Leads (the "Project Leads"); it does not change your rights to use your own Contributions for any other purpose.</p>
-<p>This version of the Grant allows an entity (the "Corporation") to submit Contributions to the Project Leads, to authorize Contributions submitted by its designated employees to the Project Leads, and to grant copyright and patent licenses thereto. If you have not already done so, please complete and send an original signed Grant to</p>
-<blockquote>
- Google Inc.<br/>
- Attn: Open Source Program Office<br/>
- 1600 Amphitheatre Pkwy<br/>
- Building 43<br/>
- Mountain View, CA 94043<br/>
- U.S.A.
-</blockquote>
-
-<p>Scanned agreements may also be emailed in PDF form to cla-submissions@google.com.</p>
-<p>If necessary, you may send it by facsimile to (650) 887-1625. Please read this document carefully before signing and keep a copy for your records.</p>
-<pre>Corporation name: ___________________________________________________<br><br><br><br>Corporation address: ________________________________________________<br><br><br><br>_____________________________________________________________________<br><br><br><br>_____________________________________________________________________<br><br><br><br>Point of Contact: ___________________________________________________<br><br><br><br>E-Mail:  ____________________________________________________________<br><br><br><br>Telephone: _____________________<br><br><br><br>Fax: ___________________________<br><br></pre>
-
-<p>You accept and agree to the following terms and conditions for Your present and future Contributions submitted to the Project. Except for the license granted herein to the Project Leads and recipients of software distributed by the Project Leads, You reserve all right, title, and interest in and to Your Contributions.</p>
-<ol>
-<li>
-<p>Definitions.</p>
-<p>"You" (or "Your") shall mean the copyright owner or legal entity authorized by the copyright owner that is making this Grant to the Project Leads. For legal entities, the entity making a Contribution and all other entities that control, are controlled by, or are under common control with that entity are considered to be a single Contributor. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.</p>
-<p>"Contribution" shall mean the code, documentation or other original works of authorship expressly identified in Schedule B, as well as any original work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to the Project Leads for inclusion in, or documentation of, any of the products managed or maintained by the Project Leads (the "Work"). For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Project Leads or their representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Project Leads for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution."</p>
-</li>
-<li>
-<p>Grant of Copyright License. Subject to the terms and conditions of this Grant, You hereby grant to the Project Leads and to recipients of software distributed by the Project Leads a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.</p>
-</li>
-<li>
-<p>Grant of Patent License. Subject to the terms and conditions of this Grant, You hereby grant to the Project Leads and to recipients of software distributed by the Project Leads a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) was submitted. If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) alleging that your Contribution, or the Work to which you have contributed, constitutes direct or contributory patent infringement, then any patent licenses granted to that entity under this Grant for that Contribution or Work shall terminate as of the date such litigation is filed.</p>
-</li>
-<li>
-<p>You represent that You are legally entitled to grant the above license. You represent further that each employee of the Corporation designated on Schedule A below (or in a subsequent written modification to that Schedule) is authorized to submit Contributions on behalf of the Corporation.</p>
-</li>
-<li>
-<p>You represent that each of Your Contributions is Your original creation (see section 7 for submissions on behalf of others).</p>
-</li>
-<li>
-<p>You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all. Unless required by applicable law or agreed to in writing, You provide Your Contributions on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.</p>
-</li>
-<li>
-<p>Should You wish to submit work that is not Your original creation, You may submit it to the Project Leads separately from any Contribution, identifying the complete details of its source and of any license or other restriction (including, but not limited to, related patents, trademarks, and license agreements) of which you are personally aware, and conspicuously marking the work as "Submitted on behalf of a third-party: [named here]".<br></p></p>
-</li>
-<li>
-<p>It is your responsibility to notify the Project Leads when any change is required to the list of designated employees authorized to submit Contributions on behalf of the Corporation, or to the Corporation's Point of Contact with the Project.</p>
-</li>
-</ol>
-<pre>
-<br><br>
-Please sign: __________________________________   Date: _______________<br><br>
-Title:  _______________________________________________________________<br><br>
-Corporation: __________________________________________________________
-</pre>
-
-<h3 id="schedule-a">Schedule A</h3>
-<p>[Initial list of designated employees. NB: authorization is not tied to particular Contributions.]</p>
-<h3 id="schedule-b">Schedule B</h3>
-<p>[Identification of optional concurrent software grant. Would be left blank or omitted if there is no concurrent software grant.]</p>
diff --git a/src/source/cla-corporate.pdf b/src/source/cla-corporate.pdf
deleted file mode 100644
index 09dc022..0000000
--- a/src/source/cla-corporate.pdf
+++ /dev/null
Binary files differ
diff --git a/src/source/cla-individual.jd b/src/source/cla-individual.jd
deleted file mode 100644
index 27f32cf..0000000
--- a/src/source/cla-individual.jd
+++ /dev/null
@@ -1,63 +0,0 @@
-page.title=Contributor License Agreement for Individuals
-@jd:body
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>In this document</h2>
-    <ol id="auto-toc">
-    </ol>
-  </div>
-</div>
-
-<p><em>Please visit the <a href="https://android-review.googlesource.com/#/settings/new-agreement">code review tool</a>
-to execute the grant online.This page provides the text of the Individual Contributor License Grant for your quick review.</em></p>
-<p>In order to clarify the intellectual property license granted with Contributions from any person or entity, the Android Open Source Project (the "Project") must have a Contributor License Grant ("Grant") on file that has been signed by each Contributor, indicating agreement to the license terms below. This license is for your protection as a Contributor as well as the protection of the Project and the Android Open Source Project Leads (the "Project Leads"); it does not change your rights to use your own Contributions for any other purpose. If you have not already done so, please complete and send an original signed Grant to</p>
-<blockquote>
- Google Inc.<br/>
- Attn: Open Source Program Office<br/>
- 1600 Amphitheatre Pkwy<br/>
- Building 43<br/>
- Mountain View, CA 94043<br/>
- U.S.A.
-</blockquote>
-
-<p>Scanned agreements may also be emailed in PDF form to
-cla-submissions@google.com, sent by facsimile to (650) 887-1625, or
-<a href="https://android-review.googlesource.com/#/settings/new-agreement">signed electronically</a>.</p>
-<p>Please read this document carefully before signing and keep a copy for your records.</p>
-<pre>
-<br><br>
-Full name: ____________________________  E-Mail: ______________________<br><br>
-Mailing Address: ______________________  Telephone: ___________________<br><br>
-_______________________________________  Facsimile: ___________________<br><br>
-_______________________________________  Country:   ___________________
-</pre>
-
-<p>You accept and agree to the following terms and conditions for Your present and future Contributions submitted to the Project. Except for the license granted herein to the Project Leads and recipients of software distributed by the Project Leads, You reserve all right, title, and interest in and to Your Contributions.</p>
-<ol>
-<li>
-<p>Definitions. </p>
-<p>"You" (or "Your") shall mean the copyright owner or legal entity authorized by the copyright owner that is making this Grant. For legal entities, the entity making a Contribution and all other entities that control, are controlled by, or are under common control with that entity are considered to be a single Contributor. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "Contribution" shall mean any original work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to the Project Leads for inclusion in, or documentation of, any of the products managed or maintained by the Project Leads (the "Work"). For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Project Leads or their representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Project Leads for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution."</p>
-</li>
-<li>
-<p>Grant of Copyright License. Subject to the terms and conditions of this Grant, You hereby grant to the Project Leads and to recipients of software distributed by the Project Leads a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.</p>
-</li>
-<li>
-<p>Grant of Patent License. Subject to the terms and conditions of this Grant, You hereby grant to the Project Leads and to recipients of software distributed by the Project Leads a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) was submitted. If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) alleging that your Contribution, or the Work to which you have contributed, constitutes direct or contributory patent infringement, then any patent licenses granted to that entity under this Grant for that Contribution or Work shall terminate as of the date such litigation is filed.</p>
-</li>
-<li>
-<p>You represent that you are legally entitled to grant the above license. If your employer(s) has rights to intellectual property that you create that includes your Contributions, you represent that you have received permission to make Contributions on behalf of that employer, that your employer has waived such rights for your Contributions to the Project Leads, or that your employer has executed a separate Corporate Contributor License Grant with the Project Leads.</p>
-</li>
-<li>
-<p>You represent that each of Your Contributions is Your original creation (see section 7 for submissions on behalf of others). You represent that Your Contribution submissions include complete details of any third-party license or other restriction (including, but not limited to, related patents and trademarks) of which you are personally aware and which are associated with any part of Your Contributions.</p>
-</li>
-<li>
-<p>You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all. Unless required by applicable law or agreed to in writing, You provide Your Contributions on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON- INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.</p>
-</li>
-<li>
-<p>Should You wish to submit work that is not Your original creation, You may submit it to the Project Leads separately from any Contribution, identifying the complete details of its source and of any license or other restriction (including, but not limited to, related patents, trademarks, and license agreements) of which you are personally aware, and conspicuously marking the work as "Submitted on behalf of a third-party: [named here]".<br></p></p>
-</li>
-<li>
-<p>You agree to notify the Project Leads of any facts or circumstances of which you become aware that would make these representations inaccurate in any respect.</p>
-</li>
-</ol>
diff --git a/src/source/community/groups-charter.jd b/src/source/community/groups-charter.jd
deleted file mode 100644
index d743041..0000000
--- a/src/source/community/groups-charter.jd
+++ /dev/null
@@ -1,43 +0,0 @@
-page.title=Android Discussion Groups Charter
-@jd:body
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>In this document</h2>
-    <ol id="auto-toc">
-    </ol>
-  </div>
-</div>
-
-<h2 id="audience">Audience</h2>
-<p>
-These discussion groups are intended for developers working with the Android platform. Everyone is welcome to join in, provided you follow our community's policies described below. Our users help each other, and many experts post to these groups, including members of the Open Handset Alliance.
-</p>
-<p>
-No topic is off-limits, provided it relates to Android in some way. However, since these are very busy lists, search the archives before posting your question; you may find your question has already been answered.
-</p>
-
-<h2 id="mailing">Mailing list rules</h2>
-<p>We love simplicity and hate restrictions, so we keep our policies minimal. The rules
-below describe what's expected of subscribers to the Android mailing lists.</h2>
-
-<ul>
-  <li><em>Please be friendly</em>: Showing courtesy and respect to others is a vital part of the Android culture, and we expect everyone participating in the Android community to join us in accepting nothing less. Being courteous does not mean we can't constructively disagree with each other, but it does mean that we must be polite when we do so. There's never a reason to be antagonistic or dismissive toward anyone; if you think there is, think again before you post. Mobile development is serious business, but it's also a lot of fun. Let's keep it that way. Let's strive to be one of the friendliest communities in all of open source.
-  </li>
-  <li><em>Allowed discussion topics<em>: Most of our groups are for technical discussions of Android or users helping each other. Generally we don't put hard restrictions on the topics discussed in the group: as long as the topic is relevant to Android in some way, it's welcome on our groups. We welcome announcements and discussion of products, libraries, publications, and other interesting Android-related news, but please do not cross-post. Post only to the most relevant group for your message. We even welcome (polite!) discussion of articles and ideas critical of Android--after all, we can't improve if we don't listen.
-  </li>
-  <li><em>Working Lists</em>: Some of our groups are considered "working lists", by which we mean that the list is intended to be used in support of the completion of specific tasks. On these groups, we don't welcome off-topic conversations, and will generally ask you to take general discussions to a different list. Since these are lists where people are trying to get work done, we will be pretty aggressive about keeping the noise level low. We ask that you respect our contributors' time and keep general discussions to appropriate lists.
-  </li>
-  <li><em>Spam</em>: We hate spam almost as passionately as we love courtesy and respect, so we reserve the right to limit discussions that amount to spam. Outright spam will result in the spammer being immediately and permanently banned from the list.
-  </li>
-</ul>
-<p>
-The most important rule is friendliness. Remember: disrespect and rudeness are not welcome in our community under any circumstances. We don't have a formal policy on dealing with troublemakers, and we hope we never need one. That said, we do pledge to do our best to be fair, and we will always try to warn someone before banning him or her.
-</p>
-<h2 id="contacting">Contacting the moderators</h2>
-<p>
-If you see anyone being rude, call them out on it. This is your group too, and you don't have to accept someone else being disrespectful just because it wasn't directed at you. Just remember to be polite and courteous yourself! Don't add fuel to the fire.
-</p>
-<p>
-But if you see an outrageous violation, want to report spam, feel very strongly about something, or even if you just want to chat, then contact the mailing list's owners. It's what we're here for!
-</p>
\ No newline at end of file
diff --git a/src/source/flashing.jd b/src/source/flashing.jd
deleted file mode 100644
index 06c8e2b..0000000
--- a/src/source/flashing.jd
+++ /dev/null
@@ -1,29 +0,0 @@
-page.title=Flashing
-@jd:body
-
-<!--
-    Copyright 2013 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.
--->
-<p>To flash a device, you will need to use <code>fastboot</code>. Place the device in fastboot mode either manually by holding the appropriate key combination at boot, or from the shell with</p>
-<pre><code>$ adb reboot bootloader
-</code></pre>
-<p>Once the device is in fastboot mode, run </p>
-<pre><code>$ fastboot flashall -w
-</code></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>
-<h1 id="emulating">Emulating</h1>
-<p>To run the emulator, type</p>
-<pre><code>$ emulator
-</code></pre>
diff --git a/src/source/getting-started.jd b/src/source/getting-started.jd
deleted file mode 100644
index 7c93494..0000000
--- a/src/source/getting-started.jd
+++ /dev/null
@@ -1,22 +0,0 @@
-page.title=Getting Started
-@jd:body
-
-<!--
-    Copyright 2013 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.
--->
-<p>Thanks for your interest in Android! To begin working with the platform, whether
-you're creating a custom version of Android for existing devices or if you are
-building a hardware device from scratch, you'll need to set up your machine to download and build the
-source.
diff --git a/src/source/git-repo.html b/src/source/git-repo.html
deleted file mode 100644
index e85ebc2..0000000
--- a/src/source/git-repo.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html>
-<head>
-<meta http-equiv="refresh" content="0;url=/source/developing.html" />
-</head>
-<body>
-</body>
-</html>
diff --git a/src/source/git-resources.jd b/src/source/git-resources.jd
index 5606b2d..0d15bac 100644
--- a/src/source/git-resources.jd
+++ b/src/source/git-resources.jd
@@ -1,4 +1,4 @@
-page.title=Git Resources
+page.title=Learning Git
 @jd:body
 
 <!--
diff --git a/src/source/initializing.jd b/src/source/initializing.jd
index 6c52343..bf2e528 100644
--- a/src/source/initializing.jd
+++ b/src/source/initializing.jd
@@ -1,4 +1,4 @@
-page.title=Initializing a Build Environment
+page.title=Establishing a Build Environment
 @jd:body
 
 <!--
@@ -47,9 +47,10 @@
 <p>For Gingerbread (2.3.x) and newer versions, including the <code>master</code>
 branch, a 64-bit environment is required. Older versions can be
 compiled on 32-bit systems.</p>
-<p class="note"><strong>Note:</strong> See the <a href="building.html">Downloading and
-Building</a> page for the list of hardware and software requirements. Then
-follow the detailed instructions for Ubuntu and Mac OS below.</p>
+<p class="note"><strong>Note:</strong> See the <a
+href="requirements.html">Requirements</a> for the complete list of hardware and
+software requirements. Then follow the detailed instructions for Ubuntu and Mac
+OS below.</p>
 
 <h3 id="installing-the-jdk">Installing the JDK</h3>
 <p>The <code>master</code> branch of Android in the <a
@@ -66,7 +67,7 @@
 </code></pre>
 
 <p>If you encounter version errors for Java, set its
-path as described in the <a href="building-running.html#wrong-java-version">Wrong
+path as described in the <a href="building.html#wrong-java-version">Wrong
 Java Version</a> section.</p>
 
 <p>To develop older versions of Android, download and install the corresponding version of the <a
diff --git a/src/source/overview.html b/src/source/overview.html
deleted file mode 100644
index b8f56fc..0000000
--- a/src/source/overview.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html>
-<head>
-<meta http-equiv="refresh" content="0;url=/source/index.html" />
-</head>
-<body>
-</body>
-</html>
diff --git a/src/source/requirements.jd b/src/source/requirements.jd
new file mode 100644
index 0000000..c063ca3
--- /dev/null
+++ b/src/source/requirements.jd
@@ -0,0 +1,64 @@
+page.title=Requirements
+@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.
+-->
+<p>The Android build is routinely tested in-house on recent versions of
+Ubuntu LTS (14.04), but most distributions should have the required
+build tools available.</p>
+
+<p>Before you download and build the Android source, ensure your system meets
+the following requirements:</p>
+
+<ul>
+
+  <li>A Linux or Mac OS system. It is also possible
+  to build Android in a virtual machine on unsupported systems such as Windows.
+  If you are running Linux in a virtual machine, you need at
+  least 16GB of RAM/swap and 100GB or more of disk space in order to
+  build the Android tree. See disk size requirements below.
+  </li>
+
+  <li>A 64-bit environment is required for Gingerbread (2.3.x) and newer versions, including the master
+  branch. You can compile older versions on 32-bit systems.
+  </li>
+
+  <li>At least 100GB of free disk space for a checkout, 150GB for a single
+  build, and 200GB or more for multiple builds. If you employ ccache, you will
+  need even more space.</p>
+  </li>
+
+  <li>
+  Python 2.6 -- 2.7, which you can download from <a href="http://www.python.org/download/">python.org</a>.</p>
+  </li>
+
+  <li>
+  GNU Make 3.81 -- 3.82, which you can download from <a href="http://ftp.gnu.org/gnu/make/">gnu.org</a>,</p>
+  </li>
+
+  <li>
+  JDK 7 to build the master branch of Android in the <a
+  href="https://android.googlesource.com/">Android Open Source Project
+  (AOSP)</a>; JDK 6 to build Gingerbread through KitKat; JDK 5 for Cupcake through
+  Froyo. See <a href="initializing.html">Initializing a Build Environment</a>
+  for installation instructions by operating system.</p>
+  </li>
+
+  <li>
+  Git 1.7 or newer. You can find it at <a href="http://git-scm.com/download">git-scm.com</a>.</p>
+  </li>
+
+</ul>
diff --git a/src/source/building-devices.jd b/src/source/running.jd
similarity index 96%
rename from src/source/building-devices.jd
rename to src/source/running.jd
index f0d978e..393bb16 100644
--- a/src/source/building-devices.jd
+++ b/src/source/running.jd
@@ -1,4 +1,4 @@
-page.title=Building for devices
+page.title=Running Builds
 @jd:body
 
 <!--
@@ -25,7 +25,7 @@
 </div>
 
 <p>This page complements the main page about
-<a href="building-running.html">Building and Running</a> with
+<a href="building.html">Building the System</a> with
 information that is specific to individual devices.</p>
 
 <h2 class="nexus-devices">Nexus devices</h2>
@@ -54,7 +54,8 @@
 <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>
+<a href="building.html">Building a System</a>, and replace the main
+<code>make</code> command with:</p>
 <pre><code>$ make fastboot adb
 </code></pre>
 
@@ -194,8 +195,6 @@
 <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 <a href="building.html">Building</a> page.</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. Factory images and binaries for Nexus devices can be downloaded from:</p>
 <p><a href="https://developers.google.com/android/nexus/images">https://developers.google.com/android/nexus/images</a></p>
diff --git a/src/source/source_toc.cs b/src/source/source_toc.cs
index cbe8191..52b5bac 100644
--- a/src/source/source_toc.cs
+++ b/src/source/source_toc.cs
@@ -33,18 +33,16 @@
 
   <li class="nav-section">
       <div class="nav-section-header">
-        <a href="<?cs var:toroot ?>source/building.html">
+        <a href="<?cs var:toroot ?>source/requirements.html">
           <span class="en">Downloading and Building</span>
         </a>
       </div>
        <ul>
-        <li><a href="<?cs var:toroot ?>source/initializing.html">Initializing the Build Environment</a></li>
+        <li><a href="<?cs var:toroot ?>source/initializing.html">Establishing a Build Environment</a></li>
         <li><a href="<?cs var:toroot ?>source/downloading.html">Downloading the Source</a></li>
-        <li><a href="<?cs var:toroot ?>source/configure-products.html">Configuring the Products</a></li>
-        <li><a href="<?cs var:toroot ?>source/building-running.html">Building and Running</a></li>
-        <li><a href="<?cs var:toroot ?>source/building-devices.html">Building for Devices</a></li>
+        <li><a href="<?cs var:toroot ?>source/building.html">Building the System</a></li>
+        <li><a href="<?cs var:toroot ?>source/running.html">Running Builds</a></li>
         <li><a href="<?cs var:toroot ?>source/building-kernels.html">Building Kernels</a></li>
-        <li><a href="<?cs var:toroot ?>source/64-bit-builds.html">64-bit Build Instructions</a></li>
         <li><a href="<?cs var:toroot ?>source/known-issues.html">Known Issues</a></li>
       </ul>
   </li>
@@ -57,7 +55,9 @@
           <ul>
             <li><a href="<?cs var:toroot ?>source/using-repo.html">Using Repo</a></li>
             <li><a href="<?cs var:toroot ?>source/using-eclipse.html">Using Eclipse</a></li>
-            <li><a href="<?cs var:toroot ?>source/git-resources.html">Git Resources</a></li>
+            <li><a href="<?cs var:toroot ?>source/git-resources.html">Learning Git</a></li>
+            <li><a href="<?cs var:toroot ?>source/add-device.html">Adding a New Device</a></li>
+            <li><a href="<?cs var:toroot ?>source/64-bit-builds.html">Understanding 64-bit Builds</a></li>
           </ul>
   </li>
 
diff --git a/src/source/version-control.html b/src/source/version-control.html
deleted file mode 100644
index e85ebc2..0000000
--- a/src/source/version-control.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html>
-<head>
-<meta http-equiv="refresh" content="0;url=/source/developing.html" />
-</head>
-<body>
-</body>
-</html>
