o If your phone information is different than above (i.e. KB5) - this guide will work as long as Kies mini will recognize your phone. Kies mini WILL NOT recognize ROOTED devices.

--------------------

What can I do:

-Upgrade to GB 2.3.6

-Back up efs Folder (Important!)

-Root

-Flash Custom Kernel (to obtain CWM)

-Flash Custom Rom

-Flash Custom Tweaks (cautiously as most custom ROMs have tweaks built in)

-Flash Custom MOD's.

--------------------

What should I know first:

-What is a ROM: Literally it stands for Read Only Memory, in this case referring to the phone's internal memory where your firmware/apps are stored. It is what you see and use when you are on your phone.

-What is a Kernel: The bridge between applications and actual data processing done at the hardware level. The kernel helps the ROM talk to the Hardware.

-What is the efs file: “This is a very sensitive system folder that contains Phone-specific information such as the IMEI (encrypted in the nv_data.bin), wireless devices MAC addresses, product code (also in the nv_data.bin), and much more.” (from XDA article)

-What is rooting: Allows you to make changes to your Android system, as well as enable you to use features that are otherwise locked away. (from Samsung Galaxy S 4G Wiki)

NOTES* *I chose to go from Stock Froyo to Stock GB using Kies mini. This gives me the GB Bootloaders that I need to make it easier to flash a custom kernel and custom ROM’s.

* *Having GB already on the phone allows us to download SGS Kernel Flasher (must be rooted to use) from the app market to flash a custom kernel that will give me CWM5 and Voodoo Lagfix.

* *Also if anything screws up (i.e. IMEI), I can just take my phone back to where I bought it and get another one as this has happened to many… and fixes for it are not clear and work randomly but not for all. And unfortunately peoples phones have screwed up updating the way T-Mobile and Samsung tell you to update.

o How to check your IMEI:

-Go to [App Drawer], [Settings], [About phone], [Status].

-Towards the bottom you will see [IMEI].

o Let's get started:

-Download Kies mini if you do not already have it. When you follow this link you will see two tabs - 'Manuals' and 'Software ' - click [Software] and download.

-In USB Settings on my phone I select [Kies (Firmware update)] if it is not set to ask every time.

-Plugged in phone, let device drivers install on computer. You will see a notification on your computer when complete.

-Then Kies mini will recognize the phone.

-Hit [upgrade] and wait.

-Phone will eventually reboot. Check your IMEI.

--------------------

I am on Stock GB (Firmware version: 2.3.6) now what:

NOTES* *Some have learned the hard way the importance of making a back up of the efs folder on your phone. The efs folder contains important information about your phone and in the event any of the files in the folder are corrupted there is NO clear and concrete fix without a back up!

-When it if finished you will still be on the same screen and it will see a green vertical bar at the bottom of the screen next to - Backed up as.....

-Now select [choose kernel] and a file manager will appear.

-Select [parent directory] and you will be on the root of your sdcard.

-Navigate to the bottom and find the kernel .zip file you copied over.

-Once selected you will be back at the main screen of SGS Kernel Flasher.

-Select [flash kernel].

-The kernel will flash and your phone will reboot.

-You will hear Linda speaking on the Galaxy S 4G boot screen (only if this is your first time flashing a custom kernel).

-Wait and wait some more! She will keep talking to you!

-Eventually the phone will reboot.

--------------------

I am on Stock GB (Firmware version: 2.3.6), I have an efs backup, Rooted and have custom kernel with CWM now what:

NOTES* *Now it is time for the Custom ROM!

* *Do NOT extract the contents of .zip files. When flashing - we flash the .zip.

o Let's get started:

-To make it easy for you to access CWM Recovery without having to do the button combination - You can download Quick Boot (Reboot) here: QuickBoot.apk (link is courtesy of FB)

o How to navigate in CWM Recovery - TWO Methods:

-Using Side Buttons:

-To navigate up and down - use the Volume up and down buttons.

-To select - use the power button.

-Using Soft Keys:

-To navigate down - use the [menu] soft key (first soft key).

-To navigate up - use the [home] soft key (second soft key).

-To Go Back - use the [back] soft key (third soft key).

-To select an option - use the [search] soft key (fourth soft key).

o First things First - Nandroid Back Up:

-In CWM Recovery - Navigate down to [backup and restore] and select.

