android on beagle/OMAP35x?

Hi,

I am looking into the possibility to port Google Android on
beagle/OMAP35x-based systems. I found this page
http://elinux.org/Android_on_OMAP where it explained that there might
be complications on TLS of ARM cortex. A user report link was there
quoting not-so-successful. Meanwhile I learned that in Boston there
will be a demo soon showing Android on beagle
(http://www.cmp-egevents.com/web/escb/beagleboard). If possible, could
anyone give any hints/suggestions on this topic? It'd be great if
someone could share some experience actually porting Android to
OMAP35x.

Thank you.

Weihua

Hi,

I am looking into the possibility to port Google Android on
beagle/OMAP35x-based systems. I found this page
http://elinux.org/Android_on_OMAP where it explained that there might
be complications on TLS of ARM cortex. A user report link was there
quoting not-so-successful. Meanwhile I learned that in Boston there
will be a demo soon showing Android on beagle
(http://www.cmp-egevents.com/web/escb/beagleboard). If possible, could
anyone give any hints/suggestions on this topic? It'd be great if
someone could share some experience actually porting Android to
OMAP35x.

Thank you.

Weihua

Porting? Does that mean you have the android sourcecode to work on? Or
do you mean "patching binder into the kernel"?

regards,

Koen

Sorry for the wording. I mean making android source code to work on
OMAP35x, not patching the binder.

Thanks!

Re-read the mail, much sorry about the confusion the newbie created earlier...
I'd like to see if one can boot up android on omap35x hardware. I read
http://elinux.org/Android_on_OMAP, my understanding is that kernel
source + patch + a proper FS would do, though not sure about the TLS
issue. Would like to poll if there's a work-around for that, or any
experience regarding making android run on beagle.

Any suggestions/hints are appreciated.

I've already ported the android kernel to beagleboard(2.6.22) with
full android kernel m5_rc20 patches,
and I can boot from android emulator with appropriate kernel config
(goldfish and qemu). I think this steps
will make sure the kernel is okay. But now, I have some problem with
android file system.

I do the following test (refer to "Android on OMAP" article):
1. boot from the startard file system(ext2) of beagle board and switch
the control to android system.
   I meet "segmemntation fault" while executing the "/init" command.

2. apply yaffs2 file system on /dev/mtdblock4, and copy the android's
stuff to it. After that,
   modify the boot argument (root=/dev/mtdblock4 rootfstype=yaffs2
init=/init ...), but the boot procedure
   stop at the following point.
... ...
<6>yaffs: dev is 32505860 name is "mtdblock4"
yaffs: dev is 32505860 name is "mtdblock4"
<6>yaffs: passed flags ""
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.4, "mtdblock4"
yaffs: Attempting MTD mount on 31.4, "mtdblock4"
VFS: Mounted root (yaffs2 filesystem).
VFS: Mounted root (yaffs2 filesystem).
<6>Freeing init memory: 132K
Freeing init memory: 132K

   it seems to be the "/init" issue as well. (I make sure that I can
beagleboard file system on yaffs2)
I have no idea about it, and i can't go on. any suggestion is
applicated.

I've already ported the android kernel to beagleboard(2.6.22) with
full android kernel m5_rc20 patches,
and I can boot from android emulator with appropriate kernel config
(goldfish and qemu). I think this steps
will make sure the kernel is okay. But now, I have some problem with
android file system.

I do the following test (refer to "Android on OMAP" article):
1. boot from the startard file system(ext2) of beagle board and switch
the control to android system.
   I meet "segmemntation fault" while executing the "/init" command.

2. apply yaffs2 file system on /dev/mtdblock4, and copy the android's
stuff to it. After that,
   modify the boot argument (root=/dev/mtdblock4 rootfstype=yaffs2
init=/init ...), but the boot procedure
   stop at the following point.
... ...
<6>yaffs: dev is 32505860 name is "mtdblock4"
yaffs: dev is 32505860 name is "mtdblock4"
<6>yaffs: passed flags ""
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.4, "mtdblock4"
yaffs: Attempting MTD mount on 31.4, "mtdblock4"
VFS: Mounted root (yaffs2 filesystem).
VFS: Mounted root (yaffs2 filesystem).
<6>Freeing init memory: 132K
Freeing init memory: 132K

   it seems to be the "/init" issue as well. (I make sure that I can
beagleboard file system on yaffs2)
I have no idea about it, and i can't go on. any suggestion is
applicated.

android-is-now-open-source since Posted by Jason Chen on 21 October
2008 at 7:58 AM

http://android-developers.blogspot.com/2008/10/android-is-now-open-source.html

source.android.com

I'm compiling the code right now !

kap

Hi All,

We have successfully ported (custom) open source Android to beagle
board. This is very initial version. We have tested it on MMC card
and on NFS.
Please find below link for uImage and root filesystem.

http://embdroid.homeftp.net/ANDROID.tar.bz2

You can watch Beagle board booting Android here:-
http://in.youtube.com/watch?v=3cetZMUWBHY

I will get back with more details and update very soon.
Enjoy Androing...

Regards,

Rupesh Gujare wrote:

Hi All,

We have successfully ported (custom) open source Android to beagle
board. This is very initial version. We have tested it on MMC card
and on NFS.
Please find below link for uImage and root filesystem.

http://embdroid.homeftp.net/ANDROID.tar.bz2

Hello,

thanks for the image. I have some trouble to run it on my BB, could you give us the u-boot command line needed?

Regards,

Vladimir

setenv bootargs console=ttyS2,115200n8 rw ip=off root=/dev/mmcblk0p2
mem=128M devfs=mount rootdelay=1 init=./init

I' using this argument for the booargs. But I'm having problem with my input
devices. What kind of input devices did you use for this kernel?

I think the kernel doesn't support USB keyboard and mouse.

Do you use touch screen as the input device? If so, may I know where to buy
it?

Thank you

Hi,

thanks for the image. I have some trouble to run it on my BB, could you give us the u-boot command line needed

u-boot command line:-

console=ttyS2,115200n8 root=/dev/nfs rw
nfsroot=192.168.128.4.5:/nfs/root/fs ip=192.168.128.1.1::255:255:255.0
nolock,rsize=1024,wsize=1024 rootdelay=2 video=omapfb:mode:1280x720@50
init=/init

Regards,
Rupesh Gujare

http://embinux.com

I cannot use the keyboard and mouse on beagle board too.

I think it's not compiled to use USB

Johnny You 游文洲 wrote:

setenv bootargs console=ttyS2,115200n8 rw ip=off root=/dev/mmcblk0p2
mem=128M devfs=mount rootdelay=1 init=./init

thanks I will try this, but for the moment I am not at my BB...

I' using this argument for the booargs. But I'm having problem with my input
devices. What kind of input devices did you use for this kernel?

I connected USB hub + kbd + mouse, but I never saw anything on the LCD
at all.

I think the kernel doesn't support USB keyboard and mouse.

I see some USB messages

Do you use touch screen as the input device? If so, may I know where to buy
it?

no TS here...

I just got Android running (Yay!), but also cannot use my mouse and
keyboard. In your working demo, do you have mouse and keyboard
working or do you use another form or input device?

Thanks.

Can we download the kernel and filesystem source code for beagleboard and
compile it ourself?

Hi Jeremy,

just to make clear:

did you install annother OS prior to Android?
  - Have keyboard and mouse be working then?

if not - are you using a high-speed hub (must use) ?

regards,
   A.d.T

Jeremy schrieb:

Hi Jeremy,

Android does not have support for mouse. It supports only keyboard, touchscreen and trackball.
Besides I did not find any code in Android for handling mouse device events and mouse cursor.

Jesslyn

Ref: http://groups.google.com/group/android-internals/browse_thread/thread/aee6b4a03c37dba2/19b7a5dff86a994a?hl=en&lnk=gst&q=mouse#19b7a5dff86a994a

Just found out that you can use a usb mouse as 5-way joystick rather than as a “Mouse device”. There will not be any mouse cursor. You just need to change the permission of the event node for the mouse device. You can move the move the mouse gently in all directions as well as left-click as “select”

Jess

did you install annother OS prior to Android?
  - Have keyboard and mouse be working then?

I've been able to use the USB keyboard and mouse on Angstrom quite
well

Android does not have support for mouse. It supports only keyboard,
touchscreen and trackball.

Then can I use the keyboard arrows (or other keys) for navigation?
What sort of touchscreens are supported? Do you know if the USB
touchscreen that is built into the Lilliput screens (http://bit.ly/
Mg2F) would work?

Thanks!