Hello, I would like to create my own update.zip that would be compatible with clockwork mod. I have several files in several locations that I manually copy over after new installs like multicolored bash nano iwconfig iwlist etc. And I think it would be much easier to create a installable package for that, I also delete a number of built I. Apps like tweeter amazon etc. And I have seen the scripts inside oyhers update.zip's that I could add the bash commands to remove those things as well.unfortunately I know nothing about what clockworkmod wants and I see binarys inside these zips dont know if those are customized for each zip or the same in all of them, I dont know what files or information is absolutely required. The best possible solution is if I had a blank update.zip that held all of the required files settings and all I needed to do was add my files and asd a few lines to a preexisting script to remove sum stock apps.thinking back I might have seen a file containing all the files names and md5 chucksums for each as well which if necessary I can do. Is there something like this available for download sumwhere? If not ajy resources to learn the required information and find the required binarys.thank you in advance.
Sent from my Droid using Tapatalk
Hi,
I've been trying to learn the same thing. I'm curious if you found anything useful since posting this.
Of course, if I find anything, i'll post back here too.
Thanks.
Same problem here
Good to hear someone with same problems. I want to create a generic ROM for myself and I want to use ClockworkMod to help flash it instead of using fastboot.
Well, I have found no documentation about what ClockworkMod may need for a zip file.
But I guess it could be possible to just replace them with your own by downloading an existing zip file created by someone else.
I'll try it to see if that works or not. Of course, a documentation would be better.
I regularly flash a new CM7 Nightly as they are released and I have to manually modify some things each time a new rom is flashed. I change screen density and add a notification ringtone that CM7 does not have. I wanted to automate that. Since I have to reflash the Google Apps each time anyway, I thought why not modify the gapps zip to include my changes. After searching the web I found a little info about how to do it. I just modify the zip on my computer using WinRar, copy the file to my device and re-sign the package using signapktic which is free on the market. Then flash using CWM. It worked great. No more manual adjustments. There are some instructions here which helped me:
http://forum.cyanogenmod.com/topic/15030-moving-apps-to-system/
I been getting into the kitchen
http://forum.xda-developers.com/showthread.php?t=633246
So far i`ve managed to integrate a few apps , ringtone should be easy
next the fonts from utmost rom
thanks to the kitchen, Im now running at script kiddie level
I would like to learn how one can change the kernel/modem in a ROM's zip BEFORE flashing it. I often use the Entropy Kernel after I flash a new ROM. The Kernel has a zimage file. How do I incorporate it into the zip? Same for modem file.
Thanks in advance.
NeoMustain said:
I would like to learn how one can change the kernel/modem in a ROM's zip BEFORE flashing it. I often use the Entropy Kernel after I flash a new ROM. The Kernel has a zimage file. How do I incorporate it into the zip? Same for modem file.
Thanks in advance.
Click to expand...
Click to collapse
Whats worked for me:
First get 7zip if you are on windows
Open the kernel zip with 7zip move the redbend_ua and zImage into this location (rom name here).zip/updates
For modem do the same, open up the modem zip with 7zip, and then move the modim.bin into (rom name here).zip/update
You may need to delete the redbend and zImage already in the rom, but just overwriting it with the new ones should work
Once the new kernel/modem is copied over, just put it on your sdcard and you should be able to flash it without any problems
Sent from my SAMSUNG-SGH-I997 using XDA
or just the zimage...since the ua is same...
Never tried it without doing the ua when it came to the kernel, but it does make sense since i never moved the ua when ever id move the modem
Sent from my SAMSUNG-SGH-I997 using XDA
The ua is universal on all roms... its just an installer for the modem and kernel ... no need to change it. If the rom already has it then just replace the zimage and your good.
Sent from my SAMSUNG-SGH-I997 using xda premium
I request some experienced sr. member to comeup by posting new thread covering some of topics like safely adding and removing apks, libs. Fonts, apps, wallpapers, kernel. Modem etc. in Rom's zip with little flavouring. It will help new member to start some development work.
Thanks guys ... 1 more small step
hey can anyone give instructions on fixing RIL bug...it would be so much helpful...thnx
Building Your Own ROM
This took forever. Please hit the thanks button if this helped you lol
I'm the Developer who's currently working on Delta ROM, and I developed Vengeance ROM all the way through Version 3.2. I've had MANY people message me asking how they can develop their own ROM, so, instead of helping everyone individually, I've decided to make a guide for the whole community to use. The preliminary part of this guide will take you through getting a base using two methods, giving your ROM it's own name, debloating your ROM, adding the kernel of your choice, and editing build.prop and adding init.d tweaks.
Future posts will include everything from adding Aroma Installer to adding mods.
So with that, let's begin.
Building A Base
Building from a stock, rooted, de-odexed base WITHOUT the kitchen (recommended):
Downloading and moving the Base
This is how I create my ROMs. Other developers along with myself have found that Dsixda's android kitchen can create issues with your ROM (namely the updater-script), so building from an already existing base is always the safest in my opinion.
First, we will need to get a base. There are many different versions out there, however, they almost are all the exact same. I use Scrosler's base for my ROMs. You can find his base, along with the stock Modem, RPM, and kernel with custom boot animation support here.
Download Scott's base, and extract the files within the ZIP archive somewhere on your computer. I recommend creating a development directory somewhere on your computer.
I work on Mac OS X, so my development directory is in my home folder under /dev.
In Windows, this sample directory would be in C:\\Users\YourName\Dev
Linux is similar to OS X. I recommend placing your Development directory in ~/Dev (~/ is your home folder's directory)
Of course, you can place these files wherever you want this is just how I have my computer set up.
_________________________________________________________________________________________________________________________
Building a base WITH the kitchen (not recommended due to incompatibilities and time consumption):
Downloading and Installing the Kitchen
This will teach you how to create a base of your own using Samsung's ODIN file and Dsixda's Kitchen.
First of all, you must download Dsixda's Kitchen. Luckily, the Verizon S3 is supported by the kitchen, so BUILDING your base using the kitchen is practically painless. Getting the kitchen running is difficult at times, and you may run into issues later. If you want to evade these issues, I suggest building your ROM from an already existing base. If you don't want to do that, keep reading . The kitchen can be downloaded from here. Just click on the latest version, and press the button with the cloud and the word "ZIP" to download the repo as a zip file. Keep that somewhere on your computer...
Setting up the kitchen is a different story. It's relatively easy on Mac and Linux, but because the kitchen is designed to run in UNIX environments, it's a little bit tougher on Windows. You can find a guide for setting up the kitchen here.
Adding The Odin Files for the Kitchen To Compile
The next step to compiling a base using the kitchen is to take Samsung's files, and add them to the kitchen folder. This is pretty simple. Download the VRBLK3 Stock ODIN from here (thanks open1your1eyes0).
Extract the files to the original_update folder in your kitchen folder.
Building Using the Kitchen
Finally, we're ready to build your base using the kitchen. Start the kitchen by navigating to your kitchen folder in terminal (or command prompt through Cygwin on Windows), and typing "./menu" on mac and linux, or just typing "menu" on Windows.
Option 1 within the kitchen should compile a base ROM for you. You can then root, deodex, zipalign, and change the name of your ROM, and much more, from within the kitchen.
When you're done, option 99 will compile your ROM and move a ZIP file to your OUTPUT_ZIP folder within your kitchen folder.
_________________________________________________________________________________________________________________________
Renaming your ROM
Renaming your ROM is very simple. After building your base, unzip the files and navigate to /system/build.prop. In the build prop, find the line that says "ro.build.display.id=". Replace the rest of the text on this line with your desired name. Save your build.prop. Thats it
Debloating Your ROM
Debloating your ROM is fairly simple as well. The list of removable Apps on the S3 can be found here (thanks to whoever made this, you are a god lol). This is a list for the international version of the S3, but most of the files are the same and MOST Verizon Apps can be removed as well.
Just delete the apks that you want to remove from your /system/app folder within your ROM files.
Init.d Tweaks
Init.d tweaks are scripts that allow your ROM to execute certain actions upon boot. For example, in my Delta ROM, I have an init.d tweak that zipaligns all apks upon boot.
While this guide won't cover creating your own init.d tweaks, adding them is simple. Take the init.d script that you find somewhere online, and simply drop it into your /system/etc/init.d folder. That's all.
Be aware that a lot of people make claims for their tweaks like "best RAM management tweaks" whn posing the tweaks in another device forum. For example, if you found a thread with the "best RAM management tweaks" in the Galaxy S forums, those tweaks are probably not good for our device since we have more available RAM than they do. Overall, it's best to DO YOUR RESEARCH and design your own scripts.
Build.prop Tweaks
Build.prop tweaks are lines added to your build.prop file within /system. They can do many things, and many of them improve performance and battery life on your ROM. A simple list of build.prop tweaks can be found here (Thanks for the new link, upndwn4par). Please note that not all build.prop tweaks out there will work for your device. Just add the lines that you want to add to the BOTTOM of your build.prop file, and save it.
Adding a Custom Kernel
When I first started building ROMs, one of the things that I couldn't figure out was how to add a custom kernel to my ROM. It's actually very simple. Find the kernel you want, download it, extract the zip file, and copy it's files into your ROM in the right locations. For example, you would replace the boot.img in your ROM with the boot.img from your custom kernel, and you would replace the modules in your /system/lib/modules folder with the module files from the kernel. Continue doing this until all of the kernels files are in your ROM. However, NEVER copy over the META-INF folder.
Flashing Your ROM
This is pretty simple. Simply compress your ROM files (boot.img, system folder, Meta-inf folder, and anything else) into a regular ZIP file, move the ZIP to your phone, boot into recovery, wipe data, cache, and dalvik cache, and flash your ROM.
If you did everything right, you should now be running your ROM Hopefully my guide helped you. Feel free to message me if you run into any issues or just have any general questions.
There is much more to development than just this. But this is meant to get you guys started
KANGING
Do NOT, I repeat DO NOT, take anything from another developer's ROM without his/her permission. This is called kanging, and it is extremely frowned upon and even rude because another Dev has spent A LOT of time slaving over the work, and then you take it and use it as your own. I can't speak for other Devs, but if you want something from my ROM, just ask. I'm a pretty open-minded guy, and chances are that I'm gonna say yes.
Credit
Always give credit where credit is due. If a developer helped you out in any way with your ROM, it is always courteous to include them in the credits section of your ROM.
Thanks guys
reserved
this is mine too
Re: [GUIDE] Edgehood's All Inclusive ROM Making Guide
First
Thanks I think I'll give it a go.. the best Rom is your own I suppose. .when your adding in some of your init.d when do find weather they will work properly? Is there a program to run your rom on with windows pc or ubuntu before flashing perhaps?
I would like to get Reim's builds props and such(with all do respect)
Nice!!! Thanks for this. You da man!
Sent from my SCH-I535 using xda premium
Edgehood said:
Building Your Own ROM
This took forever. Please hit the thanks button if this helped you lol
I'm the Developer who's currently working on Delta ROM, and I developed Vengeance ROM all the way through Version 3.2. I've had MANY people message me asking how they can develop their own ROM, so, instead of helping everyone individually, I've decided to make a guide for the whole community to use. The preliminary part of this guide will take you through getting a base using two methods, giving your ROM it's own name, debloating your ROM, adding the kernel of your choice, and editing build.prop and adding init.d tweaks.
Future posts will include everything from adding Aroma Installer to adding mods.
So with that, let's begin.
Building A Base
Building from a stock, rooted, de-odexed base WITHOUT the kitchen (recommended):
Downloading and moving the Base
This is how I create my ROMs. Other developers along with myself have found that Dsixda's android kitchen can create issues with your ROM, so building from an already existing base is always the safest in my opinion.
First, we will need to get a base. There are many different versions out there, however, they almost are all the exact same. I use beanstown106's base for my ROMs. You can find his base, along with the stock Modem, RPM, and kernel with custom boot animation support here.
Download Bean's base, and extract the files within the ZIP archive somewhere on your computer. I recommend creating a development directory somewhere on your computer.
I work on Mac OS X, so my development directory is in my home folder under /dev.
In Windows, this sample directory would be in C:\\Users\YourName\Dev
Linux is similar to OS X. I recommend placing your Development directory in ~/Dev (~/ is your home folder's directory)
Of course, you can place these files wherever you want this is just how I have my computer set up.
_________________________________________________________________________________________________________________________
Building a base WITH the kitchen (not recommended due to incompatibilities and time consumption):
Downloading and Installing the Kitchen
This will teach you how to create a base of your own using Samsung's ODIN file and Dsixda's Kitchen.
First of all, you must download Dsixda's Kitchen. Luckily, the Verizon S3 is supported by the kitchen, so BUILDING your base using the kitchen is practically painless. Getting the kitchen running is difficult at times, and you may run into issues later. If you want to evade these issues, I suggest building your ROM from an already existing base. If you don't want to do that, keep reading . The kitchen can be downloaded from here. Just click on the latest version, and press the button with the cloud and the word "ZIP" to download the repo as a zip file. Keep that somewhere on your computer...
Setting up the kitchen is a different story. It's relatively easy on Mac and Linux, but because the kitchen is designed to run in UNIX environments, it's a little bit tougher on Windows. You can find a guide for setting up the kitchen here.
Adding The Odin Files for the Kitchen To Compile
The next step to compiling a base using the kitchen is to take Samsung's files, and add them to the kitchen folder. This is pretty simple. Download the VRBLK3 Stock ODIN from here (thanks open1your1eyes0).
Extract the files to the original_update folder in your kitchen folder.
Building Using the Kitchen
Finally, we're ready to build your base using the kitchen. Start the kitchen by navigating to your kitchen folder in terminal (or command prompt through Cygwin on Windows), and typing "./menu" on mac and linux, or just typing "menu" on Windows.
Option 1 within the kitchen should compile a base ROM for you. You can then root, deodex, zipalign, and change the name of your ROM, and much more, from within the kitchen.
When you're done, option 99 will compile your ROM and move a ZIP file to your OUTPUT_ZIP folder within your kitchen folder.
_________________________________________________________________________________________________________________________
Renaming your ROM
Renaming your ROM is very simple. After building your base, unzip the files and navigate to /system/build.prop. In the build prop, find the line that says "ro.build.display.id=". Replace the rest of the text on this line with your desired name. Save your build.prop. Thats it
Debloating Your ROM
Debloating your ROM is fairly simple as well. The list of removable Apps on the S3 can be found here (thanks to whoever made this, you are a god lol). This is a list for the international version of the S3, but most of the files are the same and MOST Verizon Apps can be removed as well.
Just delete the apks that you want to remove from your /system/app folder within your ROM files.
Init.d Tweaks
Init.d tweaks are scripts that allow your ROM to execute certain actions upon boot. For example, in my Delta ROM, I have an init.d tweak that zipaligns all apks upon boot.
While this guide won't cover creating your own init.d tweaks, adding them is simple. Take the init.d script that you find somewhere online, and simply drop it into your /system/etc/init.d folder. That's all.
Be aware that a lot of people make claims for their tweaks like "best RAM management tweaks" whn posing the tweaks in another device forum. For example, if you found a thread with the "best RAM management tweaks" in the Galaxy S forums, those tweaks are probably not good for our device since we have more available RAM than they do. Overall, it's best to DO YOUR RESEARCH and design your own scripts.
Build.prop Tweaks
Build.prop tweaks are lines added to your build.prop file within /system. They can do many things, and many of them improve performance and battery life on your ROM. A simple list of build.prop tweaks can be found here. Just add the lines that you want to add to the BOTTOM of your build.prop file, and save it.
Adding a Custom Kernel
When I first started building ROMs, one of the things that I couldn't figure out was how to add a custom kernel to my ROM. It's actually very simple. Find the kernel you want, download it, extract the zip file, and copy it's files into your ROM in the right locations. For example, you would replace the boot.img in your ROM with the boot.img from your custom kernel, and you would replace the modules in your /system/lib/modules folder with the module files from the kernel. Continue doing this until all of the kernels files are in your ROM.
Flashing Your ROM
This is pretty simple. Simply compress your ROM files (boot.img, system folder, Meta-inf folder, and anything else) into a regular ZIP file, move the ZIP to your phone, boot into recovery, wipe data, cache, and dalvik cache, and flash your ROM.
If you did everything right, you should now be running your ROM Hopefully my guide helped you. Feel free to message me if you run into any issues or just have any general questions.
There is much more to development than just this. But this is meant to get you guys started
KANGING
Do NOT, I repeat DO NOT, take anything from another developer's ROM without his/her permission. This is called kanging, and it is extremely frowned upon and even rude because another Dev has spent A LOT of time slaving over the work, and then you take it and use it as your own. I can't speak for other Devs, but if you want something from my ROM, just ask. I'm a pretty open-minded guy, and chances are that I'm gonna say yes.
Credit
Always give credit where credit is due. If a developer helped you out in any way with your ROM, it is always courteous to include them in the credits section of your ROM.
Thanks guys
Click to expand...
Click to collapse
you make it look easy. lol nice job. someday possibly. someday....
Thanks for this Edge. I'm gonna try and build my own rom now thanks to you. I really appreciate all the guides. Keep them coming when u get a chance.
Sent from my SCH-I535 using xda premium
Fantastic work,thanks
how do you open the build.prop file?
You sure we should use that link for build props as reference? Seems like a lot of bad reviews fir only 2 pages.
Sent from my SCH-I535 using Tapatalk 2
These threads are always great to encourage people to get involved. Nice work!
Sent from my SCH-I535 using Xparent ICS Tapatalk 2
Nice guide. These are always great to get people started.
Though I must disagree with your comments on using the kitchen for a few reasons.
1) There are no compatibility problems that I have experienced.
2) It is not time consuming. It actually saves a lot of time. For example, if you have a decent PC you can:
a) Deodex a ROM in about 5 minutes.
b) Zipalign every apk in about 30 seconds.
c) Add init.d support, root, and buybox in about 2 minutes.
3) The kitchen builds ROMs, it does not compile them.
Also, most of the build.prop tweaks in the reference you linked (and just about every guide you can find) are bogus. Most have been completely debunked. Also, any tweak with a "mot" in it is strictly for Motorola devices.
Jeff Mixon article on build.prop tweaks.
upndwn4par said:
Nice guide. These are always great to get people started.
Though I must disagree with your comments on using the kitchen for a few reasons.
1) There are no compatibility problems that I have experienced.
2) It is not time consuming. It actually saves a lot of time. For example, if you have a decent PC you can:
a) Deodex a ROM in about 5 minutes.
b) Zipalign every apk in about 30 seconds.
c) Add init.d support, root, and buybox in about 2 minutes.
3) The kitchen builds ROMs, it does not compile them.
Also, most of the build.prop tweaks in the reference you linked (and just about every guide you can find) are bogus. Most have been completely debunked. Also, any tweak with a "mot" in it is strictly for Motorola devices.
Jeff Mixon article on build.prop tweaks.
Click to expand...
Click to collapse
I've experienced a few issues when building with the kitchen. For example, the ROM wouldn't flash after cooking it because it said there was no MD5.
The kitchen does save time once you get it set up. However, its much faster to download a 700-800mb base and move it into a folder than download >1GB ODIN file and get the kitchen set up correctly. Especially if you have to set up Cygwin or a VM if you're on windows. I agree with you that with a good PC, the kitchen will build a ROM fast. But not everyone (including myself lol) has a PC that can build them that fast.
It is completely a matter of preference though. I prefer to build my ROMs from a base, but you prefer to use the kitchen. After all, that's why I included both methods in the guide
I'll look at the build.prop thing, I might've posted the wrong link. I was exhausted lol
Thanks,
Edge
EDIT: I changed the build.prop link to the article you posted. Thanks man
awesome.. will give it a shot when I have some time
thank you
I assume this is for building when one doesn't want to change any other files than the ones you mention. But if I want to alter something, say, on the notification bar, I would need instructions on what files to alter and, if relevant, how to compile my changes into a binary that can then be included in the ROM. This is a good start so thank you.
thornev said:
I assume this is for building when one doesn't want to change any other files than the ones you mention. But if I want to alter something, say, on the notification bar, I would need instructions on what files to alter and, if relevant, how to compile my changes into a binary that can then be included in the ROM. This is a good start so thank you.
Click to expand...
Click to collapse
Correct. It says that there is more to developing and that this should get you started
Nice and quick guide! Good job! It really is simple stuff once you get familiar w/ files and all.
HaVoK C89 said:
Nice and quick guide! Good job! It really is simple stuff once you get familiar w/ files and all.
Click to expand...
Click to collapse
Thanks!
Nice work
Hi everyone! First of all, sorry for my english.
My question is very simple. I am going to flash Aero Kernel into my Moto G xt1034.
In case something goes wrong or i want to go back to stock kernel, does reflash the rom via fastboot replaces the kernel? I mean, Aero Kernel is ereased and replaced by the stock kernel?
Thank you very much in advance!
Yep, boot.img is your kernel, so you need to flash that at least. But, I think aero is replacing your kernel modules too (eg the WiFi driver), so you need to flash the system image too. Or backup the original modules from the /system/lib/modules directory.
Rhyn said:
Yep, boot.img is your kernel, so you need to flash that at least. But, I think aero is replacing your kernel modules too (eg the WiFi driver), so you need to flash the system image too. Or backup the original modules from the /system/lib/modules directory.
Click to expand...
Click to collapse
Thank you. Does flashing stock Rom replaces those modules ?
neucoas said:
Thank you. Does flashing stock Rom replaces those modules ?
Click to expand...
Click to collapse
If you mean by flashing is fastboot flash etc, then yes. The system.sparesechunk.0-3 files contains your full system partition including the kernel modules. But if you do a cwm backup from your stock system partition before flashing aero and flash that back, that will work too.
Edit: if you just do a backup from /system/lib/modules directory, you should include /system/lib/hw/power.msm8226.so too, hence aero installer also deletes that too.
Usually if you uncertain what a flashable zip do, you can always examine the META-INF/com/google/android/updater-script file. Thats the installer, you can open it with a simple text editor. Usually not too hard to understand, its quite a simple language.
Rhyn said:
If you mean by flashing is fastboot flash etc, then yes. The system.sparesechunk.0-3 files contains your full system partition including the kernel modules. But if you do a cwm backup from your stock system partition before flashing aero and flash that back, that will work too.
Edit: if you just do a backup from /system/lib/modules directory, you should include /system/lib/hw/power.msm8226.so too, hence aero installer also deletes that too.
Usually if you uncertain what a flashable zip do, you can always examine the META-INF/com/google/android/updater-script file. Thats the installer, you can open it with a simple text editor. Usually not too hard to understand, its quite a simple language.
Click to expand...
Click to collapse
Thank you very much! :victory: