Prepare ICS release.

-new version numbers
-new system requirements

Bug:4445289
Change-Id: I759e548d7e292cd44f6b7084250e5c648d250e12
diff --git a/src/index.md b/src/index.md
index 5963be7..54319bf 100644
--- a/src/index.md
+++ b/src/index.md
@@ -20,6 +20,14 @@
 
 ## News ##
 
+### Source Code Available for Android 4.0 ###
+
+The source code for the Android 4.0 platform and software stack has been
+released! This release allows OEMs to begin preparing Android 4.0 for
+installation on new and existing devices, and allows hobbyists, enthusiasts,
+and researchers to develop custom builds. For information on how to obtain the
+software, visit our [Getting the Source](source/downloading.html) page.
+
 ### Compatibility Definition for Android 2.3 ###
 
 The Compatibility Definition Document for Android 2.3.3 has been published. 
@@ -29,14 +37,6 @@
 Communications support to the Android APIs. For more information, visit the 
 [Compatibility](compatibility/index.html) page.
 
-### Source Code Available for Android 2.3 ###
-
-The source code for the Android 2.3 platform and software stack has been
-released! This release allows OEMs to begin preparing Android 2.3 for
-installation on new and existing devices, and allows hobbyists, enthusiasts,
-and researchers to develop custom builds. For information on how to obtain the
-software, visit our [Getting the Source](source/downloading.html) page.
-
 </div>
 
 <img style="float: right; padding-right: 1.5em;" src="images/home-bugdroid.png" alt="Android Mascot"/>
diff --git a/src/source/build-numbers.md b/src/source/build-numbers.md
index 8d1dd3b..09d2c5c 100644
--- a/src/source/build-numbers.md
+++ b/src/source/build-numbers.md
@@ -38,8 +38,9 @@
 Gingerbread    | 2.3 - 2.3.2  | API level 9, NDK 5
 Gingerbread    | 2.3.3 - 2.3.7            | API level 10
 Honeycomb      | 3.0                      | API level 11
-Honeycomb      | 3.1                      | API level 12
+Honeycomb      | 3.1                      | API level 12, NDK 6
 Honeycomb      | 3.2 - 3.2.2              | API level 13
+IceCreamSandwich | 4.0.x                  | API level 14, NDK 7
 
 Starting with Cupcake, individual builds are identified with a short
 build code, e.g. FRF85B.
@@ -100,8 +101,9 @@
 GRK39C | android-2.3.6_r0.9 | Nexus S
 GRK39F | android-2.3.6_r1   | Nexus One, Nexus S
 GWK74  | android-2.3.7_r1   | latest Gingerbread version, Nexus S 4G
+ITL41D | android-4.0.1_r1   | current IceCreamSandwich version, Galaxy Nexus
 
-The branches donut, eclair, froyo, gingerbread represent development
+The branches froyo, gingerbread, ics-mr0, represent development
 branches that do not exactly match configurations that were tested
 by Google. They might contain a variety of changes in addition to
 the official tagged releases, and those haven't been as thoroughly
diff --git a/src/source/building-devices.md b/src/source/building-devices.md
index 501fb85..5275435 100644
--- a/src/source/building-devices.md
+++ b/src/source/building-devices.md
@@ -16,15 +16,30 @@
 
 # Building for devices #
 
-This page complements the main page about [Building](building.html) with information
-that is specific to individual devices.
+This page complements the main page about [Building](building.html) with
+information that is specific to individual devices.
 
