Printable Version

Toolchain For Android

From labs.embinux.org

Jump to: navigation, search

Release Notes

EMBINUX™ Cross Compiler (ECC) is based on GNU Tools strictly adhering to open source standards. This toolchain is designed for building Android stack.

These release notes give you information about installing toolchain in your system and compiling Android build with it.

This release of ECC contains the following features

  • Supports thumb instructions, cortex core, armv7-a
  • GCC has been upgraded to 4.4.1 and binutils to 2.19.1

Download & installation

  • System requirements
    • Linux 2.6 kernel based distributions (Ubuntu 8.x; Fedora 8, 9, 10; RHEL 4, 5; OpenSUSE 11.x)
  • Download the toolchain from the following location(s)
For 32 bit host machine
ecc-android-crm_g3d7823fa_bb0f1156c-0909-arm-eabi.bin.tgz 
For 64 bit host machine
ecc-android-crm_g3d823fa_bb0f1156c-0909-arm-eabi_64.bin.tgz 
$ sudo apt-get install libmpfr1ldbl
  • Instructions for compiling Android build
    • Remove the android toolchain present in prebuilt/linux-x86/toolchain directory
cd $(ANDROID_BUILD)/prebuilt/linux-x86/toolchain
rm -rf arm-eabi-4.2.1
  • Untar the toolchain in the prebuilt/linux-x86/toolchain directory
 For For 32 bit host machine
 tar xvf ecc-android-crm_g3d7823fa_bb0f1156c-0909-arm-eabi.bin.tgz

 For 64 bit host machine
 tar xvf ecc-android-crm_g3d7823fa_bb0f1156c-0909-arm-eabi_64.bin.tgz
  • Changes to be made in the android build
    • Change toolchian path in Android Build by editing $(ANDROID_BUILD/build/envsetup.sh
export ANDROID_EABI_TOOLCHAIN=$prebuiltdir/toolchain/arm-eabi-4.4.1/bin
    • Switch to $(ANDROID_BUILD/build/core/combo directory and edit "linux-arm.mk"
$(combo_target)TOOLS_PREFIX := prebuilt/$(HOST_PREBUILT_TAG)/toolchain/arm-eabi-4.4.1/bin/arm-eabi-
    • Switch to $(ANDROID_BUILD/development/pdk/ndk/samples/sample directory and edit Makefile.lib"
ALIB  := $(PREBUILT)/toolchain/arm-eabi-4.4.1/lib/gcc/arm-eabi/4.4.1/interwork/libgcc.a
  • Compiling the Android build
    • Switch to $(ANDROID_BUILD) and build
$(ANDROID_BUILD) # make

NOTE:

  • The android build should be the latest build ( Android Donut Build )
  • The kernel can be downloaded from http://labs.embinux.org/index.php/Main_Page
  • In the root file system, comment the following lines in init.rc
    • service vold /system/bin/vold
    • socket vold stream 0660 root mount
  • This toolchain is tested on beagle