So to paint a picture.. I am an enthusiast of all things Android. I’ve been an enthusiast since the very first days of Android’s public release. So over time I’ve grown to know what I’m dealing with when it comes to modding my phone’s operating system. Zip flashing is easy. It’s when you get down to modding system files that it gets a little more complicated.
If you have rooted your phone, you will know that all the apps you can download from the play shop that utilize root access, also come with a “I’m not responsible if this bricks your phone!” warning. So you have to have a lot of faith in the developers that produce these apps.
Now if you like ROM flashing / always having the latest build. Then the idea of your own ROM is probably just as appealing. So where do you start? Where did I start?
If you’re Windows through and through.. it’s time for a change. Linux is the operating system of choice here. My choice of distribution was Ubuntu, as it has the most community support and is very n00b friendly. I have played with Ubuntu lots now.. because of having a RAID hard disk setup I was forced too. The standard install doesn’t work for RAID, a lot needed doing to get it right for me. After about 5 or 6 complete re-installs, I finally got it right.
So what’s next I thought? Lets have a try at the Android source.. just for giggles! So what source to start with?? Well the obvious choice here is CyanogenMod. It is an excellent base, and is well documented and supported. This is when I stumbled into Fattire’s guide for building on the HP TouchPad. This has been an excellent resource for me. The comments in the forum are from people doing the same thing as me, so they help to debug build issues. And the guide itself allows for user comments, which can be good for tips etc.
So following the guide.. I did all the usual git init, repo sync, make bacon and all that. Sorry bout the geek speak, but all will become clear if this is a path you choose. Wadda y’know.. It built! First time! I WAS AMAZED! This says a lot for the clarity and the ease of use of these guides. Any problems I had were solved with a quick Google search. I must stress though, this is where you need to kind of know Linux a little. You may need to be slightly inventive to solve issues that are unique to you. I only had a few.. and managed to sort them.
So my zip is ready. I tried it just to test, and it worked fine! What now?? Where do I start?? What do other people do??
In my experience, the quickest way to change a ROM is to change the kernel. Handily, further down Fattire’s guide, there is also instructions on how to compile and configure the CyanogenMod kernel. Awesome!! So I set to making a kernel with a slightly higher overclock. CM is built to be stable. But I want speed!
Following all instructions, again, it built fine. I then included it into my ROM.. and again it worked fine! I had now produced something slightly different to CyanogenMod, but with my own touch! It really was that easy!
Having been on Twitter, telling people about it. Someone suggested I should release it. So I thought, “What the heck, I’ll try it”. So I started a thread at xda-developers here, making sure I told people that I’m a n00b to this kind of thing. Please don’t flame me, and so far.. no-one has!
I have learned a few things about customization now. This is really down to people on Twitter and the forums helping me. It has turned into quite a ROM, with quite a following! Don’t get me wrong though.. when you really get into customizing the ROM.. you will likely break lots of things. I have had to start fresh a few times. It is frustrating.. a lot! But the rewards have been knowledge and 10 bucks of donations! I have also had well over 3000 downloads now too.
I’m learning more all the time! I have so much on though.. with the business I run, looking after my boy, AND writing articles. I hope the guys on XDA keep being as patient with me!
So my conclusion to this article. If you know Android fairly well, have an interest in making your own ROM and want to get to know Linux more – dive in! The tutorials are very good for most devices on CyanogenMod. If you find a good forum to post your wares.. the support is amazing!
I am grateful I can give back to a community that gives so much!