Monthly Archives: January 2013

Android – Just pull out the fork already

broken_veer

As mentioned in this post, I have an HP Veer cell phone that I bought last year when we were in the States on furlough. Despite (or maybe because of) a 2.6″ display and tiny keyboard, I’ve found it a joy to use, but its operating system, WebOS has one major drawback. Apps-wise, it’s dying.

My wife has an LG P500 with half the Veer’s RAM, a fraction of its flash, an ICS ROM that the good fellows over at AOKP have managed to hack together, and an up-to-date version of Skype, Whatsapp and any other app she desires. I, on the other hand, have a version of Skype that doesn’t log in unless I reset my user information, an impressive but buggy implementation of Whatsapp that seems to suck the ole’ power out of my phone, and a small list of apps that’s slowly but surely shrinking.

Over the Christmas holidays, I thought I would see what it would take to get some form of Android on this phone. There seem to have been a couple of attempts, but no source code that I could find, which brings me to my first complaint.

<rant>
What is up with Android ROM developers who take thousands of man-hours of somebody else’s work, add a few hours of their own, and then act as if they’ve invented the wheel and they need to keep it top secret? Maybe it’s the fact that I’m coming from the Fedora community where the concept of working as a team is an ideal even if it doesn’t always happen in fact, but the isolationist attitude I see in the different Android communities is quite depressing. I believe it’s one of the main reasons that participants in the Android community can be quite harsh with each other, much harsher on average than I see in the Fedora community.
</rant>

So I go to AOSP, download the platform and build it with no problems. Yay! Then I need to get the kernel source. From where? I start with https://android.googlesource.com/kernel/msm.git. There are four branches, three which are supposedly 3.0 or 3.4 JB kernels. And I can’t compile any of them. Some of the problems are configuration issues (the config.gz from WebOS’s 2.6.25 kernel is only a starting point), but there are also simple typos that are preventing compilation. Not exactly confidence-inspiring.

I decide to check out Cyanogenmod’s kernel, but it looks like it hasn’t been touched in forever. A closer look at Cyanogenmod’s github repository shows 10… no 20… no a hundred kernel forks for various devices? And all this brings me to my second major complaint.

<rant>
Why on earth do we need a different kernel fork for each device? All I want to do is build straight from kernel.org. Is that so wrong? When will the forking stop?
</rant>

Seriously, though, forking the Linux kernel to build it for your device seems a bit overkill, but it’s par for the course for the Android community. Is there any way to get this stuff back upstream? Or at the very least, could AOSP (or possibly Cyanogenmod) use one “official” kernel tree with patches sent back from these forks?

Anyhow, now I’m off to see if I can get one of the Cyanogenmod kernel forks to build. I’m sure I saw one in there for a msm7x30 chipset. Maybe I’d be better off just waiting until I can get a Nexus 4. Happy new year, everyone!

Edit: A couple of weeks ago, I got a Samsung Galaxy S3 Mini, as they are available and cheaper here in Lebanon than in the States. It may not be the best phone out there, but it’s a great size and easily does everything I need. Goodbye WebOS. It was nice knowing you.

Advertisements