-Then select [backup]. This will take a bit so wait until it is finished.

-Now you have a Nandroid backup (which also gives you another backup of your efs folder) and you will be back at the main screen of CWM Recovery.

NOTES* * If you decide to try a different ROM other than the suggested ROM's below - please be aware there are Gingerbread-based ROM's and FROYO-based ROM's. At this point in the guide - you MUST select a Gingerbread-based ROM to flash.

-Download your choice GB ROM from your computer. Make sure the downloaded zip looks right (mainly size – I have had to try downloading two or three times to get the full zip for some reason).

-Copy [<< Name of Custom ROM you chose here >>.zip] to the root of your sdcard.

-Open [Quick Boot (Reboot)] and select [Recovery].

-If it is the first time using Quick Boot (Reboot) - you will need to allow superuser permission if this is the first time using the app.

-Your phone will reboot and you will be in CWM Recovery.

o Now let's finally flash the Custom ROM:

NOTES* *A note before flashing - The steps to actually flashing the Custom ROM's change as new methods become available. As an example - SGS4G CWM ROM Installer by FB is now used when flashing newer ROM's.

* *I will do my best to keep this guide up-to-date with the correct steps to flash the Custom ROM's recommended in this post - however if you notice something has changed - please PM me and let me know so I can up the guide!

* * [DIRECTIONS] ROM's WITH SGS4G CWM ROM Installer * *

-After the Nandroid Backup you should be on the main screen of CWM Recovery - navigate down to [install zip from sdcard] and select.

-Then select [choose zip from sdcard].

-Navigate down towards the bottom of the list that appears and you should see [- << Name of ROM you want to install >>.zip]. Select it.

-Navigate down to [Yes - Install << Name of ROM you want to install >>.zip] (sometimes the name of the ROM will be cut off due to the length of the name).

-Select the ROM and wait. The SGS4G CWM ROM Installer will appear and guide you from here.

-In the event your phone does not automatically restart after SGS4G CWM ROM Installer is finished - select [***** Go Back *****] until you are back to the main CWM Recovery screen and select [reboot system now].

-After the Nandroid Backup you should be on the main screen of CWM Recovery - navigate down to [install zip from sdcard] and select.

-Then select [choose zip from sdcard].

-Navigate down towards the bottom of the list that appears and you should see [- << Name of ROM you want to install >>.zip]. Select it.

-Navigate down to [Yes - Install << Name of ROM you want to install >>.zip] (sometimes the name of the ROM will be cut off due to the length of the name).

-Select the ROM and wait.

-When installation is finished - select [***** Go Back *****] until you are back to the main CWM Recovery screen and select [reboot system now]

-Once rebooted into your new ROM - let you phone sit for 10 minutes to allow time for your caches to build.

-After 10 minutes - long press the power button and select [Recovery].

-In CWM Recovery - navigate to [wipe data/factory reset] and select.

-Then navigate to [Yes --delete all user data]

-When factory reset is complete - reboot and ENJOY!

NOTES* * Most Custom ROM's will be de-bloated - meaning a lot of the stock apps you may or may not be accustomed to are removed.

* * If you would like to re-install a stock app that is not in the Custom ROM you just flashed - Follow this link - Stock GB 2.3.6 APK Repository, download the APK you want to install and follow the directions in the first post of that thread.

--------------------

[TWEAKS] I am on Stock GB (Firmware version: 2.3.6), I have an efs backup, rooted, have Custom Kernel with CWM and have a Custom ROM now what:

NOTES* *Now you can flash tweaks if you so desire!

* * Do NOT extract the contents of .zip files. When flashing - we flash the .zip.

* * Take note - Most Custom ROM's have tweaks built. As an example - icbinb 2.3.7_v2 has Universal Adrenaline Shotv14-1 cache scroll tweak built in. Read the first post of the Custom ROM thread you choose to determine what tweaks are built into the ROM.

* * Flashing more than one Tweak does not give the benefits of both Tweaks. The Tweaks are generally written to overwrite most of the settings that may already be on the phone. So - Pick a tweak and try it for a couple of days. And if you would like to try a different tweak go for it.

* * If you are on icbinb 2.3.7_v2 - To make it easy for you to access CWM Recovery without having to do the button combination - You can download Quick Boot (Reboot) here: QuickBoot.apk (link is courtesy of FB).

* * If you are on Valhalla - BlackEdition - You are now able to access CWM Recovery by holding down the power button. [Phone options] will open and you can select [Recovery] to easily access CWM Recovery.

-Let your phone sit for 10 minutes before using - most tweaks wipe your Dalvik Cache, which in turn, will rebuild itself properly by letting your phone sit. You may experience minor problems, lags, etc if you skip this step.

NOTES* * To see the full benefits of most Tweaks - You need to give the Tweaks a day or two to settle in - or 'Soak In' as you will hear in the forum.

--------------------

[MODS] I am on Stock GB (Firmware version: 2.3.6), I have an efs backup, rooted, have Custom Kernel with CWM and have a Custom ROM now what:

NOTES* *Now you can flash MOD's if you so desire!

* * Do NOT extract the contents of .zip files. When flashing - we flash the .zip.

* * If you are on icbinb 2.3.7_v2 - To make it easy for you to access CWM Recovery without having to do the button combination - You can download Quick Boot (Reboot) here: QuickBoot.apk (link is courtesy of FB)

* * If you are on Valhalla - BlackEdition - You are now able to access CWM Recovery by holding down the power button. [Phone options] will open and you can select [Recovery] to easily access CWM Recovery.

o Custom MOD Options as of 03/02/12:

-Camera MOD's - These need to be flashed in the order given below (thanks to dsexton702)

-FLASH FIRST - Camera-Mod (go to the bottom of the post and download Camera-Mod.zip)

-Scrolling Cache Tweak (go to the bottom of the post and download Scrolling-Cache-Tweak.zip) (thanks to dsexton702)

o Let's get started:

-Download the MOD you have decided to try.

-Copy [<< Name of MOD you chose here >>.zip] to the root of your sdcard.

-Reboot into Recovery (refer to notes above depending on which Custom ROM you are using)

-Scroll down to [install zip from sdcard] using the methods previously given, then select [choose zip from scard].

-Go to bottom and find the name of the MOD you copied over and select it.

-Scroll down and select [Yes - Install << Name of MOD you chose here >>.zip].

-White letters will scroll and eventually say Install from sdcard complete.

-When finished select [*****Go Back*****].

-Then select [reboot system now].

-Let your phone sit for 10 minutes before using - most tweaks wipe your Dalvik Cache, which in turn, will rebuild itself properly by letting your phone sit. You may experience minor problems, lags, etc if you skip this step.

IMPORTANT NOTES BEFORE YOU BEGIN:* *When using Heimdall or ODIN - Designate USB Ports on your computer for each flashing program. Have one USB Port that you only use Heimdall for. Have one USB Port you only use ODIN for. This does not mean you cannot use the designated USB Ports for other functions NOT related to your phone. This is only for flashing with Heimdall and ODIN.

* *Always use a USB Port that is directly connected to your computer - NO USB Hubs or add-on Ports.

* *If possible - Start with a USB Port you have never plugged your phone in to. By doing this you will reduce your probabilities of running into problems.

* *If you have used your phone on every USB Port and/or have no idea where all you have plugged your phone into or used ODIN or Heimdall with - Download [usbdeview-x32.zip] for 32-bit operating systems or [usbdeview-x64.zip] for 64-bit operating systems. Uninstall anything you see that has Samsung and Android related.

Now you should have [T959VUVKJ6_STOCK-UVKJ6-One-Click.jar] saved on your computer at [C:\Android] and you should have the current version of Java installed on your computer.

----------------------------------------------------------------

o Time to flash:

Go to the newly created folder - [C:\Android] - where you saved [T959VUVKJ6_STOCK-UVKJ6-One-Click.jar].

You will see [T959VUVKJ6_STOCK-UVKJ6-One-Click.jar]. Inside the window - Hold down shift and right-click. In the menu that appears - select [Open command window here].

The Command Prompt window will open and you will be at [C:\Android]. Type [java -jar T959VUVKJ6_STOCK-UVKJ6-One-Click.jar] and press [Enter] on your keyboard.

It will pause, say [false] and run some commands.

* * If you receive the error shown below - ['java' is not recognized as an internal or external command, operable program or batch file.] - you do not have Java set as a System Path Variable.

* * Directions to fix this error are at the very end of this post.

If you do not [Microsoft Visual C++ 2010 Redistributable Package (x86)] already installed on your computer - a window will open prompting you to install. Check [I have read and accept the license terms] and push [Install].

Pull the battery from your phone. Then put it back in - also putting the back cover back on.

Hold down the [Volume Down/Up] buttons on the left side of your phone. While holding both [Volume Down/Up] buttons plug in the USB cable into your phone. You should see the first image below for Download Mode - however you might see the second image instead - also Download Mode - if you are recovering your phone from a bad flash:

You will again see the command prompt window. At the bottom of the window you should see [Installing drivers] and a pop up prompting you to put your phone into Download Mode -- which you should already be in Download Mode if following the guide .

Select [OK] and Zadig will open prompting you to install the necessary drivers to flash the One-Click.

In Zadig - Select [Options], then [List All Devices].

You will see [USB Receiver (Interface 0)]. Click your mouse where that appears and a drop-down menu will appear. Select [SAMSUNG USB Composite Device] and it will populate the box.

Now select [Reinstall Driver].

A window will appear - [Installing Driver...] - when completed you should be notified [The driver was installed successfully]. Select [Close].

Close the Zadig window, Heimdall One-Click 1.3.1 window will open and it will say [Connected] with a green highlight in the lower right corner.

Click [Flash] and Wait.

When Heimdall One-Click is finished working - your phone will reboot and run some code - then reboot again. You will see the T-Mobile splash screen and hear the T-Mobile jingle. Now wait again.

If you are upgrading from Froyo to Gingerbread - You will reboot into a Rainbow Like Screen because you still need to Flash Bootloaders. You are OK and this is normal. Proceed to ADDITIONAL STEPS ONLY FOR THOSE NEEDING TO FLASH BOOTLOADERS in the box below.

If you are flashing Bootloaders - Continue with directions in the box directly below.

Unplug USB cable from phone. Pull the battery from your phone. Then put it back in - also putting the back cover back on.

Hold down the [Volume Down/Up] buttons on the left side of your phone. While holding both [Volume Down/Up] buttons plug in the USB cable into your phone. Your phone will be back in Download Mode.

Heimdall One-Click will once again say [connected]. This time you are able to put a check mark next to [Flash Bootloaders]. Check the box.

A window will appear warning you that [Flashing Bootloaders is Risky]. Select [Yes] and the window will close.

Now select [flash] one more time and wait.

When Heimdall One-Click is finished - your phone will reboot, you will see code run on your phone screen, then reboot again into the ROM - allow your phone to sit for ten minutes to properly build caches.

* * END - ADDITIONAL STEPS ONLY FOR THOSE NEEDING TO FLASH BOOTLOADERS - END * *

----------------------------------------------------------------

CONTINUED DIRECTIONS FOR FLASHING WITHOUT BOOTLOADERS AND WITH BOOTLOADERS

Enjoy! Hit Thanks Below!

----------------------------------------------------------------

o When you are finished with Heimdall One-Click - your phone will now be running:

Firmware version: 2.3.6

Baseband version: T959VUVKJ6

Build number: GINGERBREAD.VUVKJ6

----------------------------------------------------------------

o Directions to ADD Java as Path Variable:

You first need to find the folder on your computer containing [java.exe]. For me - [java.exe] is in [C:\Program Files (x86)\Java\jre7\bin]. The location of this file is dependent on where you installed Java.

Once the [java.exe] is located - notate the EXACT path [i.e. C:\Program Files (x86)\Java\jre7\bin] where the file is located.

Open [System Properties] on your computer. How to open [System Properties] is dependent on your Operating System. However - you can access [System Properties] on most Windows machines by Right Clicking on [Computer] and selecting [Properties]. Please do a Google Search if you are unaware as to the method to access System Properties.

In [Environmental Variables...] - under [System variables] look for [Path] and double-click.

In the window that opens - move to the very end of the text in [Variable value:] and add the path of the folder containing [java.exe] separated by a semi-colon. For me - I added [;C:\Program Files (x86)\Java\jre7\bin\] - no spaces.

Select [Ok] to all the windows you have since opened to make this change.

You will need to close the previous [Command Prompt] window you opened when you received the error and open a new [Command Prompt] window.

XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality.Are you a developer?