Steps this guide will walk you through:
- Calm down a bit
- Get everything you need to fix your phone
- Do the magic
- Boot your phone
Step 0: Backup
I can't stress this enough. Once you've really bricked your phone there's a chance you might not be able to access the data that's on there anymore. So, if there's stuff on your phone you care about, just backup it from time to time.
Step 1: Calm down
There's a myriad of exercises you can do to calm down, meditate, go for a walk/swim/jog, go to the gym, whatever works for you. Just chill out for a second because being in a completely panicked state is not going to help you to recover your phone.
Step 2: Get the tools in place
We need a few tools to fix your phone:
- Heimdall version 1.3.1. DO NOT download 1.3.2 it has issues with uploading large files
- Heimdall package of 2.3.6/XWJVZ: http://www.mediafire.com/?3v35chw9a8a2wmw
- CFRoot for 2.3.6/XWJVZ: http://download.chainfire.eu/130/CF-....3-CWM3RFS.zip
Once you've downloaded everything:
- Install Heimdall (run the installer)
- On Windows the link I provided also includes the GUI
- For Mac and Linux the link I provided only includes the command line binary, we don't want to use the GUI for this
- Extract the Heimdall package of 2.3.6.tar.gz to a directory, you should end up with the following files:
- firmware.xml << delete it, we're not going to need it
- s1_odin_20100512.pit << delete it, we're not going to need it
- zImage << delete it, we're not going to need it
- Extract the CF-Root-XX_OXA_JVZ-v4.3-CWM3RFS.zip, this contains only one file: zImage, put it next to Sbl.bin
- If the Heimdall installer asked you to reboot your machine but you didn't, do it now. That will make sure the drivers are loaded.
What we've done right now is set up your machine so that it's ready to flash your i9000 back to a Samsung release of Gingerbread. The astute reader might notice I'm telling you to delete the zImage (kernel) from the Heimdall package. This is true but we're replacing it with the one from CFRoot so you can flash a rooted stock instead of first flashing stock and then flashing CFRoot on top. Some people advice against this approach but it has never caused me issues.
Step 3: Do the magic
Now we're actually going to flash your phone. We're going to do this from the command line because the Heimdall GUI is a bit twitchy when it comes to flashing without a PIT-file. The command line has no such issue and will just download the PIT from your device and use that.
- Find out where Heimdall was installed (probaly %PROGRAMFILES%\Heimdall)
- Copy all the files (zImage, Sbl.bin and so forth) into the directory where the heimdall executable is located
- Go to the location of cmd.exe, right-click on it and select: Run as Administrator
- Now cd to the directory Heimdall was installed
- Issue a dir on the commandline to verify all the files (heimdall.exe and the rest) are there
Mac / Linux:
Heimdall was probably installed into /usr/bin so all you need to do is open a Terminal of your choice and see if running the heimdall command results in heimdall output or a command not found.
- Open a Terminal
- cd to the location of zImage, Sbl.bin and the other files from Step 2
Use the 3-button combo to put your phone into Download mode: Volume Down + Home + Power and connect your phone over USB to your computer.
Windows, issue the following command:
heimdall.exe flash --primary-boot boot.bin --cache cache.rfs --factoryfs factoryfs.rfs --dbdata dbdata.rfs --modem modem.bin --param param.lfs --secondary-boot Sbl.bin --kernel zImage
sudo heimdall flash --primary-boot boot.bin --cache cache.rfs --factoryfs factoryfs.rfs --dbdata dbdata.rfs --modem modem.bin --param param.lfs --secondary-boot Sbl.bin --kernel zImage
Heimdall v1.3.1, Copyright (c) 2010-2011, Benjamin Dobell, Glass Echidna http://www.glassechidna.com.au This software is provided free of charge. Copying and redistribution is encouraged. If you appreciate this software and you would like to support future development please consider donating: http://www.glassechidna.com.au/donate/ Initialising connection... Detecting device... Claiming interface... Setting up interface... Checking if protocol is initialised... Protocol is not initialised. Initialising protocol... Handshaking with Loke... Beginning session... Session begun with device of type: 0 Downloading device's PIT file... PIT file download sucessful Uploading KERNEL 100% KERNEL upload successful Uploading MODEM 100% MODEM upload successful Uploading FACTORYFS 100% FACTORYFS upload successful Uploading DBDATAFS 100% DBDATAFS upload successful Uploading CACHE 100% CACHE upload successful Uploading IBL+PBL 100% IBL+PBL upload successful Uploading SBL 100% SBL upload successful Uploading PARAM 100% PARAM upload successful Ending session... Rebooting device...
Step 4: Boot your device
Just let the phone boot but don't unlock your SIM-card / use it. Once it's is done booting for the first time just shut it down and now boot into Recovery Mode: Volume Up + Home + Power.
From here you can go into the Mounts and Storage section and then into the Mount USB menu. Now your phone will make it's storage available over USB so you can recover files you've lost or upload a zip-file to flash a new ROM.
Step 5: Rejoice
Your phone is now back into a workable state with a fully functional Recovery so you can now start flashing your fancy ROMs again.
A few pieces of advice:
- Before you flash anything else: data/factory reset and wipe your cache
- Before you flash anything else: flash CM 9.1.0, twice. The first time will upgrade your Recovery to 6.x but will then bootloop so you need to flash it again.
- If you want to flash a JellyBean ROM, flash CM 9.1.0 first. If you don't and try to upgrade from Gingerbread (2.3.6) to JellyBean in one go you'll probably end up with an invalid IMEI (no idea why this happens, it just does)