How to get the Android 4.0 (Ice Cream Sandwich) distribution
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 v2 devices as quickly and easily as possible.
Feedback and Contributing
At any point, if you see a mistake you can contribute to this How-To.
Android Platform Setup Environment
To build your Android distribution for igep v2 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