How to get the Android 4.0 (Ice Cream Sandwich) distribution

From IGEP - ISEE Wiki

Jump to: navigation, search
Android-logo.png
Android is a software stack for mobile devices that includes an operating system, middleware and key applications, that uses a modified version of the Linux kernel. It was initially developed by Android Inc., a firm later purchased by Google, and lately by the Open Handset Alliance. It allows developers to write managed code in the Java language, controlling the device via Google-developed Java libraries.

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.

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.

Download pre-built Android

If you don't want to build Android yourself, you can just download the pre-built image and install it on a SD-card. Please see the README file shipped with the archive for more information.

You can find the archive following this link: igep_firmware-android-ics

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, javaws and jar.

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, javaws and jar. 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

Linaro Toolchain

To create the igep-x-loader (MLO) we need the poky cross compile toolchain installed on our machine.

Download the toolchain from:

 https://www.isee.biz/support/downloads/item/igep-sdk-yocto-toolchain-1-2-2-3

Follow the setps given on the download page, unless you reach step 5. Instead of sourcing the environment file, export add the path to the toolchain to your $PATH variable:

export PATH=/opt/poky/1.2.1/sysroots/i686-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi:$PATH

Best practice is to put this line in your ~/.bashrc file.

To check it if it's installed, try:

$ arm-poky-linux-gnueabi-gcc --version
  arm-poky-linux-gnueabi-gcc (GCC) 4.6.4 20120303 (prerelease)
  Copyright (C) 2011 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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 HOST_CC=gcc-4.4 HOST_CXX=g++-4.4 TARGET_PRODUCT=igep00x0 OMAPES=5.x -j8