Sat 17 March 2012
android kernel profusion
Four weeks ago, from Februart 13rd to Februrary 17th I was at Android
Builders Summit and Embedded Linux Conference in San Francisco. I was a
bit busy these last weeks so I didn’t have an opportunity to write here
about the conferences as I usually do. I was going to do a post about
both the conferences, but after writing a little bit I realized it would
be very big. So I split in 2 and here is the one for
ABS 2012; the other
is coming soon.
This was my first time at Android Builders Summit. Since in the end of
last year I participated in a project modifying Android internals, I
felt it would be really good to be in touch with people doing the same
things and learn with them. Before going there I was already surprised
that Google was not sponsoring the conference, but there I was
astonished that there was nobody from Android’s team and I don’t
remember talking to Googlers, too. I don’t know what happened but it
would be really good for the next conference if Google could be part of
the conference since for the very nature of how they manage the project
they are the people pushing the platform forward.
In the first day of the conference Greg Kroah-Hartman, Tim Bird and Zach
Pfeffer answered the question “
Android and the Linux Kernel Mainline:
it’s done. Well, not totally done, but most of the code needed in kernel
is already in mainline: except for some pieces that render your device
useful it’s already possible to boot Android userspace with a mainline
kernel. I think the main point of this effort is to allow companies and
enthusiasts to use features from the mainline kernel and newer versions
than the ones available on AOSP. As the diff between mainline and
Android’s kernel decreases it’s much easier to deploy an Android device
with a different kernel. More details can be found
From the other talks I attended on the first day, the one that caught my
Bernie Thompson from Plugable talked a bit about the lack of proper
support in Android to deal with kernel modules: it’s really hard for
device maker companies like his own to have products working on Android.
And it’s not because they aren’t committed to developing Linux device
drivers but because of the lack of support in Android to easily deal
with kernel drivers: either the external device is supported by the
company shipping the Android product or there’s no way for example to
plug in an external camera and get it to work. Audience was a bit
confused saying that that was a Linux problem and some voices telling
that in Windows lands that doesn’t happen. Not true. Linux supports more
devices that any other operating system in the world, however Android is
currently missing some tools to profit from it. After some discussion
Bernie prepared some tables with USB Device Support
Workshop USB devices that people could hack on,
get it supported in Linux/Android, etc.
On the second day I attended
particularly because of my involvement with real-time since I graduated
at university and because I was curious about applying it to Android. As
I said one of the benefits of having Android kernel closer to mainline
is that it’s easier to do things like this. Wolfgang Mauerer from
Siemens applied the RT_PREEMPT patches to Android’s kernel so you could
have a real-time embedded system and still use Android’s app. As I was
expecting RT would be applied for native applications, not java based ones.
Topics in Designing An Android Sensor Subsystem: Pitfalls and
advanced talk about Sensors in Android and how one would choose one
strategy over another and the tradeoffs between battery life, sample
rate, external co-processor, DIY or license the algorithms used, etc.
It was not a talk for the regular Joe doing an app that uses the
Android’s Sensors API (that was what I knew about it) but more for
people creating devices that would like to use sensors.
It was a conference different from the conferences I’m used to attend
ELC/LinuxCon: there was very few people who I already knew and I
had the feeling that we were talking about a product from someone else,
not a product we were helping to develop - instead we were having talks
about how to hack a platform we do not own. In general I liked the talks
I could attend and talking to people at the corridors. They even gave me
some insights for my talk about kmod, later on Friday at ELC. I’ll talk
more about it on the next post.
For those wanting to see the slides/videos, Linux Foundation made them
go on and see for yourselves.