I've gotten into the habit of running all kinds of ROMs and sometimes they just blow up. Usually a reboot suffices but the last crash caused my phone to only bootloop and I couldn't get into recovery anymore, thankfully download mode still worked. This will focus on how to get your phone back to life, provided you can access download mode.
Steps this guide will walk you through:
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:
Once you've downloaded everything:
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.
Windows:
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.
Flashing:
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:
Mac / Linux, issue the following command:
If all went well you should get output similar to this:
Your device will now reboot. If it doesn't and stays at a black screen, just pull the battery, put it back in and turn it on.
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:
Good luck!
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
- Rejoice
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
- Windows: https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall-suite-1.3.1-win32.zip
- Mac: https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall-1.3.1-mac.dmg
- Debian AMD64: https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall_1.3.1_amd64.deb
- Debian i386: https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall_1.3.1_i386.deb
- Heimdall package of 2.3.6/XWJVZ: http://www.mediafire.com/?3v35chw9a8a2wmw
- CFRoot for 2.3.6/XWJVZ: http://download.chainfire.eu/130/CF-Root/SGS/CF-Root-XX_OXA_JVZ-v4.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:
- boot.bin
- cache.rfs
- dbdata.rfs
- factoryfs.rfs
- firmware.xml << delete it, we're not going to need it
- modem.bin
- params.lfs
- Sbl.bin
- 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.
Windows:
- 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
Flashing:
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:
Code:
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
Mac / Linux, issue the following command:
Code:
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
If all went well you should get output similar to this:
Code:
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...
Your device will now reboot. If it doesn't and stays at a black screen, just pull the battery, put it back in and turn it on.
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)
Good luck!