1

I hope this is the right place to ask this.

I would like to work on an Android build with a completely custom OS. I was inspired by this project that ported Inferno to Android.

I would like to do this legally (obeying all terms of service and what-not) if possible, and I have no problem with disclosing my source code to a carrier.

Do any of you have experience with this? What are the considerations for getting a custom build to work with a carrier?

Since I am building on Android, I probably won't have to worry about cell/3g/4g hardware drivers, and I would like to buy a phone from the carrier anyway just to make sure it will be supportable.

beatgammit
  • 19,817
  • 19
  • 86
  • 129
  • I noticed a close vote on this question. Is there a better place to ask this sort of question? – beatgammit Apr 03 '12 at 04:25
  • I think xda-developers.com might be a better fit for this question. I agree with the closevote, this is at least *overly broad*. You can certainly write a book about builing a custom ROM if you want to include all the details/experience, which is too much for a simple StackOverflow question. Also this might end up in *extended discussion* - which is another close reason (not constructive). Generally you should be able to select an answer and mark it as correct. This will hardly be the case here, you will get multiple answers that help you in one or more ways instead. –  Apr 03 '12 at 07:33
  • I tried to make the question specifically about getting a custom ROM to work with carriers. I want it legal, so that they won't cut my service for hacking their towers. I was mostly looking for blog posts or experience with this (I know there are plenty of ROM hobbyists). Thanks for the note about xda-developers, looking into it. I was thinking it was `too localized`, haha... – beatgammit Apr 03 '12 at 09:58

2 Answers2

3

I'm one of the creators of the Inferno project you mentioned. Anyway, making a completely custom OS for an Android phone will be difficult; a lot of the hardware will be undocumented or only drivable by Linux binary blobs. What we did (and what Boeing has also done recently for a commercial project) is strip away all the Java from an Android system, leaving a basic Linux upon which you can build your own custom interface. This lets you use all the hardware (since the drivers are in Linux), but everything that the end users see will be your stuff. There are a variety of ways to go from there. Inferno implements a virtual machine, so we can abstract the Linux stuff into our own Inferno-style world.

I don't think there should be any problems with the carriers. We started with a Cyanogenmod ROM and hacked on that; custom ROMs are just fine! I never had any problems, even when I was swapping my little pay-as-you-go SIM card among several phones running Gingerbread, ICS, and Inferno.

John
  • 443
  • 4
  • 13
2

Head over to the AOSP source, and clone it. Strip out what you don't need in your branch and begin the kernel patching! You'll need to modify the kernel in portions to make it compatible (fairly) with the device you're on. The Android kernel is in fact a very close cousin of the Linux Kernel, and in Linux 3.3, they've begun merging the two. After this is done, write your interfacing mechanisms (be it a display, web interface, etc) and you can test it out on your platform.

Aditya Vaidyam
  • 6,259
  • 3
  • 24
  • 26
  • I'm excited to get started, but I'm a little worried about getting it working on a carrier. Is this sort of thing possible to get working legitimately with a carrier? – beatgammit Apr 03 '12 at 04:27
  • Of course! That's how custom ROMs roll. Have you checked out XDA Developers yet? Full of stuff you'd love to see. Many experienced android kernel devs and ROM devs. They'd be glad to help you out. – Aditya Vaidyam Apr 03 '12 at 06:24