Merge "Add mention of 2.2.3"
diff --git a/scripts/micro-httpd.py b/scripts/micro-httpd.py
index 13e35a7..31ad1ea 100755
--- a/scripts/micro-httpd.py
+++ b/scripts/micro-httpd.py
@@ -18,5 +18,6 @@
 PORT = int(os.environ.get('HTTP_PORT', 8080))
 Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
 httpd = SocketServer.TCPServer(("0.0.0.0", PORT), Handler)
+httpd.allow_reuse_address = True
 print "Serving on port %d" % PORT
 httpd.serve_forever()
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 4a218d6..cbdf721 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.
@@ -99,11 +100,12 @@
 GRJ06D | android-2.3.4_r0.9 | Nexus S 4G
 GRJ22  | android-2.3.4_r1   | Nexus One, Nexus S, Nexus S 4G
 GRJ90  | android-2.3.5_r1   | Nexus S 4G
-GRK39C |                    | Nexus S
-GRK39F |                    | Nexus One, Nexus S
-GWK74  |                    | latest Gingerbread version, Nexus S 4G
+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
@@ -123,16 +125,18 @@
 HRI93  | android-3.0_r1.3
 HMJ37  | android-3.1_r1
 HTJ85B | android-3.2_r1
-HTK55D |
-HTK75D |
-HLK75C |                    | latest Honeycomb version
+HTK55D | android-3.2.1_r1
+HTK75D | android-3.2.1_r2
+HLK75C | android-3.2.2_r1
+HLK75D | android-3.2.2_r2   | latest Honeycomb version
 
 There is no manifest that contains exactly those. However, there
 are manifests that allow building those components. The following
 commands work for 3.0_r1.1, and using other versions can be done by
-switching the git checkout paramater, and if necessary the -b parameter in
-repo init.
+switching the git checkout paramater, and if necessary the -m parameter in
+repo init. The git checkout command outputs an error for the non-GPL
+projects, where it can't find the tag in question.
 
-    $ repo init -b master -m 3.0-base.xml
+    $ repo init -b master -m base-for-3.0-gpl.xml
     $ repo sync
     $ repo forall -c git checkout android-3.0_r1.1
diff --git a/src/source/building-devices.md b/src/source/building-devices.md
index 62023d2..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,13 +130,15 @@
 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
 ---------|------------------|------------------------
-crespo   | android-2.3.5_r1 | full_crespo-userdebug
-crespo4g | android-2.3.5_r1 | full_crespo4g-userdebug
-passion  | android-2.3.5_r1 | full_passion-userdebug
+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
 sapphire | android-2.2.2_r1 | full_sapphire-userdebug
 dream    | android-2.2.2_r1 | full_dream-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/code-lines.md b/src/source/code-lines.md
index 1d6d421..8b268f2 100644
--- a/src/source/code-lines.md
+++ b/src/source/code-lines.md
@@ -28,7 +28,7 @@
 will become a new branch in git, and sometimes not, based on the needs of the
 moment.
 
-<img src="/images/code-lines.png"/>
+<img src="/images/code-lines.png" alt="code-line diagram"/>
 
 ## Notes and Explanations ##
 
diff --git a/src/source/downloading.md b/src/source/downloading.md
index 7a120b8..3045e65 100644
--- a/src/source/downloading.md
+++ b/src/source/downloading.md
@@ -29,27 +29,30 @@
 
  - Download the Repo script and ensure it is executable:
 
-        $ curl https://android.git.kernel.org/repo > ~/bin/repo
+        $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
         $ chmod a+x ~/bin/repo
 
- - The MD5 checksum for repo is bbf05a064c4d184550d71595a662e098
+ - The SHA-1 checksum for repo is e1fd3bef059d152edf4d0522590725d317bc637f
 
 ## Initializing a Repo client ##
 
 After installing Repo, set up your client to access the android source repository:
 
- - Create an empty directory to hold your working files:
+ - Create an empty directory to hold your working files.
+ If you're using MacOS, this has to be on a case-sensitive filesystem.
+ Give it any name you like:
+
 
         $ mkdir WORKING_DIRECTORY
         $ cd WORKING_DIRECTORY
 
  - Run `repo init` to bring down the latest version of Repo with all its most recent bug fixes.  You must specify a URL for the manifest, which specifies where the various repositories included in the Android source will be placed within your working directory.
 
-        $ repo init -u git://android.git.kernel.org/platform/manifest.git
+        $ repo init -u https://android.googlesource.com/platform/manifest
 
     To check out a branch other than "master", specify it with -b:
 
-        $ repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo
+        $ 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.
 
@@ -63,7 +66,10 @@
 
     $ repo sync
 
-The Android source files will be located in your working directory under their project names.  The initial sync operation will take several minutes to complete.  For more about `repo sync` and other Repo commands, see [Version Control](version-control.html).
+The Android source files will be located in your working directory
+under their project names. The initial sync operation will take
+an hour or more to complete. For more about `repo sync` and other
+Repo commands, see [Version Control](version-control.html).
 
 
 ## Verifying Git Tags ##
diff --git a/src/source/initializing.md b/src/source/initializing.md
index 93fcc41..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.
 
@@ -51,7 +55,6 @@
 Java 6: for Gingerbread and newer
 
     $ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
-    $ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
     $ sudo apt-get update
     $ sudo apt-get install sun-java6-jdk
 
@@ -64,7 +67,7 @@
 
 ## Installing required packages ##
 
-To set up your development environment, install the following required packages:
+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 \
@@ -72,6 +75,17 @@
       libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
       libxml2-utils
 
+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 x11proto-core-dev \
+      libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \
+      libxml2-utils
+
 ## Configuring USB Access ##
 
 Under GNU/linux systems (and specifically under Ubuntu systems),
@@ -88,10 +102,14 @@
     SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
     # fastboot protocol on passion (Nexus One)
     SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
-    # adb protocol on crespo (Nexus S)
+    # adb protocol on crespo/crespo4g (Nexus S)
     SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
-    # fastboot protocol on crespo (Nexus S)
+    # 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
@@ -104,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.
 
@@ -112,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.
@@ -121,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; }
@@ -130,7 +149,11 @@
 
 ## Installing required packages ##
 
-- Install XCode from [the Apple developer site](http://developer.apple.com/). We recommend version 3.0 or newer.  If you are not already registered as an Apple developer, you will have to create an Apple ID in order to download.
+- 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.
 
 - Install MacPorts from [macports.org](http://www.macports.org/install.php).
 
diff --git a/src/source/life-of-a-patch.md b/src/source/life-of-a-patch.md
index 7799424..f0fbc40 100644
--- a/src/source/life-of-a-patch.md
+++ b/src/source/life-of-a-patch.md
@@ -24,4 +24,4 @@
 For full instructions on how to get set up to use gerrit and git, please
 see the [Submitting Patches](submit-patches.html) page.
 
-<img src="/images/workflow-0.png"/>
+<img src="/images/workflow-0.png" alt="workflow diagram"/>
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) ##
 
diff --git a/src/source/sidebar.md b/src/source/sidebar.md
index 4a9f797..31d782b 100644
--- a/src/source/sidebar.md
+++ b/src/source/sidebar.md
@@ -10,7 +10,6 @@
 - [Platform Overview](overview.html)
 - [Branches & Releases](code-lines.html)
 - [Build Numbers](build-numbers.html)
-- [Browse Source](http://android.git.kernel.org)
 
 # Contributing #
 
diff --git a/src/source/version-control.md b/src/source/version-control.md
index 623e30f..110048a 100644
--- a/src/source/version-control.md
+++ b/src/source/version-control.md
@@ -27,7 +27,7 @@
 ## Basic Workflow ##
 
 <div style="float:right">
-  <img src="/images/submit-patches-0.png">
+  <img src="/images/submit-patches-0.png" alt="basic workflow diagram">
 </div>
 
 The basic pattern of interacting with the repositories is as follows:
@@ -60,7 +60,7 @@
 ## Creating topic branches ##
 
 Start a topic branch in your local work environment whenever you begin a change, for example when you begin work on a bug or new feature. A topic branch is not a copy of the original files; it is a pointer to a particular commit. This makes creating local branches and switching among them a light-weight operation. By using branches, you can isolate one aspect of your work from the others. For an interesting article about using topic branches, see [Separating topic branches](http://www.kernel.org/pub/software/scm/git/docs/howto/separating-topic-branches.txt).
-<img src="/images/external-link.png">
+<img src="/images/external-link.png" alt="">
 
 To start a topic branch using Repo: 
 
@@ -173,6 +173,6 @@
 
 # Git and Repo cheatsheet #
 
-<img src="/images/git-repo-1.png">
+<img src="/images/git-repo-1.png" alt="list of basic git and repo commands">