-The only supported devices are Nexus S, a.k.a. "crespo", and Nexus S 4G, a.k.a.
-"crespo4g".
-Nexus S is the recommended device to use with the Android Open-Source Project.
-Nexus One a.k.a. "passion" is experimental and unsupported. Android Developer
-Phones (ADP1 and ADP2, a.k.a. "dream" and "sapphire") are obsolete, were
-experimental and unsupported in froyo, and can't be used with gingerbread.
+The only supported phone with the current release is the GSM/HSPA+ Galaxy
+Nexus, a.k.a. "maguro".
+GSM/HSPA+ Galaxy Nexus is currently the recommended device to use with the
+Android Open-Source Project.
+
+In addition, [PandaBoard](http://pandaboard.org) a.k.a. "panda" is supported
+in the master branch only, but is currently considered experimental.
+The specific details to use a PandaBoard with the Android Open-Source Project
+are in the file `device/ti/panda/README` in the source tree.
+
+Nexus S, a.k.a. "crespo", and Nexus S 4G, a.k.a. "crespo4g", are supported with
+gingerbread, but can't currently be used with newer versions of the Android
+Open-Source Project.
+
+Nexus One a.k.a. "passion" is obsolete, was experimental in gingerbread and
+unsupported, and can't be used with newer versions of the Android Open-Source
+Project.
+
+Android Developer Phones (ADP1 and ADP2, a.k.a. "dream" and "sapphire") are
+obsolete, were experimental and unsupported in froyo, and can't be used with
+newer versions of the Android Open-Source Project.
 
 ## Building fastboot and adb ##
 
@@ -41,6 +56,7 @@
 
 Device   | Keys
 ---------|------
+maguro   | Press and hold both *Volume Up* and *Volume Down*, then press and hold *Power*
 crespo   | Press and hold *Volume Up*, then press and hold *Power*
 crespo4g | Press and hold *Volume Up*, then press and hold *Power*
 passion  | Press and hold the trackball, then press *Power*
@@ -57,8 +73,8 @@
 
 This is the default setup on ADP1 and ADP2.
 
-On Nexus One, Nexus S, and Nexus S 4G, the bootloader is locked by default.
-With the device in fastboot mode, the bootloader is unlocked with
+On Nexus One, Nexus S, Nexus S 4G, and Galaxy Nexus, the bootloader is locked
+by default. With the device in fastboot mode, the bootloader is unlocked with
 
     $ fastboot oem unlock
 
@@ -67,17 +83,18 @@
 
 On Nexus One, the operation voids the warranty and is irreversible.
 
-On Nexus S and Nexus S 4G, the bootloader can be locked back with
+On Nexus S, Nexus S 4G, and Galaxy Nexus, the bootloader can be locked back with
 
     $ fastboot oem lock
 
 ## Obtaining proprietary binaries ##
 
-While it's possible to build and run a system using exclusively source code
-from Android Open-Source Project, such a system can only use the devices'
-hardware capabilities for which Open-Source support exists.
+Starting with IceCreamSandwich, 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.
 
-Official binaries for Nexus S and Nexus S 4G can be downloaded from
+Official binaries for Nexus S, Nexus S 4G, Galaxy Nexus, and PandaBoard can be
+downloaded from
 [Google's Nexus driver page](http://code.google.com/android/nexus/drivers.html),
 which add access to additional hardware capabilities with non-Open-Source code.
 
@@ -85,7 +102,7 @@
 
 ### Extracting the proprietary binaries ###
 
-Each driver comes as a self-extracting script in a compressed archive.
+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
@@ -113,10 +130,12 @@
 are described in the page about [Building](building.html).
 
 The recommended builds for the various devices are available through
-the lunch menu, accesed when running the `lunch` command with no arguments:
+the lunch menu, accessed when running the `lunch` command with no arguments:
 
 Device   | Branch           | Build configuration
 ---------|------------------|------------------------
+maguro   | android-4.0.1_r1 | full_maguro-userdebug
+panda    | master           | full_panda-eng
 crespo   | android-2.3.6_r1 | full_crespo-userdebug
 crespo4g | android-2.3.7_r1 | full_crespo4g-userdebug
 passion  | android-2.3.6_r1 | full_passion-userdebug
@@ -140,16 +159,16 @@
 
     $ fastboot flashall
 
-On crespo, crespo4g, sapphire and dream (but not on passion), the commands above can
-be replaced with a single command
+On maguro, panda, crespo, crespo4g, sapphire and dream (but not on passion),
+the commands above can be replaced with a single command
 
     $ fastboot -w flashall
 
-### Nexus S and Nexus S 4G Bootloader and Cell Radio compatibility ###
+### Nexus S, Nexus S 4G and Galaxy Nexus Bootloader and Cell Radio compatibility ###
 
-On Nexus S and Nexus S 4G, each version of Android has only been thoroughly
-tested with on specific version of the underlying bootloader and cell radio
-software.
+On Nexus S, Nexus S 4G, and Galaxy Nexus, each version of Android has only
+been thoroughly tested with on specific version of the underlying bootloader
+and cell radio software.
 However, no compatibility issues are expected when running newer systems
 with older bootloaders and radio images according to the following tables.
 
@@ -193,11 +212,20 @@
 2.3.5 (GRJ90)   | D720SPRKC5           | D720SPRKE5      | All previous versions
 2.3.7 (GWK74)   | D720SPRKE1           | D720SPRKH1 (*)  | All previous versions
 
-If you're building a new version of Android, if your Nexus S or Nexus S 4G has
+Galaxy Nexus (GSM/HSPA+):
+
+Android Version | Preferred Bootloader | Preferred Radio | Also possible
+----------------|----------------------|-----------------|--------------
+4.0.1 (ITL41D)  | PRIMEKJ10            | I9250XXKK1
+
+If you're building a new version of Android, if your Nexus S, Nexus S 4G or
+Galaxy Nexus has
 an older bootloader and radio image that is marked as being also possible in
 the table above but is not recognized by fastboot, you can locally
 delete the `version-bootloader` and `version-baseband` lines in
-`device/samsung/crespo/board-info.txt` or `device/samsung/crespo4g/board-info.txt`.
+`device/samsung/crespo/board-info.txt` or
+`device/samsung/crespo4g/board-info.txt` or
+`device/samsung/maguro/board-info.txt`
 
 (*) As a note, radio version D720SPRKH1 for Nexus S 4G sometimes erroneously
 reports version D720SPRKE1. If this is the case for your Nexus S 4G, you can
diff --git a/src/source/building.md b/src/source/building.md
index 5bfdee7..77e67fd 100644
--- a/src/source/building.md
+++ b/src/source/building.md
@@ -46,9 +46,9 @@
 
 Build name  | Device   | Notes
 ------------|----------|---------------------------
-generic     | emulator | lowest-common denominator
 full        | emulator | fully configured with all languages, apps, input methods
-full_crespo | crespo   | `full` build running on Nexus S ("crespo")
+full_maguro | maguro   | `full` build running on Galaxy Nexus GSM/HSPA+ ("maguro")
+full_panda  | panda    | `full` build running on PandaBoard ("panda")
 
 and the BUILDTYPE is one of the following:
 
diff --git a/src/source/downloading.md b/src/source/downloading.md
index 93f49aa..3045e65 100644
--- a/src/source/downloading.md
+++ b/src/source/downloading.md
@@ -52,7 +52,7 @@
 
     To check out a branch other than "master", specify it with -b:
 
-        $ repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.7_r1
+        $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
 
  - When prompted, please configure Repo with your real name and email address.  To use the Gerrit code-review tool, you will need an email address that is connected with a [registered Google account](http://www.google.com/accounts).  Make sure this is a live address at which you can receive messages.  The name that you provide here will show up in attributions for your code submissions.
 
diff --git a/src/source/initializing.md b/src/source/initializing.md
index a4fe8d9..d48f06a 100644
--- a/src/source/initializing.md
+++ b/src/source/initializing.md
@@ -18,19 +18,25 @@
 
 The "Getting Started" section describes how to set up your local work environment, how to use Repo to get the Android files, and how to build the files on your machine.  To build the Android source files, you will need to use Linux or Mac OS. Building under Windows is not currently supported.
 
-*Note: The source is approximately 2.6GB in size. You will need 10GB free to complete the build.*
+*Note: The source download is approximately 6GB in size.
+You will need 25GB free to complete a single build, and
+up to 80GB (or more) for a full set of builds.*
 
 For an overview of the entire code-review and code-update process, see [Life of a Patch](life-of-a-patch.html).
 
-To see snapshots and histories of the files available in the public Android repositories, visit the [GitWeb](http://android.git.kernel.org) web interface.
-
 
 
 # Setting up a Linux build environment #
 
-The Android build is routinely tested in house on recent versions of Ubuntu (10.04 and later), but most distributions should have the required build tools available.  Reports of successes or failures on other distributions are welcome.  
+The Android build is routinely tested in house on recent versions of
+Ubuntu LTS (10.04), but most distributions should have the required
+build tools available. Reports of successes or failures on other
+distributions are welcome.
 
-*Note: It is also possible to build Android in a virtual machine.  If you are running Linux in a virtual machine, you will need at least 8GB of RAM/swap and 12GB or more of disk space in order to build the Android tree.*
+*Note: It is also possible to build Android in a virtual machine.
+If you are running Linux in a virtual machine, you will need at
+least 16GB of RAM/swap and 30GB or more of disk space in order to
+build the Android tree.*
 
 In general you will need:
 
@@ -38,9 +44,7 @@
 
  - JDK 6 if you wish to build Gingerbread or newer; JDK 5 for Froyo or older.  You can download both from [java.sun.com](http://java.sun.com/javase/downloads/).
 
- - Git 1.5.4 or newer. You can find it at [git-scm.com](http://git-scm.com/download).
-
- - (optional) Valgrind, a tool that will help you find memory leaks, stack corruption, array bounds overflows, etc. Download from [valgrind.org](http://valgrind.org/downloads/current.html).
+ - Git 1.7 or newer. You can find it at [git-scm.com](http://git-scm.com/download).
 
 Detailed instructions for Ubuntu 10.04+ follow.
 
@@ -98,6 +102,10 @@
     SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
     # fastboot protocol on crespo/crespo4g (Nexus S)
     SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
+    # adb protocol on maguro (Galaxy Nexus)
+    SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"
+    # fastboot protocol on maguro (Galaxy Nexus)
+    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>"
 
 Those new rules take effect the next time a device is plugged in.
 It might therefore be necessary to unplug the device and plug it
@@ -110,7 +118,8 @@
 
 # Setting up a Mac OS X build environment #
 
-To build the Android files in a Mac OS environment, you need an Intel/x86 machine running MacOS 10.4 (Tiger), 10.5 (Leopard), or 10.6 (Snow Leopard). The Android build system and tools do not support the obsolete PowerPC architecture.
+To build the Android files in a Mac OS environment, you need an
+Intel/x86 machine running MacOS 10.6 (Snow Leopard).
 
 Android must be built on a case-sensitive file system because the sources contain files that differ only in case. We recommend that you build Android on a partition that has been formatted with the journaled file system HFS+.  HFS+ is required to successfully build Mac OS applications such as the Android Emulator for OS X.
 
@@ -118,7 +127,7 @@
 
 If you want to avoid partitioning/formatting your hard drive, you can use
 a case-sensitive disk image instead. To create the image, launch Disk
-Utility and select "New Image".  A size of 12GB is the minimum to
+Utility and select "New Image".  A size of 25GB is the minimum to
 complete the build, larger numbers are more future-proof. Using sparse images
 saves space while allowing to grow later as the need arises. Be sure to select
 "case sensitive, journaled" as the volume format.
@@ -138,6 +147,7 @@
 
 - Install XCode from [the Apple developer site](http://developer.apple.com/).
 We recommend version 3.1.4 or newer, i.e. gcc 4.2.
+Version 4.x could cause difficulties.
 If you are not already registered as an Apple developer, you will have to
 create an Apple ID in order to download.
 
diff --git a/src/source/overview.md b/src/source/overview.md
index b42c436..34ef955 100644
--- a/src/source/overview.md
+++ b/src/source/overview.md
@@ -23,9 +23,14 @@
 
 The links below will navigate you away from this site.
 
+## [Android 4.0](http://developer.android.com/sdk/android-4.0-highlights.html) ##
+
+Android 4.0 corresponded to the "IceCreamSandwich" milestone branch, and has an API level of 14.
+
 ## [Android 2.3](http://developer.android.com/sdk/android-2.3-highlights.html) ##
 
 Android 2.3 corresponded to the "Gingerbread" milestone branch, and has an API level of 9.
+In versions 2.3.3 and higher, the API level is 10.
 
 ## [Android 2.2](http://developer.android.com/sdk/android-2.2-highlights.html) ##