Android source code versions

From OMAPpedia

(Difference between revisions)
Jump to: navigation, search
(Installing repo: link had changed (or was wrong))
m (formatting)
Line 4: Line 4:
Create the following directories:
Create the following directories:
-
<pre>
+
<source lang=bash>
$ cd ~/
$ cd ~/
$ mkdir bin
$ mkdir bin
$ mkdir mydroid
$ mkdir mydroid
-
</pre>
+
</source>
Export tool chain path:
Export tool chain path:
-
<pre>
+
<source lang=bash>
$ export PATH=$PATH:/home/<user_name>/bin
$ export PATH=$PATH:/home/<user_name>/bin
$ export MYDROID=/home/<user_name>/mydroid
$ export MYDROID=/home/<user_name>/mydroid
-
</pre>
+
</source>
-
==Installing repo==
+
===Installing repo===
For detail information regarding repo visit: [http://source.android.com/source/git-repo.html Using Repo and Git]
For detail information regarding repo visit: [http://source.android.com/source/git-repo.html Using Repo and Git]
Line 23: Line 23:
Download repo to environment
Download repo to environment
-
<pre>
+
<source lang=bash>
$ cd ~/bin
$ cd ~/bin
$ curl http://android.git.kernel.org/repo > ~/bin/repo
$ curl http://android.git.kernel.org/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ chmod a+x ~/bin/repo
-
</pre>
+
</source>
==Source code versions==
==Source code versions==
Two different versions of source code is available for the community. The "Latest Code" provide up to the minute release. This version of source code is considered unstable. "Stable Release" source code has been tested and is considered to be rather stable.
Two different versions of source code is available for the community. The "Latest Code" provide up to the minute release. This version of source code is considered unstable. "Stable Release" source code has been tested and is considered to be rather stable.
-
==Latest Code==
+
===Latest Code===
Initialize the project to use the latest manifest
Initialize the project to use the latest manifest
<source lang=bash>
<source lang=bash>
$cd $MYDROID
$cd $MYDROID
</source>
</source>
-
===Donut===
+
====Donut====
<source lang=bash>
<source lang=bash>
$repo init -u git://git.omapzoom.org/platform/omapmanifest.git
$repo init -u git://git.omapzoom.org/platform/omapmanifest.git
</source>
</source>
-
===Eclair Maintenance Releases ===
+
====Eclair Maintenance Releases ====
<source lang=bash>
<source lang=bash>
$repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b eclair -m L25.Inc2.7.P3.Maintainance.xml
$repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b eclair -m L25.Inc2.7.P3.Maintainance.xml
</source>
</source>
-
 
+
====Froyo====
-
===Froyo===
+
<source lang=bash>
<source lang=bash>
$repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b froyo
$repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b froyo
Line 66: Line 65:
===Stable Release===
===Stable Release===
-
The stable tested release version will provide a tested, verified stable point in the release.  Download these versions if you want a point of known functionality.  These stable versions are tested by TI test team and both test results and release notes have been produced. All the Open Sourced code will be accessible via this method. Apart from this you can access certain HW accelerated codecs, WLAN/BT firmware for Zoom-II platform.  There will be additional HW accelerated codecs, 3rd part content & features that may be available from releases obtained through TI. To obtain licenses for additional content, contact your TI representative.
+
The stable tested release version will provide a tested, verified stable point in the release.  Download these versions if you want a point of known functionality.  These stable versions are tested by TI test team and both test results and release notes have been produced.  
 +
 
 +
All the Open Sourced code will be accessible via this method. Apart from this you can access certain HW accelerated codecs, WLAN/BT firmware for Zoom-II platform.  There will be additional HW accelerated codecs, 3rd part content & features that may be available from releases obtained through TI. To obtain licenses for additional content, contact your TI representative.
Line 75: Line 76:
To use Blaze branch
To use Blaze branch
-
+
<source lang=bash>
-
mkdir -p <your directory path>/mydroid
+
mkdir -p <your directory path>/mydroid
-
cd <your directory path>/mydroid
+
cd <your directory path>/mydroid
-
export MYDROID=`pwd`
+
export MYDROID=`pwd`
-
repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b <branch>
+
repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b <branch>
-
repo sync
+
repo sync
-
 
+
</source>
====Other releases====
====Other releases====
Line 94: Line 95:
=====Obtain Correct Manifest=====
=====Obtain Correct Manifest=====
Create a directory to store your manifest
Create a directory to store your manifest
-
<pre>
+
<source lang=bash>
$ cd $MYDROID
$ cd $MYDROID
$ mkdir my_manifest
$ mkdir my_manifest
$ cd my_manifest   
$ cd my_manifest   
-
</pre>
+
</source>
=====Obtain Source Code for Release=====
=====Obtain Source Code for Release=====
Clone manifest project and reviewing current available tags
Clone manifest project and reviewing current available tags
-
<pre>
+
<source lang=bash>
$ git clone git://git.omapzoom.org/platform/omapmanifest.git  
$ git clone git://git.omapzoom.org/platform/omapmanifest.git  
$ cd omapmanifest
$ cd omapmanifest
$ export MANIFEST=`pwd`
$ export MANIFEST=`pwd`
$ git tag
$ git tag
-
</pre>
+
</source>
=====Manifest Tags=====
=====Manifest Tags=====
Line 134: Line 135:
android-1.0
android-1.0
</pre>
</pre>
-
 
+
:* RLS2x.y
-
 
+
::Indicates official released software versions.  These versions will have published Release Notes and Product Test results associated with them.  
-
* RLS2x.y
+
::''For example'': RLS25.6 indicates the official 25.6 release version.  
-
Indicates official released software versions.  These versions will have published Release Notes and Product Test results associated with them.  
+
-
 
+
-
For example: RLS25.6 indicates the official 25.6 release version.  
+
    
    
-
* RLS2w.xrcy
+
:* RLS2w.xrcy
-
Indicate an intermediate build between official releases.  These intermediate builds are called "release candidates".  They should be considered unstable intermediate builds.  They are used to provide a stable compilation point at which testing can begin between releases.  The test results for these builds will not be published externally.  
+
::Indicate an intermediate build between official releases.  These intermediate builds are called "release candidates".  They should be considered unstable intermediate builds.   
 +
::They are used to provide a stable compilation point at which testing can begin between releases.  The test results for these builds will not be published externally.
 +
::''For example'': RLS25.7rc1 is a point used for testing between the 25.6 release and the 25.7 release.
-
For example: RLS25.7rc1 is a point used for testing between the 25.6 release and the 25.7 release.
+
:* RLS27.x
 +
::Indicates an officially released software versions for Blaze/OMAP4430. These versions will have published Release Notes and Product Test results associated with them.
 +
::''For example'': RLS27.3 indicates the official 27.3 release version.
-
* RLS27.x
+
:* RLS25.INC2.x
-
Indicates an officially released software versions for Blaze/OMAP4430.  These versions will have published Release Notes and Product Test results associated with them.
+
::Indicate official released software versions for OMAP3630.  These versions will have published Release Notes and Product Test results associated with them.  
-
 
+
::''For example'': RLS25.INC2.6 indicates the official 25.6inc2 release version.
-
For example: RLS27.3 indicates the official 27.3 release version.
+
-
 
+
-
* RLS25.INC2.x
+
-
Indicate official released software versions for OMAP3630.  These versions will have published Release Notes and Product Test results associated with them.  
+
-
 
+
-
For example: RLS25.INC2.6 indicates the official 25.6inc2 release version.
+
    
    
-
* RLS25.INC2.xrcy
+
:* RLS25.INC2.xrcy
-
Indicate an intermediate build between official releases for OMAP3630.  These intermediate builds are called "release candidates".  They should be considered unstable intermediate builds.  They are used to provide a stable compilation point at which testing can begin between releases.  The test results for these builds will not be published externally.  
+
::Indicate an intermediate build between official releases for OMAP3630.  These intermediate builds are called "release candidates".  They should be considered unstable intermediate builds.  They are used to provide a stable compilation point at which testing can begin between releases.  The test results for these builds will not be published externally.
 +
::''For example'': RLS25.INC2.7rc1 is a point used for testing between the 25inc2.6 release and the 25inc2.7 release.
 +
::''For example'': RLS25E.16 indicates an Eclair (rather than Donut) build.
-
For example: RLS25.INC2.7rc1 is a point used for testing between the 25inc2.6 release and the 25inc2.7 release.
 
-
 
-
For example: RLS25E.16 indicates an Eclair (rather than Donut) build.
 
Select a release git tag and use a hard reset command
Select a release git tag and use a hard reset command
-
<pre>
+
<source lang=bash>
$ git reset --hard RLS25.6
$ git reset --hard RLS25.6
-
</pre>
+
</source>
=====Initialize Project=====
=====Initialize Project=====
Initialize project based on manifest chosen
Initialize project based on manifest chosen
-
<pre>
+
<source lang=bash>
$ cd $MYDROID
$ cd $MYDROID
$ repo init -u $MANIFEST
$ repo init -u $MANIFEST
$ repo sync
$ repo sync
-
</pre>
+
</source>
This process takes around an hour.
This process takes around an hour.
-
'''Note:''' You might see the following error when you try to initialize repo:
+
:'''Note:''' You might see the following error when you try to initialize repo:
-
Error: IOError: [Errno 2] No such file or directory: '/home/<user_name>/ mydroid/.repo/manifests/.git/HEAD'
+
::Error: IOError: [Errno 2] No such file or directory: '/home/<user_name>/ mydroid/.repo/manifests/.git/HEAD'
-
Following instructions may solve the above error
+
::Following instructions may solve the above error
-
 
+
-
<pre>
+
-
$ touch ~/.gitconfig
+
-
$ rm -rf .repo
+
-
</pre>
+
 +
<tt>
 +
::$ touch ~/.gitconfig
 +
::$ rm -rf .repo
 +
</tt>
===Downloading Partial Code===
===Downloading Partial Code===
Line 197: Line 191:
After "repo init" give the below command
After "repo init" give the below command
 +
<source lang=bash>
$ repo sync <path of git repository>
$ repo sync <path of git repository>
 +
</source>
Eg: If user wants latest omx code from eclair branch  
Eg: If user wants latest omx code from eclair branch  
 +
<source lang=bash>
$ repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b eclair
$ repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b eclair
-
 
$ repo sync hardware/ti/omx
$ repo sync hardware/ti/omx
-
 
+
</source>
TI's official releases usually contain additional licensed content (including 3rd party software) in addition to the content in open source.  Licensed content such as Hardware Accelerated MP3, H264 Encoder,720p Video codecs can be obtained via the official releases by license holders through TI.
TI's official releases usually contain additional licensed content (including 3rd party software) in addition to the content in open source.  Licensed content such as Hardware Accelerated MP3, H264 Encoder,720p Video codecs can be obtained via the official releases by license holders through TI.

Revision as of 07:58, 5 July 2011

Start here to download your own Android filesystem, bootloader and kernel source code. There will be different considerations to work out depending on the device you are using and the appropriate Android release. This page will help you decide the Android release to download and use and relevant configuration details based on the device you are using.

Contents

Setting Environment

Create the following directories:

$ cd ~/
$ mkdir bin
$ mkdir mydroid

Export tool chain path:

$ export PATH=$PATH:/home/<user_name>/bin
$ export MYDROID=/home/<user_name>/mydroid

Installing repo

For detail information regarding repo visit: Using Repo and Git

Other reference links on Git can be found in technical references page

Download repo to environment

$ cd ~/bin
$ curl http://android.git.kernel.org/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

Source code versions

Two different versions of source code is available for the community. The "Latest Code" provide up to the minute release. This version of source code is considered unstable. "Stable Release" source code has been tested and is considered to be rather stable.

Latest Code

Initialize the project to use the latest manifest

$cd $MYDROID

Donut

$repo init -u git://git.omapzoom.org/platform/omapmanifest.git

Eclair Maintenance Releases

$repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b eclair -m L25.Inc2.7.P3.Maintainance.xml

Froyo

$repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b froyo

Then just run:

$repo sync

To download a particular project, run:

$repo sync hardware/ti/omx
$repo sync external/opencore
$repo sync frameworks/base
...


Stable Release

The stable tested release version will provide a tested, verified stable point in the release. Download these versions if you want a point of known functionality. These stable versions are tested by TI test team and both test results and release notes have been produced.

All the Open Sourced code will be accessible via this method. Apart from this you can access certain HW accelerated codecs, WLAN/BT firmware for Zoom-II platform. There will be additional HW accelerated codecs, 3rd part content & features that may be available from releases obtained through TI. To obtain licenses for additional content, contact your TI representative.


For Blaze

Branches for Blaze/OMAP4430

L27.4rc0, branch: 8ee7e3e6b9c7442cc81c4d812e5bd88283b7ed4b
L27.3p2, branch: 7a1b579f774477f33e62cf3bfb532448a32615af

To use Blaze branch

mkdir -p <your directory path>/mydroid
cd <your directory path>/mydroid
export MYDROID=`pwd`
repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b <branch>
repo sync

Other releases

Else to access other releases,

Obtain Correct Manifest

Create a directory to store your manifest

$ cd $MYDROID
$ mkdir my_manifest
$ cd my_manifest
Obtain Source Code for Release

Clone manifest project and reviewing current available tags

$ git clone git://git.omapzoom.org/platform/omapmanifest.git 
$ cd omapmanifest
$ export MANIFEST=`pwd`
$ git tag
Manifest Tags

These tags specify which Android source version tags are currently available. Tag and platform specific details follow:

Example of git tag print out

RLS25.INC2.5rc2
RLS25.12RC0
RLS25.6rc4
RLS25.6rc7
RLS25.6rc8
RLS25.7rc0
RLS25.7rc1
RLS25.7rc2
.
.
.

RLS27.3
RLS27.3p2
RLS27.3rc0
RLS27.3rc1
RLS27.4rc0
Test
android-1.0
  • RLS2x.y
Indicates official released software versions. These versions will have published Release Notes and Product Test results associated with them.
For example: RLS25.6 indicates the official 25.6 release version.
  • RLS2w.xrcy
Indicate an intermediate build between official releases. These intermediate builds are called "release candidates". They should be considered unstable intermediate builds.
They are used to provide a stable compilation point at which testing can begin between releases. The test results for these builds will not be published externally.
For example: RLS25.7rc1 is a point used for testing between the 25.6 release and the 25.7 release.
  • RLS27.x
Indicates an officially released software versions for Blaze/OMAP4430. These versions will have published Release Notes and Product Test results associated with them.
For example: RLS27.3 indicates the official 27.3 release version.
  • RLS25.INC2.x
Indicate official released software versions for OMAP3630. These versions will have published Release Notes and Product Test results associated with them.
For example: RLS25.INC2.6 indicates the official 25.6inc2 release version.
  • RLS25.INC2.xrcy
Indicate an intermediate build between official releases for OMAP3630. These intermediate builds are called "release candidates". They should be considered unstable intermediate builds. They are used to provide a stable compilation point at which testing can begin between releases. The test results for these builds will not be published externally.
For example: RLS25.INC2.7rc1 is a point used for testing between the 25inc2.6 release and the 25inc2.7 release.
For example: RLS25E.16 indicates an Eclair (rather than Donut) build.


Select a release git tag and use a hard reset command

$ git reset --hard RLS25.6
Initialize Project

Initialize project based on manifest chosen

$ cd $MYDROID
$ repo init -u $MANIFEST
$ repo sync

This process takes around an hour.

Note: You might see the following error when you try to initialize repo:
Error: IOError: [Errno 2] No such file or directory: '/home/<user_name>/ mydroid/.repo/manifests/.git/HEAD'
Following instructions may solve the above error

$ touch ~/.gitconfig
$ rm -rf .repo

Downloading Partial Code

If a user wants to download partial code instead of complete android source , the user can do the below steps

After "repo init" give the below command

$ repo sync <path of git repository>

Eg: If user wants latest omx code from eclair branch

$ repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b eclair
$ repo sync hardware/ti/omx

TI's official releases usually contain additional licensed content (including 3rd party software) in addition to the content in open source. Licensed content such as Hardware Accelerated MP3, H264 Encoder,720p Video codecs can be obtained via the official releases by license holders through TI.


Next Step

Now that you have the source code downloaded, you are ready to build the bootloader, kernel or filesystem. Proceed accordingly with "Building bootloader", "Building kernel" or "Building Android filesystem" in the main page.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox