[GUIDE] Develop NOW! 3rd Edition - How To Build ROMs, Kernels, and MODs [Hercules]

Search This thread

Cl3Kener

Senior Member
Feb 4, 2013
71
7,001
Cleveland, OH
plus.google.com
Hey Everyone!

Well I have been getting great feedback/ideas for this manual. I plan on making a second edition here in the near future. I've noticed Jelly Bam is already out of date and some of the others will go out of date with the ushering in of 4.3. Due to the many changes that are occuring, I will probably just ride the wave for the next week or two and update the manual once everyone is building 4.3. Hope that is okay with everyone!

Currently I am only planning on updating the building guides to 4.3 and adding LiquidSmooth and Thinking Bridge. I also think I'm going to teach you how to customize your build outputs so that the can say whatever you want. I'll also teach you how to add init.d tweaks and build.prop tweaks as well. :) Don't forget let me know which ideas you have ASAP so I can incorporate them into the 2nd Edition. :)

Cheers!
Cl3Kener
 

JesusWazBlack

Senior Member
Apr 29, 2013
819
345
Nice! More reading material for me. I actually enjoyed reading you're first edition and I even built my own cm build
 

Florendroid

Senior Member
Feb 3, 2012
203
352
Vancouver
Hey Everyone!

Well I have been getting great feedback/ideas for this manual. I plan on making a second edition here in the near future. I've noticed Jelly Bam is already out of date and some of the others will go out of date with the ushering in of 4.3. Due to the many changes that are occuring, I will probably just ride the wave for the next week or two and update the manual once everyone is building 4.3. Hope that is okay with everyone!

Currently I am only planning on updating the building guides to 4.3 and adding LiquidSmooth and Thinking Bridge. I also think I'm going to teach you how to customize your build outputs so that the can say whatever you want. I'll also teach you how to add init.d tweaks and build.prop tweaks as well. :) Don't forget let me know which ideas you have ASAP so I can incorporate them into the 2nd Edition. :)

Cheers!
Cl3Kener

Good idea !! I'd be interested in building ROM which does not support the hercules. I believe it's the case for both LiquidSmooth and ThinkingBridge. so go for it man !! Thanks for your devotion. :good:
 

Cl3Kener

Senior Member
Feb 4, 2013
71
7,001
Cleveland, OH
plus.google.com
Hey Everyone,

I finally hashed out an updated rough draft of my second edition. I've updated the build guides and I've added another chapter with more info on how to customize your ROM. It's pretty basic but it does show once again that ROM building isn't all that hard. Here is the link https://docs.google.com/file/d/0B0etHDZ0uDPhV0FtbkVjZW83WGM/edit?usp=sharing

Let me know what you think!

Cheers!
Cl3Kener

Edit: I also failed to mention that I've updated a few pictures and changed things in almost every chapter so you might want to skim them too and see if you detect any errors
 

jeremyo83

Senior Member
Oct 7, 2009
177
58
London, Ontario
Hey Everyone,

I finally hashed out an updated rough draft of my second edition. I've updated the build guides and I've added another chapter with more info on how to customize your ROM. It's pretty basic but it does show once again that ROM building isn't all that hard. Here is the link https://docs.google.com/file/d/0B0etHDZ0uDPhV0FtbkVjZW83WGM/edit?usp=sharing

Let me know what you think!

Cheers!
Cl3Kener

Edit: I also failed to mention that I've updated a few pictures and changed things in almost every chapter so you might want to skim them too and see if you detect any errors

Very interested in looking through this, @Cl3Kener. No idea if I'll ever get to building or not, but I have a hunch this will give me a much better understanding of how things work under the hood and make my life as a flasher easier. Who knows, I might even try my hand at building. Work like this really encourages participation in development. Thanks for your effort. (and your ROMs, of course:cyclops:)
 

Florendroid

Senior Member
Feb 3, 2012
203
352
Vancouver
Thanks Cl3kener.

I wish I knew all that before starting Slim Halo because now my github looks like crap as I thought I needed to commit -m 'fix this' / commit -m 'fix that' everytime I was trying to fix build errors lol :p

Cheers man, looking forward to the next edition ;)
 

Cl3Kener

Senior Member
Feb 4, 2013
71
7,001
Cleveland, OH
plus.google.com
Op has been updated!

