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 115d842..87d7079 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.
 
@@ -63,7 +67,7 @@
 
 ## Installing required packages ##
 
-Ubuntu 10.04 (recommended)
+64-bit (recommended)
 
     $ sudo apt-get install git-core gnupg flex bison gperf build-essential \
       zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
@@ -71,12 +75,16 @@
       libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
       libxml2-utils
 
-Ubuntu 11.10 (experimental)
+On newer versions of Ubuntu such as 11.10 you may need to do the following:
+
+    $ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
+
+32-bit (experimental)
 
     $ sudo apt-get install git-core gnupg flex bison gperf build-essential \
-      zip curl zlib1g-dev libc6-dev libncurses5-dev ia32-libs-multiarch \
-      x11proto-core-dev libx11-dev libreadline6-dev libgl1-mesa-dev \
-      g++-multilib mingw32 tofrodos python-markdown libxml2-utils
+      zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
+      libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \
+      libxml2-utils
 
 ## Configuring USB Access ##
 
@@ -98,6 +106,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 +122,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 +131,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.
@@ -127,7 +140,7 @@
 
     # hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/android.dmg
 
-This will create a .dmg file which, once mounted, acts as a drive with the required formatting for Android development. For a disk image named "android.dmg" stored in your home directory, you can add the following to your `~/.bash_profile` to mount the image when you execute "mountAndroid": 
+This will create a .dmg (or possibly a .dmg.sparsefile) file which, once mounted, acts as a drive with the required formatting for Android development. For a disk image named "android.dmg" stored in your home directory, you can add the following to your `~/.bash_profile` to mount the image when you execute "mountAndroid":
 
     # mount the android file image
     function mountAndroid { hdiutil attach ~/android.dmg -mountpoint /Volumes/android; }
@@ -138,6 +151,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) ##
 
