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
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.
>
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.