Moto Hell - The Motorola Modding Community
January 27, 2022, 01:04:17 pm *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: The forum is no longer active and registration is disabled; however you can still fetch everything as guest.
   Home   Help Facebook Search Calendar Login Register  
Pages: [1] 2   Go Down
Author Topic: Android 2.1 on Motorola rokr E2 !!!  (Read 24204 times)
« on: February 20, 2010, 02:34:59 pm »

Are you want??
Android 2.1 on Motorola rokr E2


« Last Edit: February 20, 2010, 02:42:08 pm by mrbmoto » Logged
Cool guy
PHD modder

Karma: 57
Offline Offline

Posts: 2215

ROKR User (Not the zombie)

View Profile
« Reply #1 on: February 20, 2010, 10:31:15 pm »

great Smiley
Can it apply to another Linux phone? E8 or EM30?

Plants vs. Zombies
Indonesian Motolover
PHD modder

Karma: 61
Offline Offline

Posts: 2562

View Profile WWW
« Reply #2 on: February 21, 2010, 12:28:05 am »

Do you port it? How to deal with touchscreen on android?

Anyway, yes we want... Smiley

Best regards,
Jeffri H.


Karma: 1
Offline Offline

Posts: 5

live is simple... just 'TRY' and 'SMILE'... x_x

View Profile
« Reply #3 on: February 21, 2010, 02:29:56 am »

mmmh... how to install it on rokr e2? sorry 4 my bad english...

« Reply #4 on: February 21, 2010, 09:31:25 am »

yes! we want it! Wink
« Reply #5 on: February 22, 2010, 11:29:08 am »

Android E2
« Reply #6 on: February 24, 2010, 02:01:08 pm »

Come man..
« Reply #7 on: February 24, 2010, 10:12:14 pm »

finally,,,this is what I'm waiting for...E2 is alive again
Indonesian Motolover
PHD modder

Karma: 61
Offline Offline

Posts: 2562

View Profile WWW
« Reply #8 on: February 25, 2010, 02:05:40 am »

I don't get what this thread means...

Is that you have able to run Android on E2?

Best regards,
Jeffri H.

« Reply #9 on: February 25, 2010, 10:02:13 am »

I thought he was asking an expert to make Android 2.1 running on E2.
« Reply #10 on: February 26, 2010, 05:53:06 am »

Porting Android to A1200
  Page 1
Android Porting Guideline for A1200
  by 2008.08.05
1.  Prologue
Now more  and more Google  android  fans  start  to  port  Android  to  the  real  HW.  The  earliest
successful android porting is achieved on Zaurus; later Android also run on OMAP based N810.
And some developer ported Android onto PXA270 development board. 
As we know, Motorola A1200 MING serial EZX PDA phones use Intel XScal-PXA270 application
processor and Linux 2.4.20 kernel. After some investigation, it is fully possible to port android onto
A1200 phone.
This  document mainly  describes  the whole  porting  of  android  on  A1200.  For  general  Android
knowledge, please refer to the relative documents.
2.  Porting Android to A1200
Actually, porting Android is to port Google android kernel to the target (the real hardware) and let
Android root file system can work with android kernel together on the target hardware.   
Google provides android root file system with the form of binary and android kernel with the form
of source in Android SDK. For Android root file system, we can easily extract it from Android SDK.
But for Android kernel, we need to consider how to port it to our A1200.
There are  two approaches  for us  to do porting android kernel  to A1200. A) Porting all android
driver specific changes  into A1200. B) Upgrade A1200 kernel  to 2.6.x  then add android driver
specific changes. It is obvious that we need to do more work if we use approach A) since Android
kernel is based on 2.6.23 but A1200 kernel is 2.4.20.
If we choose approach B), we need  to upgrade A1200 kernel  to 2.6.x. Fortunately,  there  is one
open source project called OpenEzx which can help us to upgrade A1200 kernel to 2.6.x easily .
This document describes the detailed procedure to port Android on A1200 through approach B).
2.1 Android Kernel/Root File System
You  can  get  the  latest  Android  SDK  kernel  source (android-emulator-m5-rc14.tar.gz)  from  the
below link
Android Root File System is provided by Google with the form of binary (EABI compatible) in SDK,
you can download it from
In  order  to  get Android  specific  patch  against  the  specific  2.6.x  Linux  kernel,  you  need  to  diff
Android  SDK  kernel  with  the  official  2.6.23  kernel  and make  clear  all  Android  driver  specific
changes. I have made one Android patch set for Linux 2.6.24 and provide it in porting package.  Porting Android to A1200
  Page 2
