[Q] Creating my own ROM - Galaxy S II Q&A, Help & Troubleshooting

So im a not so newbie here and have picked up a fair knowledge of all the basics etc for my sgs2. Now its time to learn how to create my own ROM. I have played with dsixda rom kitchen and feel reasonably comfortable with that, with sucess' and failures lol.
Can anyone guide me to the software, links to good threads that will help get me started. Self learning from there on.....

I take it you have checked out this thread?
http://forum.xda-developers.com/showthread.php?t=1272270

killall said:
I take it you have checked out this thread?
http://forum.xda-developers.com/showthread.php?t=1272270
Click to expand...
Click to collapse
yes ive use the kitchen and wouldnt say maximised its full potential but am looking to get more involved. Thankyou

I would suggest you download a public ROM repository to start working with, such as CM7 for example, to be able to touch any aspect of the ROM as well as learn the structure, compiling options, etc.
Check Cyanogen Wiki the page of Building from Source to get the full repo for it.
The source should build without problems, then once built, you can start tweaking and adding/removing things from it. This would be a port of CM7, but there are many other public repositories to start from, but CM7 has the most documentation about it.
If this is too hard for what you're looking for, I don't really know if there is an intermediate step between ROM Kitchen and this one...

AzureusPT said:
I would suggest you download a public ROM repository to start working with, such as CM7 for example, to be able to touch any aspect of the ROM as well as learn the structure, compiling options, etc.
Check Cyanogen Wiki the page of Building from Source to get the full repo for it.
The source should build without problems, then once built, you can start tweaking and adding/removing things from it. This would be a port of CM7, but there are many other public repositories to start from, but CM7 has the most documentation about it.
If this is too hard for what you're looking for, I don't really know if there is an intermediate step between ROM Kitchen and this one...
Click to expand...
Click to collapse
thanks for your reply, i will have a look into this and see how i get on.
thanks again

Related

How do you make a ROM from source?

I've had a look around and I can't see much information on this.
Is there a decent guide, or can anyone post some information on how one would go about compiling a Froyo (or any other release) build from source?
I'm not daunted by the technical complexity and I have no problem putting together a VM to build in and in fact, I did that to build Chrome OS not too long ago.
From what I can see I would just create a git clone of the latest code branch and compile it, although it looks like I would also need some drivers. Where would I get these from?
Would my newly compiled image need to be signed somehow before I could install it?
I have a general understanding of what I need to do, but there are some gaps in my knowledge
Hope this helps,.... Pulser pointed me towards it,... I haven't had a go myself yet as I've been busy,....
Have fun,....
[How to] Rom cooking
MrHorus said:
I've had a look around and I can't see much information on this.
Is there a decent guide, or can anyone post some information on how one would go about compiling a Froyo (or any other release) build from source?
I'm not daunted by the technical complexity and I have no problem putting together a VM to build in and in fact, I did that to build Chrome OS not too long ago.
From what I can see I would just create a git clone of the latest code branch and compile it, although it looks like I would also need some drivers. Where would I get these from?
Would my newly compiled image need to be signed somehow before I could install it?
I have a general understanding of what I need to do, but there are some gaps in my knowledge
Click to expand...
Click to collapse
http://source.android.com/source/download.html
ddotpatel said:
Hope this helps,.... Pulser pointed me towards it,... I haven't had a go myself yet as I've been busy,....
Have fun,....
[How to] Rom cooking
Click to expand...
Click to collapse
Thanks - that was pretty much what I was looking for.
I'm a bit pressed for time as well recently, but hopefully I can try a build at the weekend.
MrHorus said:
Thanks - that was pretty much what I was looking for.
I'm a bit pressed for time as well recently, but hopefully I can try a build at the weekend.
Click to expand...
Click to collapse
As a matter of fact, you've got an example how to compile for dream/sapphire on the android source website.
Read up.
Thread Moved to Q&A.
well that guide
well that guide is not for building aosp roms is it ?

[HELP]Android Development