Now you have all of my 4.3 building guides. I also have that added chapter about building your own ROM. Thanks for those of you who found some typos. I read through and actually found a few more things I wanted to fix so I think it should be close to perfect. Anyhow, I hope you find this updated manual useful! :D If there is anything else you'd like me to cover in the next edition (which I plan on making for 4.4 Kit Kat, assuming our device gets updated by CM) make sure to post in this thread!

Cheers!
Cl3Kener
 

bmg002

Senior Member
Aug 21, 2012
614
213
Xiaomi Mi 5s Plus
Op has been updated!

Now you have all of my 4.3 building guides. I also have that added chapter about building your own ROM. Thanks for those of you who found some typos. I read through and actually found a few more things I wanted to fix so I think it should be close to perfect. Anyhow, I hope you find this updated manual useful! :D If there is anything else you'd like me to cover in the next edition (which I plan on making for 4.4 Kit Kat, assuming our device gets updated by CM) make sure to post in this thread!

Cheers!
Cl3Kener

I feel kinda silly asking this question, but are the steps for setting this up on an x86 system (ie 32-bit) similar to setting it up on a x64 system (with the exception of a few libraries needing to be forced to the x86 versions instead of the 32-bit specific ones on x64 systems)? I mean like lib32bz2-dev gets changed to libbz2-dev for example, but is it a lot of work getting this working on an x86 system? I don't want to try to get everything set up only to have it brick my phone because I'm not running a 64-bit system...
 

Cl3Kener

Senior Member
Feb 4, 2013
71
7,001
Cleveland, OH
plus.google.com
I feel kinda silly asking this question, but are the steps for setting this up on an x86 system (ie 32-bit) similar to setting it up on a x64 system (with the exception of a few libraries needing to be forced to the x86 versions instead of the 32-bit specific ones on x64 systems)? I mean like lib32bz2-dev gets changed to libbz2-dev for example, but is it a lot of work getting this working on an x86 system? I don't want to try to get everything set up only to have it brick my phone because I'm not running a 64-bit system...


Anything 4.x requires that you use a 64-bit Debian based system. Gingerbread was the last one that was built on 32 bit. (At least that is what I've heard) If you have an older processor that doesn't support anything but 32 bit then buy a new computer because I seriously doubt you can get it to work on a 32 bit system..... While you're at it, make sure it has a solid state hard drive. I'm building ROMs in like 50 minutes now that I have a solid state :)
 
  • Like
Reactions: Florendroid

bmg002

Senior Member
Aug 21, 2012
614
213
Xiaomi Mi 5s Plus
Anything 4.x requires that you use a 64-bit Debian based system. Gingerbread was the last one that was built on 32 bit. (At least that is what I've heard) If you have an older processor that doesn't support anything but 32 bit then buy a new computer because I seriously doubt you can get it to work on a 32 bit system..... While you're at it, make sure it has a solid state hard drive. I'm building ROMs in like 50 minutes now that I have a solid state :)

heh... it is an older machine, but it was free. I THOUGHT it was an x86 system, but apparently it is x64... so I just gotta re-download xubuntu and reinstall it. minor pain, but not enough to have me complaining too much :p
I like the tutorial for sure... saves me a TON of time from finding all the info manually, but that AET tool seems a little buggy... a lot of scripts are pointing to folders that do not exist... I may go through the scripts later tonight and see what I can do to tweak them up a little bit... after I install an x64 OS. Im anxious to try bulding my own ROM/Kernel... and read through more code to figure out how all the back-end magic happens :)
 
  • Like
Reactions: Cl3Kener

jason4962

Senior Member
Dec 18, 2011
1,031
161
NEW JERSEY
Just to make sure the first guide is 4.2.2 and second is 4.3 . Does this guide teach you how to built stock 4.1.2 roms? Anyone thanks

Sent from my SGH-T989 using xda premium
 

bmg002

Senior Member
Aug 21, 2012
614
213
Xiaomi Mi 5s Plus
Just wanted to say thanks again for the guide.I'm grabbing Pac man as a test of my system to see if it is set up properly or if I missed some steps. After I will probably start reading through the code to see what I can see... I love the guide. Without it I doubt I would have got my system set up at all

Sent from my SAMSUNG-SGH-T989 using xda app-developers app
 

