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

From IGEP - ISEE Wiki

Jump to: navigation, search
m (Linaro Toolchain)
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
__TOC__
 
[[Image:Android-logo.png|left]][http://www.android.com 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.  
 
[[Image:Android-logo.png|left]][http://www.android.com 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.  
  
Line 10: Line 11:
  
 
= Overview of How-To =
 
= 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.
+
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: [http://downloads.isee.biz/android/igep_firmware-android-ics.tar.bz2 igep_firmware-android-ics]
  
 
= Feedback and Contributing =
 
= Feedback and Contributing =
Line 20: Line 26:
  
 
= Android Platform Setup Environment =
 
= Android Platform Setup Environment =
To build your Android distribution for igep v2 boards, you need to set up the build environment first.
+
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.
 
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.
  
Line 43: Line 49:
 
   $ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.6.0_32/bin/javac" 1
 
   $ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.6.0_32/bin/javac" 1
 
</pre>
 
</pre>
Do the last step as well for javap, javah, javadoc and javaws.
+
Do the last step as well for javap, javah, javadoc, javaws and jar.
  
 
Afterwards set the alternatives link to the newly installed Java version:
 
Afterwards set the alternatives link to the newly installed Java version:
Line 50: Line 56:
 
   $ sudo update-alternatives --config javac
 
   $ sudo update-alternatives --config javac
 
</pre>
 
</pre>
Do the last step as well for javap, javah, javadoc and javaws.
+
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
 
See also https://help.ubuntu.com/community/Java#Oracle_.28Sun.29_Java_6
  
Line 58: Line 64:
 
   $ 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.
+
=== 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:
 
<pre>
 
<pre>
user$ sudo su
+
export PATH=/opt/poky/1.2.1/sysroots/i686-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi:$PATH
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>
 
</pre>
  
=== Linaro Toolchain ===
+
Best practice is to put this line in your ~/.bashrc file.
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:
 
To check it if it's installed, try:
 
<pre>
 
<pre>
  $ arm-linux-gnueabi-gcc --version
+
$ arm-poky-linux-gnueabi-gcc --version
arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.5.3-12ubuntu2) 4.5.3
+
  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.
 
</pre>
 
</pre>
 
If you need to install the toolchain, have a look on this [[How_to_get_the_Poky_Linux_distribution|wiki page]]
 
 
  
 
== Download the source code ==
 
== Download the source code ==
Line 99: Line 105:
 
<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]]

Latest revision as of 10:11, 31 December 2013

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