dsixda's Android Kitchen - Now for Samsung Galaxy S
Compatible with Windows (Cygwin) / Linux / Mac OS X
The following is a guide to assist you with creating your own Samsung Galaxy S custom ROMs with the kitchen. This is NOT a guide to help you become Cyanogen or do fancy things with AOSP, but it may be your springboard to bigger things in the future.
Some of you already know about the Android Kitchen. It is a project I started on back in February 2010 to help newbies create their own custom ROMs and learn more about Android. As of version 0.178, you can now create your own Galaxy S ROMs with the kitchen.
I'd like to thank Perka for testing and providing feedback, and also for giving me some ideas through his tutorial in his Ultimate ROM Cooking Guide.
[MAIN PAGE] [RELEASE NOTES] [FAQ - page 1] [FAQ - page 2]
PROCEDURE
This guide may be a bit basic right now but I will update it later if required.
First, you need a rooted Samsung Galaxy S with a ClockworkMod custom recovery. The kitchen supports the GT-I9000, but should also support most of its variants, such as the Captivate, Fascinate, Vibrant and Epic.
Visit the Android Kitchen thread to download the kitchen. Then, follow the link to the FAQ which will show you how to install it on Windows, Linux or Mac OS X. Ensure you read the FAQ carefully.
IMPORTANT (DO NOT IGNORE THIS STEP): To verify your variant of the Galaxy S works in the kitchen, read this post.
Put your base ROM(s) under the original_update folder. For the Samsung Galaxy S, there is support for the following formats which can be placed in that folder (you can place multiple ROMs there):
Stock firmware:
factoryfs.rfs (and optionally: cache.rfs, zImage)
PDA.tar.md5 (and optionally: CSC.tar.md5, PHONE.tar.md5)
PDA.tar (and optionally: CSC.tar, PHONE.tar)
TAR/ZIP file containing factoryfs.rfs (optional: cache.rfs, zImage, modem.bin)
TAR/ZIP file containing PDA.tar and others
TAR/ZIP file containing PDA.tar.md5 and others
Custom ROM:
ZIP file originally created by the kitchen from the stock firmware (NOTE: The kitchen does NOT support custom ROMs created through other methods, due to potential file structure incompatibility issues)
Nandroid backup from ClockworkMod recovery
system.img and boot.img
Here are some basic steps to creating your first ROM after you have your base of files under original_update (more options are available in the kitchen):
Start the kitchen with: ./menu
Create a working folder (by choosing your base ROM)
If you used a factoryfs.rfs but then didn't include the cache.rfs, then you have the option to add a cache.rfs later using the Extract CSC script in the Advanced menu's 'Plugins' section.
Optional: Add a rooted kernel (zImage) to the base of your working folder
You can create a ROM without a zImage and thus keep the existing kernel on your device, although keep in mind that a newer ROM may not work with a kernel meant for older ROMs!
If you use the stock kernel (zImage), you can always replace it later with the CF-Root kernel or any other custom/rooted kernel. Just replace the stock zImage anytime before you build the ROM.
Optional: Add a modem.bin to the base of your working folder, or remove the existing modem.bin if you don't want it. You can flash the ROM with or without a modem.bin.
Root your ROM
Add Busybox
In the Advanced options menu: De-odex your ROM
Build ROM
The ROM is built into a ZIP file meant for flashing from the custom recovery menu. No Odin.
Some notes:
Just select the defaults whenever you are asked about something in the kitchen and are unsure whether to type 'y' or 'n'.
There are lots of questions answered in the FAQ in Posts 3 and 4 of the main Android Kitchen thread. So please go through that first if you have any issues.
For the benefit of other readers, and to prevent confusion, please only discuss Samsung Galaxy S in this thread!
Most of all, have patience, take your time and enjoy!!
thanks for info mate exactly wat im looking for
cheers
Thx for this. Working very well.
Very nice guide
Just what i was looking for great
Sent from my GT-I9000 using xda premium
Thanks works very well! *5 stalls *
So i made my first selfmade rom for samsung s5660 Gio but i am getting errors trying to flash in cwm. First error i managed to solve as in the updater-script there were # missing at the mount and unmount options.
Now im having "assert failed: write_raw_image("/tmp/boot.img","boot")" error. Reading up on XDA i saw u mentioned that it has to do with wrong update-binary and someone solved it by adding "edify_def" but i have no clue what that might be.
Any help would be much apreciated.
Also u mention there are 3 update-binary. Any link to all 3 and can i just try with each one of them first?
Edit: adding the updater-script and update-binary
Gvdn said:
So i made my first selfmade rom for samsung s5660 Gio but i am getting errors trying to flash in cwm. First error i managed to solve as in the updater-script there were # missing at the mount and unmount options.
Now im having "assert failed: write_raw_image("/tmp/boot.img","boot")" error. Reading up on XDA i saw u mentioned that it has to do with wrong update-binary and someone solved it by adding "edify_def" but i have no clue what that might be.
Any help would be much apreciated.
Also u mention there are 3 update-binary. Any link to all 3 and can i just try with each one of them first?
Edit: adding the updater-script and update-binary
Click to expand...
Click to collapse
The Gio is not a Galaxy S device. This is where your problem lies. I am not sure how a ROM is constructed for that device.
dsixda said:
The Gio is not a Galaxy S device. This is where your problem lies. I am not sure how a ROM is constructed for that device.
Click to expand...
Click to collapse
So no matter what i try it wont work with kitchen? Damn too bad i was starting to know my way around it now
Kitchen made the whole rom without a problem tho. Using the boot.img option and following Perka guide. Just seems its not generating the Meta file correct.
Do u have any idea to what i asked earlier? If there is only 3 different update-binaries , can i get all 3 and test em out and 1 will work for sure or it wont work no matter what?
I don't know anything about your device, dude. Just copy one from an existing ROM that someone made for your device. Anyways you're asking about a non-Galaxy S phone so you'll probably find more help in the Chef section of the forum or in your device's subforum.
dsixda said:
I don't know anything about your device, dude. Just copy one from an existing ROM that someone made for your device. Anyways you're asking about a non-Galaxy S phone so you'll probably find more help in the Chef section of the forum or in your device's subforum.
Click to expand...
Click to collapse
Ok thx alot. Sadly no subforum for Gio
CWM issue
I'm having a big problem using the kitchen with regards to entering recovery in any custom ROM I make using the kitchen.
Once I flash the ROM everything is fine and dandy in the OS itself, works 100% and all customizations work flawlessly, but once I try to reboot into CWM whether via 3Button or extended power menu/adb, CWM gives a ton of errors saying it cannot mount volumes and basically recovery is useless. The errors are numerous, I'll see if I can post a pic if needed. The important one I'm thinking is "E:/unknown volume for path /sdcard" repeated for /data, /system, /cache, everything.
I tried eliminating sources of error by basically just inserting a JVS rom and pasting in a kernel (Semaphore JVS) without any customizations, and the error still occurs.
Any help?
krazykipa said:
I'm having a big problem using the kitchen with regards to entering recovery in any custom ROM I make using the kitchen.
Once I flash the ROM everything is fine and dandy in the OS itself, works 100% and all customizations work flawlessly, but once I try to reboot into CWM whether via 3Button or extended power menu/adb, CWM gives a ton of errors saying it cannot mount volumes and basically recovery is useless. The errors are numerous, I'll see if I can post a pic if needed. The important one I'm thinking is "E:/unknown volume for path /sdcard" repeated for /data, /system, /cache, everything.
I tried eliminating sources of error by basically just inserting a JVS rom and pasting in a kernel (Semaphore JVS) without any customizations, and the error still occurs.
Any help?
Click to expand...
Click to collapse
I'm having the same problem here with CF-Root-XX_OXA_JVS-v4.1-CWM3RFS, I tried to move to DarkCore_4.0_JVS and the device get into reboots (just after activating lagfix).
its 2 days now that im working on stock rom and trying only to root and deOdex... help?
Will this work for galaxy s 4g? If not, is there any way I can help to add support for it?
bhundven said:
Will this work for galaxy s 4g? If not, is there any way I can help to add support for it?
Click to expand...
Click to collapse
Sorry for the late reply. Check your build.prop's ro.product.device value. If the name doesn't exist under the kitchen's tools/samsung_files/sgs_variants folder then just create a file there with same name.
Unfortunately I don't have the Galaxy S so I cannot test on my own.
dsixda said:
Sorry for the late reply. Check your build.prop's ro.product.device value. If the name doesn't exist under the kitchen's tools/samsung_files/sgs_variants folder then just create a file there with same name.
Unfortunately I don't have the Galaxy S so I cannot test on my own.
Click to expand...
Click to collapse
Looks like the SGH-T959V file exists. Thanks for helping me figure that out!
I am having an issue with wi-fi not be able to connect after i have flashed my build.. and thats about it. I'm not sure whats causing it any ideas?
EDIT:
Was the updater-script, i swapped it out with another and all is well.
There are problem with kernels. I can't change?
is this supported by the sidekick since it has similiar specs to the samsung vibrant?
xtrem88 said:
is this supported by the sidekick since it has similiar specs to the samsung vibrant?
Click to expand...
Click to collapse
If it's basically the same device then it should support it. Just make sure you have an entry in the kitchen for the ro.product.device value. See the note in the 2nd step in Post #1.
I know nothing much of ROM Development but I do have the basic foundation knowledge and I wish to commence in releasing a modded ROM soon as a start...
As a start can anyone give a pointer of the following :
1. Boot image » what is required to extract / modify ?
Note : Please do not re-quote as I will be making changes as we go along
So let us discuss and explore so that we can learn together....
Sent from my GT-I8150 using xda premium
I was thinking of doing the same andy. Asked cow to see if he would like to point me in the right direction.
I had to abandon my idea as new house i moved into i dont have any internet to work off so had to put my plans on hold. But here is what i was told what is basically needed for cooking roms.
1) Download Kitchen:
http://forum.xda-developers.com/showthread.php?t=633246
2) Download your stock ROM
3) Extract system.img.ext4, cache.img.ext4 and boot.img from stock ROM, put into Kitchen's original_rom folder
4) Do this for SGW: http://forum.xda-developers.com/show...8&postcount=12
- No need to upse KezzaPlane's updater script anymore
5) Run ./menu in kitchen and follow the instructions
On part 3. If you want to use a different kernal( Oc one or simply Cow's oc kernal) please make sure to ask for the use of the kernal first and then use that boot.img and replace it into the rom that you are going to cook.
hi, thank you very much for the information, so far i have downloaded eclipse ee, and the android sdk but had zero idea where to start lol
i was so motivated when arco started and released his ics rom that i wanted to do my share as well, i have experience in coding in java but also wanted to know what else to do, then i bumped on this post, thanks a lot man!
snwman said:
4) Do this for SGW: http://forum.xda-developers.com/show...8&postcount=12
Click to expand...
Click to collapse
um unfortunately that link doesn't seem to work, may i ask for the full link?
this is awesome, i will support this thread. pls someone provide clear informations on how and what needed
Android Flashable Zip Creator
Create your own flashable zips! GREAT tool for those who flash a lot of ROMs, just zip up all of your apps/Xposed modules/etc. and just flash it after you flash the ROM! I know nothing about Dev'ing or anything of the sort but was still able to use this, very simple and amazing tool! Only thing is, our device isn't officially supported (yet, I am working with the Dev to get our device supported). So for now, you will need to download THIS and place it right where it says "Click here to select update-binary". Be sure to read the OP, but it's very simple, if you have any questions feel free to ask!
**Don't forget to thank @Nikhil for creating such an awesome tool.**
Mod: Delete thread and delete my account. Thanks.
bob24260 said:
This is the Stock Boot Image & Magisk Patched Stock Image OOS 11.0.5.1.HD65AA for OnePlus 7T Global and OnePlus 7T T-Mobile variant that's been converted to International (Global) variant. I won't include a tutorial on how to flash because if you don't already know how to do this you shouldn't be messing with it anyway. I pulled the boot image from the OTA 11.0.5.1.HD65AA and extracted it with payload dumper go by ssssut , original thread here:
[TOOL] A QUICK Android OTA payload dumper
Made with Go. By utilizing goroutines, this can extract img files from (full) OTA payload.bin really quickly. See how fast this is: https://i.imgur.com/adpijqf Source Code: https://github.com/ssut/payload-dumper-go Prebuilt binaries...
forum.xda-developers.com
Thanks to ssssut for what I'm sure was countless hours creating this handy little tool. Make sure you thank him for making all of our lives easier with this tool. Also thanks to topjohnwu for his revolutionary Magisk. We couldn't enjoy root without you.
I take no responsibility for anything you flash to your devices. You do it freely and voluntarily and if you yell at me for ending up with a doorstop I will laugh and point right back at you. Having said that, I hope this helps someone. Yes I know other people have posted these but it doesn't hurt to have several sources for these files. I highly recommend that you patch the stock boot image yourself with magisk from the intended device but I'm including it as well anyways.
Click to expand...
Click to collapse
thanks bro for the files
i already tested and it works
HOW TO MOD MIUI 13 /12 BASED ROMS ? I want to learn how to mod miui rom ,do some changes like other developers who changed miui logo from setting and putted their own logo ,changed boot animation,,putted magisk module so we dont need to flash it via magisk or recovery ,i was set by default ,,,how do they also changed the kernel ,,,,,,after all these they builded one new flashable zip file for us ,,,,,,,,,,,,,,,,anyone here who can help me to learn all these stuff, I'm highly interested........Which unpacker ,repacker or other tools they use ???????? HELPP HELP HELLP :3
Thanks in Future
TG: @SELinuxEnforcing
Evolution (author of pulse) use BatchAPKTool to compile/recompile apk. Than he find some files (smali) and following the manual changes it. I explained very superficially, everything is quite difficult for a beginner there, and if it is the same f a mentor as evolution who will constantly help, it will be a little easier. Moreover, two people helped me.