For Android Root File System, you may need  to  take some  time  to build  it. You need  to extract
three images (ramdisk.img, system.img and userdata.img) provided in SDK  to build up your root
file  system.  You  can  refer  to  the  relative  part  of  Android  on  OMAP
Since  there  is no existing workable root  file system for A1200,  I build up one new Android NFS
Root File System with busybox toolkit and Android SDK by myself. As for NFS Root File System
building up,  I will not explain it more detail here, you can find many documents about it from the
internet. I also provide Android NFS Root File System in porting package.
2.2 SW/HW environment requirement
After  we  prepare  Android  kernel  and  Root  File  System, now  let  us  list  all  the  software  and
hardware requirements:
2.1.1 Software requirement
Linux host:   
You can use any popular Linux environment (like Redhat, Fedora, etc) as you like.   
Since Android Root System provided in SDK was compiled with ARM EABI compatible compiler,
we must use ARM EABI  compatible  tool-chain  to  compile  our  kernel. You  can  download ARM
EABI compatible too-chain from the below link:
Note:  arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.tar  is  what  you  shall  download,
DON’T download other tar files.
Patch tool:   
In order to upgrade our A1200 kernel, we need to add OpenEzx 2.6.24.x- patchset. OpenEzx use
quilt tool to maintain patches. You can get this tool from   
USB Boot:   
This tool developed by OpenEzx is used to boot up kernel via USB cable, you can get the latest
version (0.2) from the link
Busybox 1.1.3:   
Just like what I mentioned as above, I made Android NFS Root File System with busybox. During
my porting, I use busybox 1.1.3 version. I attached busybox config file in package what I used for
your reference.
2.1.2 Hardware requirement
We only need one A1200 phone and one standard USB cable for android porting. Porting Android to A1200
  Page 3
Now it is time to start our detail porting procedure.   
The below is my environment setup:
Linux Host: VMwareStation + TurboLinux 10
Tool-Chain: arm-none-linux-gnueabi- tool chain is installed in /home/arm-2007q3 directory.
Patch tool: quilt tool is installed in /home/quilt -0.46 directory
USB Boot tool: I compiled and put it under /home/testKernel/ezx_usb_boot 
I created /home/android directory for kernel and /home/android_nfs directory for Android root file
2.3 A1200 Android Porting Procedure
1)  Unzip Linux-2.6.24 kernel tar file (linux-2.6.24.tar.bz2 ) to /home/android/linux-2.6.24
You can download linux-2.6.24.tar.bz2 from
2)  Create patches directory under  /home/android/linux-2.6.24 and copy all  the  files  in OpenEzx
patchset folder
3)  Apply OpenEzx patches via cmd ‘quilt push –a’ under /home/android/linux-2.6.24.
4)  Apply  the  following  android  patches  via  cmd  ‘patch  –p2 <../  ***.patch’  under
/home/android/linxu-2.6.24 directory:
u  android-core.patch
u  android-config-nfs.patch
u  android-a1200-pcap.patch
u  android-a12000-16bpp.patch
u  android-framebuffer.patch
u  android-touchscreen.patch
Note: You can apply these patches without considering the order, but applying these patches must
be done after openezx patch is applied successfully.
5)  Modify the CROSS_COMPILE variable in Makefile.openezx of OpenEzx patchset as follows:   
PHONES = a1200   
CROSS_COMPILE ?= /home/arm-2007q3/bin/arm-none-linux-gnueabi-
Here  I put  tool chain under  /home/arm-2007q3 directory. You can modify according  to your  tool
chain directory.
6)  Compile  our  android  kernel  via  cmd  ‘make  –f  patches/Makefile.openezx  under
/home/android/linux-2.6.24 directory.
After about half an hour,  the kernel and modules were compiled out successfully. You can see
zImage-a1200 and modules-a1200.tar.gz under /home/android/linux-2.6.24 directory.
Now we can start Android via NFS:
A.  Unzip android_nfs_root-m5-r14.bz2 in porting package to your specified directory.
Note: This directory must be same with the specified directory in kernel cmd line parameter of
defconfig-a1200. Here I use /home/android_nfs directory. Porting Android to A1200
  Page 4
