Porting Android to the GTA04 OMAP board running Linux 3.2

103 views
Skip to first unread message

Paul Kocialkowski

unread,
Apr 3, 2012, 8:55:19 AM4/3/12
to android...@googlegroups.com
I am the current lead developer of the Replicant project, which aims to
provide a fully free Android version for a bunch of devices (mostly
Google phones).

Recently, I obtained a GTA04 device, which is actually an OMAP-powered
replacement board for the GTA02/Openmoko Neo FreeRunner phone, in order
to provide newer hardware in the same spirit as the Neo FreeRunner
(basically, providing the first phone running fully free software on
CPU). GNU/Linux ports to the GTA04 have already started and Replicant is
in charge of porting Android (we are CyanogenMod-based though) to the
GTA04.

There is a stable 3.2 kernel[1] that most GNU/Linux distributions are
using and that we wanted to use for Android too. Though, we didn't find
any official Android-enabled 3.2 kernel so we are wondering what to do.

I guess people here can give good advices to help us figure out the best
way to do things. Android repos[2] provide 3.0 and 3.3 kernels with
Android parts. We have already started to backport Android commits
regarding adb and usb composite from 3.3 to the 3.2 kernel[3] but it
doesn't work well: see [4] and host dmesg output [5].

I have the same problem when importing linaro's omap 3.2 androized
kernel commits[6].

I couldn't tell what the problem exactly is here but adb doesn't
recognize the device and neither does lsusb. Though, if I disable
Android USB gadget, USB networking works just fine.

[1]:
http://neil.brown.name/git?p=gta04;a=shortlog;h=refs/heads/3.2-gta04
[2]: https://github.com/android/kernel_common/branches
[3]: https://gitorious.org/replicant/kernel-gta04
[4]: http://download.paulk.fr/replicant/gta04/adb-3.2-usb.txt
[5]: http://download.paulk.fr/replicant/gta04/adb-3.2-dmesg.txt
[6]:
http://git.linaro.org/gitweb?p=landing-teams/working/ti/kernel.git;a=shortlog;h=refs/heads/linaro-androidization-3.2

--
Paul Kocialkowski, Replicant developer

Replicant is a fully free Android distribution

Website: http://www.replicant.us
Wiki/Tracker: http://redmine.replicant.us

Christoph Mair

unread,
Apr 5, 2012, 4:31:01 PM4/5/12
to android...@googlegroups.com
Hi Paul,

I'm not sure if my last comment got sent, so I try it again:


On Tuesday, April 3, 2012 2:55:19 PM UTC+2, con...@paulk.fr wrote:

There is a stable 3.2 kernel[1] that most GNU/Linux distributions are

I guess people here can give good advices to help us figure out the best


way to do things. Android repos[2] provide 3.0 and 3.3 kernels with
Android parts. We have already started to backport Android commits
regarding adb and usb composite from 3.3 to the 3.2 kernel[3] but it
doesn't work well: see [4] and host dmesg output [5].


The merge branch [1] contains a 3.3 kernel. It's not stable and widely used yet but this might change.
It could provide an easier start if you already have an android enabled 3.3 tree.

Thanks for your efforts,
  Christoph

Paul Kocialkowski

unread,
Apr 6, 2012, 3:15:34 PM4/6/12
to android...@googlegroups.com
Le jeudi 05 avril 2012 à 13:31 -0700, Christoph Mair a écrit :


> The merge branch [1] contains a 3.3 kernel. It's not stable and widely
> used yet but this might change.
> It could provide an easier start if you already have an android
> enabled 3.3 tree.
>

Yeah, I know that official android tree provides android-specific source
for 3.0 and 3.3 kernels. Though, I was lucky enough to find some 3.2
android kernel from linaro, so I reused the commits. It built nicely but
adb still didn't work. After some investigation, I discovered that the
android usb gadget code was changed a lot and some dev and sys nodes
were removed/renamed (like /dev/android_adb_enable
and /sys/class/usb_composite/*). As a result, I wrote a compatibility
layer to bring these back and let Gingerbread's adbd start.

The code is hosted at: https://gitorious.org/replicant/kernel-gta04
Related commits are:
* 291f4525f5c62a059369eed1504d167254ab783f
* eaee729fff9eaed296bc14a073d1c791c1bd13c7
* b9f1131a04848e27d3cf1f1fab87f985606b71c3
* f351d607050d7ca0bc45ed2f4c5434d64809d681
* e641cfb8fa14fcbc8e33058e9ba837a81a506183

I sure have inserted badly-written code at some point, but I corrected
it and at the end, I think what I wrote is clean enough to be reused.

Reply all
Reply to author
Forward
0 new messages