Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I know it's a very big question to ask :), I'm just asking out of curiosity. Is it possible for someone to build a phone OS? Can someone guide me through this please. For example, how to choose a H/W and how should you test your code, is it possible buy some device (eg HTC) and just try the code with it? The good thing here is Linux Kernel is there so one won't start from scratch.

share|improve this question

closed as not a real question by hotpaw2, Tim Post, Mark Trapp Dec 8 '11 at 4:16

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

    
Getting anything onto an actual usable phone is going to be difficult. I'd try something more like a tablet OS. (The Nook Color will boot off a micro-SD card, so that might be worth considering.) –  David Thornley Dec 7 '11 at 22:24
    
Are you talking about developing the entire OS or just a new presentation layer on top of an existing kernel? –  Bernard Dec 7 '11 at 22:25
    
build UI on top of an existing Kernel. –  Dorie Dec 7 '11 at 22:28
    
beagleboard based, port touchscreen drivers to your distro of choice, strip out unnecessary stuff, decent starting platform. i'm working on a project like this and it's all about choosing OSS hardware or hardware with OSS drivers that I don't have to dev myself. –  hbdgaf Dec 8 '11 at 0:50
    
Hi Dorie, as you said yourself, this is a very big question to ask: unfortunately, it's too big of a question for Stack Exchange. If after doing your own research there are specific questions you'd like to ask about parts of your project, feel free to ask those. –  user8 Dec 8 '11 at 4:17
add comment

1 Answer

In short: hardly possible, unless you restrict yourself.

Google "OpenMoko" and "Neo FreeRunner", learn from their extremely open platform. Maybe reuse parts of it.

I suggest that you don't want to develop a kernel of the OS, but rather adapt an existing OS for smartphone use and create the userland somehow akin to iPhone's or Android's. This alone is a giant task.

While it is certainly possible to build a phone OS by personal effort, it will take so much time that the OS is going to be long obsolete by the time it's usable. A group effort is preferable in this very fast-paced field.

Also, state your goal. Building a "phone OS" for academic purposes is one thing. It takes simplicity, transparency, small list of conceptions well demonstrated. Developing a commercially usable "phone OS" is totally different: it needs hardware adaptability, maintainability, heavy (and probably ugly) optimizations, very serious UI work.

Commercial hardware is mostly closed, and getting specs requires money and signing of NDAs. This limits the ability of enthusiasts to target off-the-shelf smartphones; it yields to reverse-engineering sometimes, sometimes it doesn't. Take a look at Cyanogen and Android modders community in general. They have a mature open-source software stack (Linux, Android) already targeted for phones, and phones developed with this stack in mind. It still takes significant efforts to create a custom build for a particular phone. Doing this with your own immature stack should prove much harder. Address the Neo instead :)

share|improve this answer
1  
The Pandaboard was designed specifically to facilitate mobile software development. Perhaps the OP would be interested in using this? –  Sedate Alien Dec 7 '11 at 23:50
    
WOW, Pandaboard looks amazing, I'm really thinking of buying one and mess with it :). –  Dorie Dec 8 '11 at 17:54
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.