Difference between revisions of "How to get the Android 4.0 (Ice Cream Sandwich) distribution"

From IGEP - ISEE Wiki

Jump to: navigation, search
m (Added to "Software distributions" Category)
(use environment variable to build)
Line 57: Line 57:
  
 
   $ sudo apt-get install gcc-4.4-multilib g++-4.4
 
   $ 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.
 
<pre>
 
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
 
</pre>
 
  
 
=== Linaro Toolchain ===
 
=== Linaro Toolchain ===
Line 99: Line 88:
 
<pre>
 
<pre>
 
   $ . build/envsetup.sh
 
   $ . build/envsetup.sh
   $ make TARGET_PRODUCT=igep00x0 OMAPES=5.x -j8
+
   $ make HOST_CC=gcc-4.4 HOST_CXX=g++-4.4 TARGET_PRODUCT=igep00x0 OMAPES=5.x -j8
 
</pre>
 
</pre>
  
 
[[Category:Software distributions|Android]]
 
[[Category:Software distributions|Android]]

Revision as of 17:18, 13 July 2012

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.

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

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