hi guys,in the past i made a rom for my wm 6.5 device ,now i want to develop custom ROM's for my Mini,what are the sites/topics that i must see? what are the fundamental things that i must know?how hard it is?is there a Kitchen like in WM?there are REPOS like in WM for specific phone DPI?who is the rom structure?
I had already talked about this in another post so im just going to copy paste it out of laziness:
Some links
Start by going through source.android.com for the general basics if you havent already.
Also, even though Google removed the PDK (Platform Developer's Kit) from the site, it has been mirrored on kandroid here: http://www.kandroid.org/online-pdk/guide/index.html
The stuff in the the PDK, although inadequate, is still very important and explains how to create the necessary makefiles to add to the build, configuring for a new market, etc. etc.
Also,
watch these two videos over here. These were very helpful in my ROM development:
http://www.youtube.com/watch?v=1_H4AlQaNa0
http://www.youtube.com/watch?v=rFqELLB1Kk8
Learn to use github. It is helpful for you to keep track of your changes as well as incorporate others works into your own.
http://help.github.com/
Finally, Cyanogenmod repos are your BEST friend. Almost all major AOSP ROM devs owe some sort of thanks to those guys who have done so much. If you want to check out some of the code changes and patches that you want to incorporate look here on their gerrit:
review.cyanogenmod.com
If you want to look at the other changes that are actually in the cyanogenmod builds, best to look at their git repos here:
https://github.com/CyanogenMod
I am still learning right now while I create my ROM but your welcome to PM me if you have any questions
Click to expand...
Click to collapse
As for kitchens, there are a bunch of them.
For theming, there is UOT: http://uot.dakra.lt/
For HTC based phones (+ some others), there is dsxida: http://forum.xda-developers.com/showthread.php?t=633246
For others, just search the chef threads.
If you want to learn true ROM development, dont use kitchens. Study, study, study from the links above and the source code. Learn to make custom modifications in code. This will give you a much deeper understanding of how everything works.
If you want to just edit, add apps, and repackage them, then kitchen will be easy and clean.
As to how hard is it? If you're gonna work with source and do significant changes, then it will be difficult (as documentation is slim to none) but very satisfying. Like cyanogen said in the other sticky, learn how regular android apps interact with the system. Create a few test apps and go from there.
Hope I helped

Build own Custom-Rom

Hello XDA-Developers,
I'm 16 Years old an I'm from Germany so please excuse my Gramma mistakes etc.
After the release of Jelly Bean there ist only one thing in my Head: learn how to develop
my own custom rom based on Jelly Bean for a Device which havent got get an update
till now.
It would be nice if someone give me advice how to start developing my own Rom. It would be
nice to know how I can start developing an how I can insert WiFi or Graphic Drivers from an older
(official) Rom to my own Rom.
I'll be happy if you can give my some advice for getting started to be a real XDA-Developer.
Greetings from Germany,
Sascha
Find a book on Linux Kernel/device driver development and read it. Build your kernel, make some modifications. Find a device similar to yours and start porting. We can't give you a step by step or do stuff for you. If you have a question about a specific item, error, feature, or bug then ask about it, but we can't do much with these "how do I start developing" questions. Just read kid that's all I can say.
I highly recommend following this guide and building the "hello world" app. If it doesn't work properly the first time, start from scratch and rewrite it again and again until it works. That's what I did and it really helps you gain a basic understanding of XML and java.
http://developer.android.com/training/basics/firstapp/index.html
Check out some of the various guides on this website as well. I highly recommend reading the "introduction to edify language" which is used for coding updater scripts. I had problems at first with the updater script and I had to decompile other roms and check out their updater scripts in order to gain a proper understanding.
http://www.freeyourandroid.com/index.php
This is also a good guide to check out, it's about building your first app as well but significantly more detailed than googles guide. I haven't read the whole thing myself yet but am in the process of doing so. It's good to have an understanding of how to code apps as well since it helps you understand XML and java which is also needed for ROM development, and makes it easier in general to get a grasp of various coding languages.
http://www.vogella.com/articles/Android/article.html
Also decompile some apps/tweaks/roms for your particular device and check out the code. For example I compared the stock rom for my phone to an AOSP build of ICS just to check out the different code and study it. It's very interesting and a good way to learn. PM other devs in your devices forums if you have questions or get stuck somewhere, that's exactly what I did and the devs were very helpful.
Good luck learning and have fun!

Attempting to start developing

Im going to try and start to develop for the Rezound. Iv decided that I would to take on JB head on, i know its very unlikely that I will make a stable JB rom but i want to try at least, I have the SDK and jb source already i just dont know where to start with JB, if anyone could help that would be great thanks.
I think Joel has JB booting.
The best place to start is modifying other ROMs with the android kitchen. Gives you a feel for how things work.
GrayTheWolf said:
I think Joel has JB booting.
The best place to start is modifying other ROMs with the android kitchen. Gives you a feel for how things work.
Click to expand...
Click to collapse
Nope. jonman www.github.com/JB1tz
I knew it was jo-something.
Good luck! Glad to see you're getting your feet wet.
Looking forward to your JB ROMs in the near future.
The Beeb
Building from source is a lot different than building a kitchen ROM but as Wolf said you might want to start there to at least learn a few things and the program is pretty easy to learn. The kitchen requires a functioning ROM to build from so not sure you could do JB. The AOSP website has a lot of information about building from source but you'll find the directions they give are for building for the nexus devices. AOSP is strictly for Linux or MAC (maybe windows under a virtual machine) and is pretty straight forward for getting it setup, I used Ubuntu 12 but getting a Linux box setup is as far as I took it as I got bored of it all. One of the devs here should have a github repository for JB and maybe you can join in on that or find some instructions on how to use the JB source you have to build for the Rezound. I would contact wildstang83 he's a pretty friendly guy who likes to help. Also get on IRC and start asking questions.
AOSP for setting up a build environment:
http://source.android.com/source/initializing.html
Android Kitchen:
http://forum.xda-developers.com/showthread.php?t=633246
kzoodroid said:
Building from source is a lot different than building a kitchen ROM but as Wolf said you might want to start there to at least learn a few things and the program is pretty easy to learn. The kitchen requires a functioning ROM to build from so not sure you could do JB. The AOSP website has a lot of information about building from source but you'll find the directions they give are for building for the nexus devices. AOSP is strictly for Linux or MAC (maybe windows under a virtual machine) and is pretty straight forward for getting it setup, I used Ubuntu 12 but getting a Linux box setup is as far as I took it as I got bored of it all. One of the devs here should have a github repository for JB and maybe you can join in on that or find some instructions on how to use the JB source you have to build for the Rezound. I would contact wildstang83 he's a pretty friendly guy who likes to help. Also get on IRC and start asking questions.
AOSP for setting up a build environment:
http://source.android.com/source/initializing.html
Android Kitchen:
http://forum.xda-developers.com/showthread.php?t=633246
Click to expand...
Click to collapse
Thanks for all the info, I have linux mint and as far as i can tell everything is set up
gearlo said:
Thanks for all the info, I have linux mint and as far as i can tell everything is set up
Click to expand...
Click to collapse
Then you're pretty much at were I left off setting up my linux box. I was going to try building for the GTab 7+ and there is a github repository for it for CM9 and CM10. Was just starting to learn how to connect to it when I lost interest. There is supposed to be some type of tutorial on the github site but I couldn't find it. I am also not sure if you need eclipse installed or not to use it. This is where you would need the help of a dev or someone else who's set up a linux box. I also didn't see a github for JB for the rezound but I also didn't look all that well just did a quick search.
wildstang, joel, newtoroot, nilsp I know build from source, or at least they did for the incredible, so they would be good sources of information and I know they've helped others in the past so don't mind pm's.
https://github.com/
Here's a tutorial I found on building from source might be some useful info there:
http://www.xda-developers.com/android/compiling-from-source-the-easy-way/
Here's a tutorial for AOKP:
http://forum.xda-developers.com/showthread.php?t=1810297
Maybe antp or wolf would help you setup too as I noticed their posts in the AOKP build forum?

[Q] Road to developing?

Hey guys,
so this is applicable to all devices and its android specific therefore I think this is the best place to ask these question/s. I learned coding with Python for a few months last year and really enjoyed it. Now I am thinking since I have an android phone that is claimed by most "unbrickable" and I am probably stuck with it for another year I decided to learn android programming and contribute to this awesome community and hopefully make my phone awesome myself. Before I can do all that I have a few questions. Most of the development guides I saw after google searching, referred to how to create apps ( now I know there are guides to creating roms here). If I learn with those guides how to make apps will it be a similar process when I wan't to make custom roms? Also how to start? Start with Java SDK, with eclipse? Point to some guides plox
early thanks
There are guides for building apps... and guides for building ROMs... but AFAIK, guides for customising ROMs don't really exist... ROM customisations are generally just done following the API or using someone's work as a reference point....
craigacgomez said:
There are guides for building apps... and guides for building ROMs... but AFAIK, guides for customising ROMs don't really exist... ROM customisations are generally just done following the API or using someone's work as a reference point....
Click to expand...
Click to collapse
I think I worded that wrong. I know there are guides for building apps and building roms but I was asking If I use one of those guides to build app + learn to build app using a book or something will it help me build roms later? And for the custom rom thing, I meant like theres hellfire ics cm9 then theres eaglesblood ics cm9 for same device but by different people so I when I said custom rom I mean like my own ics cm9. but anyway thanks for your answer.
First and last bump
Making ROM's is different then making apps, while the skills you learn using Eclipse and Java JDK will only teach you Java, XML and ADB at most, when making ROM's you need to know many different things. While you can make custom ROM's with little programming experience to be a true master of making custom ROM's you need to know Java and XML, for modifying and creating your own custom apps you can include in your ROM, C and C++ for tweaking the kernel to truly optimize performance, Shell for creating scripts to automate tasks and performing other functions in your ROM, Photoshop/GIMP for image editing and creation in order to customize the look of your ROM, as well as patience to debug any problems you may run into and a couple other skills as well.
If you want to learn how to compile CM9 check out these guides:
[TUTORIAL]Setting up and compiling CM9/CM10 from source
Galaxy Nexus (GSM): Compile CyanogenMod 9 (Linux) It's for the Galaxy Nexus but it's still a very good place to start with to learn how to compile CM9 from source.
For learning basic customization of ROM's check out these great videos:
Let me know if you still have questions .
shimp208 said:
Making ROM's is different then making apps, while the skills you learn using Eclipse and Java JDK will only teach you Java, XML and ADB at most, when making ROM's you need to know many different things. While you can make custom ROM's with little programming experience to be a true master of making custom ROM's you need to know Java and XML, for modifying and creating your own custom apps you can include in your ROM, C and C++ for tweaking the kernel to truly optimize performance, Shell for creating scripts to automate tasks and performing other functions in your ROM, Photoshop/GIMP for image editing and creation in order to customize the look of your ROM, as well as patience to debug any problems you may run into and a couple other skills as well.
Okay that makes sense. So if I learn to make apps since thats what most guides are, I will learn to work with JDK and XML but creating ROMs requires much more knowledge. I am okay with just being able to compile source codes/porting roms from similar devices and what not. I am pretty decent with Photoshop so thats a win Thank you sir
Click to expand...
Click to collapse

Categories

Resources