ryancnap

Senior Member
Aug 3, 2012
231
25
Bloomsburg
ryancnap.net
the whole concept of forking and cloning confuses me. if one had a cm remote and a pa remote, and did git fetch -all (as per the example in the book) wouldn't you just have two different sources from two different roms..? another question..why clone my fork of the original repo if I'm already synced to the original repo? or were those two sections not intended to be done one after the other? so confused on this, can't seem to wrap my head around it from whatever I read. if anybody could set me straight on the matter I'd definitely appreciate it. this is the first piece I've read that made me understand git this far though! I learned more in the past fifteen minutes of reading this than I did all day.

Sent from my One using xda app-developers app
 

sa1tine

Senior Member
Dec 12, 2009
73
57
the whole concept of forking and cloning confuses me. if one had a cm remote and a pa remote, and did git fetch -all (as per the example in the book) wouldn't you just have two different sources from two different roms..? another question..why clone my fork of the original repo if I'm already synced to the original repo? or were those two sections not intended to be done one after the other? so confused on this, can't seem to wrap my head around it from whatever I read. if anybody could set me straight on the matter I'd definitely appreciate it. this is the first piece I've read that made me understand git this far though! I learned more in the past fifteen minutes of reading this than I did all day.

Sent from my One using xda app-developers app


if you wanted to make changes to the cloned repository you would not be able to push to the original repository.
 

ryancnap

Senior Member
Aug 3, 2012
231
25
Bloomsburg
ryancnap.net
if you wanted to make changes to the cloned repository you would not be able to push to the original repository.
so the correct way to go about things would be.. find the source I want to build on github. fork the repo with the default.xml, clone it to a working directory, repo sync, then make changes and upload them to my forked repo? what would happen when their were upstream changes (like changes to the original repo that I forked)..how would I go about getting those changes? sorry if I sound really stupid I'm just trying to understand .
 

sa1tine

Senior Member
Dec 12, 2009
73
57
so the correct way to go about things would be.. find the source I want to build on github. fork the repo with the default.xml, clone it to a working directory, repo sync, then make changes and upload them to my forked repo? what would happen when their were upstream changes (like changes to the original repo that I forked)..how would I go about getting those changes? sorry if I sound really stupid I'm just trying to understand .

github makes it pretty simple :)

https://help.github.com/articles/fork-a-repo
 

Florendroid

Senior Member
Feb 3, 2012
203
352
Vancouver
so the correct way to go about things would be.. find the source I want to build on github. fork the repo with the default.xml, clone it to a working directory, repo sync, then make changes and upload them to my forked repo? what would happen when their were upstream changes (like changes to the original repo that I forked)..how would I go about getting those changes? sorry if I sound really stupid I'm just trying to understand .

What I do when building slim :

- repo init
-repo sync

If you want to make changes to a particular repository ( for instance framework_base), what I did was fork that repo from slim to my github. You make the changes to your working directory ( cherry-picking or whatever), commit and push the changes to your forked repo. Don't forget to edit the default_manifest.xml and point it to your forked repo ( it will then sync the repo and fetch your forked frameworks_base repo instead of the slim one).

Edit : to update slim changes, add the original repo as a remote and git pull NameYouGaveToRemote branchYourWorkingOn to update your local repo and then git push to upload it to your github.
 
Last edited:
  • Like
Reactions: ryancnap

Top Liked Posts

  • There are no posts matching your filters.
  • 161
    Hey Everyone!


    By request from other overworked developers on this forum, I proudly present Develop NOW! - A Basic Manual to Help ANYONE Begin Android Development.




    Now you can learn how to build your own ROMs, Kernels, and MODs!!!!


    This manual is Primarily made for HERCULES T-989 and T-989D Owners! If you have another device you will have to change some of these instructions to your device name instead!


    Develop NOW! currently has 40 pages! From these pages you can learn…

    - How to set up an android build environment
    - Basic Development Terminology
    - How to build with Linaro
    - How to tweak ROM manifests to build your own ROM.
    - Cherry-picking
    - Forking
    - Cloning
    - Committing
    - Kernel building (Basic)
    - Flashable ZIP Creation
    - Starting you own ROM
    - LOTS MORE!!!!!




    For Everyone – Please try to post relative questions here. If you want verification that you have the correct xml string in your manifest this would be the place to post. If you run into weird errors as you follow the manual, this would be the place to post! If you want to let me know how grateful you are for this manual you can either 1) Join my Google+ Community and write a little thank you note there 2) Click “Thanks” below this post or 3) you can send me a dollar. (Nothing says thank you like I little tip once in a while)

    This manual is not copyrighted! PLEASE PLEASE PLEASE DO NOT STEAL IT AND TRY TO SELL IT!!! Download it for your personal use! Make sure to share it with your friends too by sending them to this thread! The more the merrier! Everyone can learn to develop!



    For Developers - If you are a Developer and think you have an easier way to perform any of the tasks I’ve described in this manual PM me. If you would like me to add one of your tutorials to my Additional Resources Chapter I’ll be more than happy to add you.





    Third Edition Download Links

    Second Edition Download Links (Guides for Android 4.3)


    First Edition Download Links (Guides for Android 4.2.2)



    Here is a link to my folder that contains all of the separate guides I've used to make these!



    Sources - I've listed the guides that have helped me in Post 3. Make sure to go and thank them!


    I hope you find the contents useful!
    Cheers!
    Cl3Kener


    XDA:DevDB Information
    [GUIDE] Develop NOW! 3rd Edition - How To Build ROMs, Kernels, and MODs [Hercules], a Tool/Utility for the T-Mobile Samsung Galaxy S II

    Contributors
    Cl3Kener

    Version Information
    Status: Stable

    Created 2013-09-08
    Last Updated 2014-01-25
    45
    External Links!

    Other Developers who have created some of the tools I recommend in this manual deserve your thanks as well!

    Go find all of these threads and thank the developers involved when you get a chance!!!



    Project Rookie -This has a guide for doing just about anything. Many items are specifically for Skyrocket but you can learn things such as MOD creation, Kernel Building, and other Advanced Customization. I would start reading here if I were you!

    Dsixda’s Android Kitchen - This is a tool that is very usefully for Signing files, unpacking boot images, and many more development things.

    AROMA - This was a guide made by CarvsDriver about Aroma.

    Creating a Kernel Build Script -Tutorial by Ayysir teaching how you can automate things such as kernel building with a simple bash script.

    Linaro Toolchains - This is the Linaro toolchain “hotspot” for discussion. You can learn more about linaro and ask question about building toolchains here.

    Flashable ZIP Creation
    - This tutorial by wilskywalker is much more detailed than my quick chapter on Flashable ZIPs. Read this if you really want to be a MOD guru!

    Bootanimation Creation - ayushrox gives a great guide here on making your own boot animations.


    If you encounter another great tutorial let me know and I'll post it here!

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~​
    42
    Thank you!

    Special Thanks to


    EDITORS

    @MovieGene

    @meekrawb

    @I Am The Frost


    Note: These are my main editors, Thanks to everyone that participated in my drafts!!!


    ORIGINAL IDEA

    @ThdDude



    SOME SCREENSHOTS

    @soccerfan6789
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~​
    17
    Hey Everyone!

    Well I have been getting great feedback/ideas for this manual. I plan on making a second edition here in the near future. I've noticed Jelly Bam is already out of date and some of the others will go out of date with the ushering in of 4.3. Due to the many changes that are occuring, I will probably just ride the wave for the next week or two and update the manual once everyone is building 4.3. Hope that is okay with everyone!

    Currently I am only planning on updating the building guides to 4.3 and adding LiquidSmooth and Thinking Bridge. I also think I'm going to teach you how to customize your build outputs so that the can say whatever you want. I'll also teach you how to add init.d tweaks and build.prop tweaks as well. :) Don't forget let me know which ideas you have ASAP so I can incorporate them into the 2nd Edition. :)

    Cheers!
    Cl3Kener
    11
    Hey Everyone,

    Good news!

    I've almost completed Develop Now 3rd Edition. To make it more generic I cut out the building section and have been adding either more details or more tricks I've picked over the past few months. I will be posting soon but first I wanted to share with you a post I made showing an example of how I use bash scripts to compile kernels. Make sure to thank Ayysir while you're over visiting his thread. Here is the link to the bash script tutorial http://xdaforums.com/showpost.php?p=49684209&postcount=4

    Cheers!
    Cl3Kener