Re: Android Debian - Lets start Debian for Android hw phones
(and this is why i love nvidia stuff)
On Mon, Mar 21, 2011 at 11:55 PM, shawn wilson <firstname.lastname@example.org>
On Mon, Mar 21, 2011 at 5:16 PM, giovanni_re <email@example.com>
Let's start the "Debian distro for Android capable hardware phones".
What are the first steps we can easily take, to get started on this?
1) Talk about how to do it on this email list.
2) Put something on www.debian.org web page about beginning to work on
3) Create a mailing list for "Debian for Android Hw".
4) Send some thoughts in reply to this email, & to the new mailing list.
5) Make a wiki page for "Debian distro for Android capable hardware
first, nice research. i'd like a hardware linux kernel on a phone because i don't like java and i'd love to get these devices to do cool things (these are great, cheap little computers that i can almost afford to throw around).
so, here's where i'd go:
boot loader - someone put android on an iphone a while ago. you should go look at that code and figure out how it should be modified. android based hardware should be more open (just because of the type of community). however, it might be possible to bypass this step and use the android boot loader or something someone else has programmed to load roms - donno.
kernel - you're going to need to figure out the differences between kernel options between the upstream linux and android. then figure what you need for your linux and what you just can't have because of the hardware.
drivers - you'll probably want to start out with just the wifi driver. that way you could get in with ssh and see what you have. after this, a video driver would be very useful. then you might want a bluetooth network and stack along with a keyboard driver. etc
applications - if you want to use this for more than a tethered box (this is beyond my use case) you'll need some apps. i don't know how far gtk or qt (or tk) have gotten with touch screen pointers and gesture. however, assuming they have, you'll need an on screen keyboard (shouldn't be too hard). then you'll need to customize your apps - you're not going to want your web browser to pop up with an inch worth of toolbar crap for instance.
oh yeah, forgot to mention that you'll probably have to recompile libraries.
however, you probably just want to start with a popular processor and go from there. i couldn't find much about putting linux on devices with the snapdragon processor (which sucks because i want this on older phones i can get for <$100), but..... nvidia does have this:
... this is why you're not going to get an 'android debian' - you're going to get a 'nvidia tegra debian', a 'qualcomm snapdragon debian', an 'apple a4 debian', etc. your boot loader is likely to be different based on architecture, library binaries will have to be recompiled, and you'll need different drivers based on hardware (most of which will probably require some pretty complex reverse engineering as i don't think these people are that open about their hardware).
so, my suggestion: read through that nvidia stuff or do more research on boot loaders for mobile devices. find some smart people over at xda and the iphone dev team (the processes for doing this are likely to be quite similar). also, start looking for old android phones on craigslist or in your newspaper. you're going to need them. you'll probably brick a few in this process (you might figure out how to recover them, but...). oh and, i'd strongly recommend against just trying to throw things at your primary phone. you're probably going to end up dropping at least a grand on this project (but you'll end up with a bunch of old - and possibly bricked - phones :) ).
and, let us (me) know what you find. this might be an interesting thing to do, but i'd want to know what's involved in order to get linux booting first. ie, this might be above my head and i'd like to know a bit more before i spend time and money (i'm not doing this to my evo) on this process.
ps - i could be wrong with the boot loader, it might be as simple as compiling a kernel, boot strapping the libraries, and shoving it into a squashfs rom image. in which case, you should only need one spare device until you start programming drivers and write a register that you shouldn't have (hehe, fun).