B.  Unzip  modules-a1200.tar.gz  generated  in  the  compile  phase  to  the  same  directory  with
android_nfs_root-m5-r14.bz2. This tar was unzipped to /home/android_nfs/lib directory.
C.  Insert USB cable into A1200 and let phone enter MBM flash mode (red screen)
D.  Boot kernel via usb_boot tool under /home/testKernel via cmd ‘./ezx_usb_boot zImage-a1200’
After kernel  is uploaded  to A1200, you will see kernel  is booting up from A1200 LCD (many
kernel info is scrolling up).   
E.  After  several  seconds,  telnet  into A1200 phone  from  terminal of  Linux  host  via  cmd  ‘telnet
F.  Run ‘./init’ execute after telnet into phone, you will see Android string
G.  Run ‘/system/bin/runtime’, after a while, you will see the exciting red eye cycle always running
from left to right.
Again after about 2 minutes, you will see the familiar Android desktop. Then you can start Android
application (Dialer, Map, Browser, etc) via touch screen. Certainly, if you modify kernel CMD_LINE
parameter in defconfig-a1200 to let Android start from SD card, Android startup procedure can be
speed up.   
Currently,  I modified Android keypad mapping  to  let Camera hard key as Make call key and VR
hard key as End call key. You can click A1200 center select key of 5-direction navigation key  to
return to Android desktop.   
Note: You can change kernel CMD_LINE parameter of defconfig-a1200 easily to generate MMC
card version kernel, certainly you also need to modify /etc/init.rc file of Android root fi le system.
3.  Current status & known issues
Now  android  can  run many EZX  phone  like E680/A910/A1200. Here  is  the  current  status  and
existing issues:
l  Android can boot up normally (Android string display, red eye cycle running, android desktop
l  Touch screen can work on A1200/E680 basically
l  Hard key (VR, Camera, Center select hard key) can work partially on A1200.
l  Several major applications (Dialer, Map, Brower, Contacts) can be launched from UI.
l  Audio does not work.
l  LCD display color is incorrect on A1200/A910 since A1200/A910 use 18 data pin physically
for LCD panel, but Android root file system use 16BPP.
l  Although Touch screen can work, still need calibration.
l  Some other hard keys still don’t work.   
4.  To do next
l  Let BP MUX work on A1200
l  Implement RIL (Radio Interface Layer) shared library to make GSM call
l  Make Android audio work on A1200
l  Make hard keys on A1200 work fully (if available) Porting Android to A1200
  Page 5
l  Touch screen calibration (if available)
l  Fix A1200 LCD display color issue (not whether it can be fixed)   
5.  Some tips
l  When building Android  root  file system by  yourself, several critical dev nodes  (/dev/binder,
/dev/log/main, /dev/log/radio, /dev/log/event) must be created correctly.   
l  If your touch screen does not work, you should check whether touch screen driver is assigned
to event1 via ‘cat /proc/bus/input/devices’ which Android application use /dev/input/event1 to
get touch driver info.
l  You can modify /system/usr/keylayout/qwerty.kl file to change Android key mapping.   
l  You can use strace to debug during your porting.
6.  Reference
[1] OpenEZX homepage -
[2] Google Android homepage -
[3] Benno’s engineering Blog -
[4] Android on Zaurus - 
[5] Omegamoon Blog
7.  Deliverable   
Except this porting guideline, I also attached some deliverables in porting packages, the below is
deliverable list:   
1) – OpenEZX patchset for 2.6.24-x.
2) – android specific patches including   
¸  android-core.patch
¸  android-config-nfs.patch
¸  android-a1200-pcap.patch
¸  android-a12000-16bpp.patch
¸  android-framebuffer.patch
¸  android-touchscreen.patch
3)  android-nfs-root-m5r14.bz2 – Android NFS root file system package.
4)  android_nfs_kernel – Android test kernel
5)  modules-a1200.tar.gz – Android test modules package
6)  busybox.config – busybox config file for NFS root file system.
Firstly  thanks OpenEzx  project  very much,  it  is  this  project which makes  porting Android  onto
A1200 possible. Meanwhile  I’d  like  to give great  thanks  to Zhang Alex who provided source of
android-a1200-pcap.patch, as well as Cortez who provided source of android-framebuffer.patch.
« Last Edit: February 26, 2010, 05:58:36 am by mrbmoto » Logged
Graduated modder

Karma: 53
Offline Offline

Posts: 629

Sabar... Sabar...

View Profile
« Reply #11 on: February 26, 2010, 06:19:38 am »

E2 have no touch screen. All android phone have touch screen. It will be difficult to port. CMIIW.

Indonesian Motolover
PHD modder

Karma: 61
Offline Offline

Posts: 2562

View Profile WWW
« Reply #12 on: February 26, 2010, 07:05:33 am »

I think I have tried that before on E2 about a year ago. As far as I remembered, I failed to use the guideline to run Android on E2. I remember to get into the state to boot the kernel, but going nowhere after that.

Best regards,
Jeffri H.

« Reply #13 on: February 27, 2010, 06:43:12 pm »

Sorry, is that android used like firmware? Or just phoneware?
« Reply #14 on: February 28, 2010, 02:25:13 am »

E2 have no touch screen. All android phone have touch screen. It will be difficult to port. CMIIW.

well, some java touchscreen apps can be ported, but yes its difficult to use it like dosbox and emulated-windws os...
Pages: [1] 2   Go Up
Jump to:  

Design By Forum Hosting
Powered by SMF 1.1.21 | SMF © 2015, Simple Machines