How to get the Android 4.0 (Ice Cream Sandwich) distribution
Android 4.0 ICS (Ice Cream Sandwich) is the version of 2011-November of the Android platform for phones, tablets, and more. It builds on the things people love most about Android — easy multitasking, rich notifications, customizable home screens, resizable widgets, and deep interactivity — and adds powerful new ways of communicating and sharing.
Rowboat project provides Android on OMAP35xx and DM37xx platforms and enables key processor hardware features (ARM plus NEON, DSP, 2D/3D Accelerated Graphics and others). Key differentiators among many others:
- Active and open development of a quality Android port.
- Focused on a stable, well tested and benchmarked Android port for OMAP35xx and DM37xx.
- Graphics and Multimedia performance optimizations.
Contents
Overview of How-To
This How-To is meant to be a starting point for people to learn build and run Android images for IGEP PARIS and IGEP BERLIN devices as quickly and easily as possible.
Feedback and Contributing
Creating articles in the wiki is a collaborative process, at any point, if you see a mistake you can contribute to this article.
Please, use the discussion tab for user comments. This is useful to separate page content and the discussion thereof and also, if you don't want to give normal users the right to edit the page but still want user contributed notes.
Editing permissions are restricted to registered users. Register in the main IGEP site and you will have single sign-on.
Android Platform Setup Environment
To build your Android distribution for IGEP PARIS/BERLIN boards, you need to set up the build environment first. The following part is based on Ubuntu 12.04. Beware that using a different version of Ubuntu or a different Linux distribution might need different steps to set up your environment, as it highly depends on the versions of the software packages.
Set up the build environment under Ubuntu 12.04 Linux (32-bit x86)
To set up your Linux development environment, make sure you have the following:
Required Packages:
- Git 1.5.4 or newer and the GNU Privacy Guard.
- flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl.
Java
Get Java SE 6 Update 32 (JDK) in version 6 from:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
The file is called something like jdk-6u32-linux-i586.bin In the download folder, execute the following commands:
$ chmod u+x jdk-6u32-linux-i586.bin $ ./jdk-6u32-linux-i586.bin $ sudo mv jdk1.6.0_32 /usr/lib/jvm/ $ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.6.0_32/bin/java" 1 $ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.6.0_32/bin/javac" 1
Do the last step as well for javap, javah, javadoc and javaws.
Afterwards set the alternatives link to the newly installed Java version:
$ sudo update-alternatives --config java $ sudo update-alternatives --config javac
Do the last step as well for javap, javah, javadoc and javaws. See also https://help.ubuntu.com/community/Java#Oracle_.28Sun.29_Java_6
GCC compiler
Apart from that you need to install a older version of gcc and c++ to be compatible with the build environment:
$ sudo apt-get install gcc-4.4-multilib g++-4.4
As root, change the softlinks in /usr/bin/ for gcc and g++, so that gcc and g++ points to version 4.4.
user$ sudo su root$ cd /usr/bin root$ mv gcc gcc-old root$ ln -s gcc-4.4 gcc root$ mv g++ g++-old root$ ln -s g++-4.4 g++ root$ exit
Linaro Toolchain
To create the igep-x-loader (MLO) we need the linaro cross compile toolchain installed on our machine.
To check it if it's installed, try:
$ arm-linux-gnueabi-gcc --version arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.5.3-12ubuntu2) 4.5.3
If you need to install the toolchain, have a look on this wiki page
Download the source code
In order to build an android image for this release, you need to download the corresponding android repository.
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod a+x ~/bin/repo $ mkdir android $ cd android $ repo init -u git://git.isee.biz/pub/scm/android/manifest -b master -m rowboat-ics.xml $ repo sync
Build the source code
Having downloaded the source code, you can build an igep00x0 image as such:
$ . build/envsetup.sh $ make TARGET_PRODUCT=igep00x0 OMAPES=5.x -j8