First of all: Make backup (root your phone and save apps, contacts, /efs directory from the root and others)
Ok. The easiest way to upgrade your Samsung Galaxy S (i9000) is to use Heimdall. =) This is an Open Source project (see the project page).
What is Heimdall? Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung Galaxy S devices.
Let’s see it step-by-step:
Go to the xda-dev forum.
- See this video on youtube: You are a Noob on XDA-Developers. (important step)
- Go to the Heimdall firmware packages for stock GT-I9000 firmwares thread.
- Find and download your regional firmware package.
You can find the European package in the main post.
XXJVS for 2.3.5 or XXJVQ for 2.3.4 etc.
- The downloaded file will be a .tar archive. Do NOT extract it.
- Download Heimdall. I use v1.3.0 on mac now (as you see below in screenshots).
- Install Heimdall. It probably needs to restart the machine afterwards… so save this post into your bookmarks.
- Open Heimdall.
- Turn off your phone and plug the USB cable into your computer, but don’t plug into the phone.
- Hold down the
Home
and theVolume Down
buttons and while you hold these buttons plug the cable into the phone. The phone turns into Download mode. Nice. - In Heimdall, push the
Detect
button under theUtilities
tab. - Switch back to
Load package
tab and use theBrowse
button. Yes browse your downloaded.tar
file. - Wait… Wait… Wait…
- Now you can see the Firmware Name (eg: Stock),
Version (eg: XXJVS),
Platform (eg: Android 2.3.5),
Developers (Samsung),
the Package File List (in the right) and other useful information.
Ok. Hit the
Load/Customize
button in the right-bottom corner. - You don’t need repartition if you have Froyo or newer (checkbox in the left).
If you don’t want to customize your package, for example kernel,
just press
Start
and wait, again =) - You are done. You have a v2.3.5 Android on your Samsung Galaxy S.
If you want to root
your phone (with the “new” v2.3.5 Gingerbread)…
- Download the latest CF-Root for the selected Android version like CF-Root-XX_OXA_JVS-v4.1-CWM3RFS for XXJVS and unzip it. You find one file. Yes zImage =)
- Slap on a Terminal/Console/cmd.
- Go back to the Download mode (Step 9-10)
- Enter this command:
heimdall flash -kernel zImage
. - Wait a moment.
- Finish =) The kernel installs some apps like Superuser. Superuser is outdated, so you need to update it from the Market
Nice ^_^ It was easy, right? That’s why I love Heimdall.