Building Android Filesystem

From OMAPpedia

Revision as of 21:01, 24 June 2011 by Pngolla (Talk | contribs)
Jump to: navigation, search
Android Logov2.jpg
How to get started building your own binaries for the Android OS on your OMAP Platform
Overview Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9

   

Step 4


Contents

Pulling Android Filesystem Sources

During this stage of the build you must decide to take the latest available code or stick with a stable release. The latest code may have fixed some problems with the previous stable release, and added new features; However, it is not guaranteed to work without any problems. Selecting a stable release will provide you with a better starting point because it is well tested.

Latest Code

Initialize the project to use the latest manifest

$cd $MYDROID

Select a Android release to work with from this section below.

Donut

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

Eclair

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

Froyo

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

Gingerbread

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

Then just run:

$repo sync

Downloading Specific Projects

You could download a particular project, you want, by doing a 'repo sync' for that project:

$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, such as WLAN/BT firmware for Zoom-II platform. There will be additional HW accelerated codecs, 3rd party content & features that may be available from releases obtained through TI. To obtain licenses for additional content, contact your TI representative.

To access these releases:

Obtain Source Code for Release

Clone manifest project, and review current available tags thus:

$ cd $MYDROID/my_manifest
$ git clone git://git.omapzoom.org/platform/omapmanifest.git 
$ cd omapmanifest
$ export MANIFEST=`pwd`
$ git tag <see section below>

Manifest Tags

Print out of example of 'git tags':

RLS25.INC2.5rc2
RLS25.12RC0
RLS25.6rc4
RLS25.6rc7
RLS25.6rc8
RLS25.7rc0
RLS25.7rc1
RLS25.7rc2
.
.
.
RLS25.9rc4
android-1.0


RLS25.x

Indicate official released software versions. These versions will have published Release Notes and Product Test results associated with them.

RLS25.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.

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.

Select a release 'git tag,' and use a hard reset command:

$ git reset --hard RLS25.6

Initialize Project

Initialize project based on the chosen manifest:

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

This process takes about an hour. (Get some coffee, relax, stretch or do some other things as the git objects are fetched and refactored into the code base.)

Tip: Although the first 'repo sync' time is unavoidable, the subsequent ones can be considerable sped up. Here is a tip that can save you some time with 'repo syncs' later on.

Tip: Another tip to parallelize your 'repo syncs.'

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'

You may be able to resolve the above error this way:

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

Building Android Filesystem (AFS) with TI Codecs enabled

While executing the below commands you may choose to use the number of cores you have available on your system thus: -j4 or -j12:

cd $MYDROID
cp -Rfp device/ti/<board_you_are_building_for>/buildspec.mk.default buildspec.mk
make clean ;#(required for rebuild only)
make -j4 2>&1 |tee $MYDROID/logs/android_make.out

Building AFS with Android Codecs

Needs updating



Left arrow1.png Android Logov2.jpg Right arrow1.png
Previous Home Next
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox