Difference between revisions of "Android Kernel Download"

From eLinux.org
Jump to: navigation, search
m ('Raw' Android kernel patches)
m (Clarified how to include kernel projects (source) when using repo)
Line 16: Line 16:
  
 
To add one of these to your overall Android repository scheme, you add the appropriate kernel repository
 
To add one of these to your overall Android repository scheme, you add the appropriate kernel repository
to your local_manifest.xml file. (???)
+
to your local manifest.xml file. This file is located in the .repo directory.
  
 
Note that when you download the rest of the Android source code, using the 'repo'
 
Note that when you download the rest of the Android source code, using the 'repo'
 
command, you do NOT automatically get a kernel tree included.  (That is, a kernel
 
command, you do NOT automatically get a kernel tree included.  (That is, a kernel
 
git tree is not referenced in the default Android manifest file, when you use
 
git tree is not referenced in the default Android manifest file, when you use
repo following the instructions at http://source.android.com/download
+
repo following the instructions at http://source.android.com/download.
 +
 
 +
To include the kernel tree, include lines like this in .repo/manifest.xml:
 +
 
 +
<project path="kernel/common" name="kernel/common" />
 +
 
 +
The complete list of projects (including other kernel options besides kernel/common)
 +
is listed on http://android.git.kernel.org/.
  
 
For more about repo, see http://source.android.com/download/using-repo
 
For more about repo, see http://source.android.com/download/using-repo

Revision as of 07:12, 11 August 2010

Main Google Android Kernels

The main Google repository with Android source code is at: http://android.git.kernel.org/

There are (as of September 2009) 4 main separate kernel repositories at that site:

  • common
  • experimental
  • msm
  • omap

To download one of these and use it directly, you can use git. For example:

git clone git://android.git.kernel.org/kernel/common.git kernel

To preserve your sanity, it's probably worth downloading this into a 'kernel' directory in your overall Android source directory scheme

To add one of these to your overall Android repository scheme, you add the appropriate kernel repository to your local manifest.xml file. This file is located in the .repo directory.

Note that when you download the rest of the Android source code, using the 'repo' command, you do NOT automatically get a kernel tree included. (That is, a kernel git tree is not referenced in the default Android manifest file, when you use repo following the instructions at http://source.android.com/download.

To include the kernel tree, include lines like this in .repo/manifest.xml:

<project path="kernel/common" name="kernel/common" />

The complete list of projects (including other kernel options besides kernel/common) is listed on http://android.git.kernel.org/.

For more about repo, see http://source.android.com/download/using-repo

Other Repositories with Android-specific changes

'Raw' Android kernel patches

I do not know of any freely available patches for the Linux kernel with the Android fixes, as of November 2009. I have, however, heard of multiple efforts to extract the patches to make it easier to port the Android kernel features onto newer Linux kernels.

Here is a way of extracting raw Android patches at a certain point in time, though this may be dated:

git clone git://android.git.kernel.org/kernel/common.git android-kernel
cd android-kernel
git checkout --track -b android-2.6.32 origin/android-2.6.32
git fetch --tags git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.32.y.git
git shortlog v2.6.32.9..HEAD
git format-patch v2.6.32.9..HEAD

Sum total 173 patches for the 2.6.32.9 kernel as of writing.

If anyone knows where raw android kernel patches are available, please add a link here. See also the Android Kernel Features page for more information about individual kernel features.