[Galaxy S I9000 General] Virnik0:
This Howto describes whole procedure to install Android 2.3.4 Gingerbread to Samsung Galaxy S I9000/I9000M

BEWARE: Following theese steps can be potentially dangerous. You are going to undergo potentially risky operation. In bad case, or if you do something wrong, you may brick your phone. Feel free to ask, if you are unsure.

First try to boot your phone in Download Mode (described in the howto, so look for it). If it works, follow Instructions in [Block 2]

If it does not work, ie. you can't boot your phone in Download Mode, then start with Instructions in [Block 1]

First of all, download I9000XXJVQ_by_Virnik.rar and extract it somewhere (for example on your desktop). All files mentioned in this howto are compressed in this package. Enter FLASH directory you have extracted. All things needed are categorized in it's specific folders.

You will get following folders from it (Inside extracted FLASH folder):

- Kernel

- Odin

- ROM

- Theme

And for the Theme, there are two Theme versions in the big RAR archive. DeepBlue and DeepPurple. Both can be outdated, so check their threads, to have latest one.

We will use all of them in [Block 2] of this howto.

Please understand, that Ficeto's Deodexed JVQ ROM zip package in this big archive is not same as official Ficeto's ROM, I have changed installed kernel and modem, to suit my needs. I have also removed few unnecessary apps from it.

[Block 1]

If you have problem with button combo, which means that your phone ignores Download mode and startup normally, follow theese instructions:

Preparations: Make sure you have the drivers installed (i.e Kies is recognizing the phone), adb available and "USB Debugging" turned on in "Settings -> Applications -> Development" menu. Type *#0228# in the dialer and check Voltage value (without USB plugged in) is atleast 3800(mV).

1] Unplug the phone from the computer (if connected)

2] Kill all Kies related software (tray agent, etc)

3] Start Odin

4] Plug in the phone to the computer

5] Start a new command prompt and navigate to the folder / drive where adb is located. If you haven´t downloaded adb yet, get it here.]

6] Type "adb reboot download" to the command prompt and press enter.

7] Switch to Odin and select the Aries_P-SBL.tar.md5 as PDA file. Make sure "Phone Bootloader Update" is ticked and re-partition is unticked. Do not select any other files but "Aries_P-SBL.tar.md5".

8] Press "Start" button to launch the update process. It will take around three seconds to complete. After the update phone will reboot automatically.

Thanks Richthofen for this part of my howto]

[Block 2]

If your phone is NOT branded and SIM-Locked, your way to new firmware is much more shorter. Follow theese instructions:

01] Enter Odin folder and startup Odin.

a) Click PIT Button, select s1_odin_20100512.pit file

b) Click PDA Button, open ROM/Stock folder and select CODE.tar file.

c) Click PHONE Button, open ROM/Stock folder and select MODEM.tar file.

d) Click CSC Button, open ROM/Stock folder and select CSC.tar file.

e) Tick "Re-Partition and if you were using Froyo previously, "Phone Bootloader Update" tick boxes

02] Power off your phone and make sure you have SIM card out, SD card out. Disconnect USB.

03] Press and hold 3-button combo, to boot your phone in Download mode (Volume down, Home, Power)

04] Connect your phone to the PC via USB cable.

05] In odin, ID:COM field shall change color to yellow, and in Message window, you will see message "Added"

06] Now press Start button.

07] Go and take cigarette, coffee, etc. This will take up to 5 minutes.

08] Phone will reboot itself. Disconnect USB. Pull out battery, once it is booted, and place it back.

09] Press and hold 3-button combo, to boot your phone in Download mode (Volume down, Home, Power)

10] Switch back to Odin, and press "Reset Button"

a) Click PDA Button, open Kernel folder and select CF-Root-XX_UNK_JVQ-v3.7-CWM3RFS.tar file

b) Make sure Re-Partition Button IS NOT ticked

c) Connect your phone to the PC via USB cable.

d) In odin, ID:COM field shall change color to yellow, and in Message window, you will see message "Added"

e) Now press Start button.

11] After successfull flash, phone will reboot itself, and Odin will write Success message.

12] Let your phone boot, meanwhile disconnect USB.

13] Once you'll set your language (you can skip all other configuration wizzard's steps), go to the Settings->Applications->Development->USB Debugging and tick it.

14] Connect USB to the phone now. You will notice information "USB Connected" in the notifications. Click it. Mount internal storage. Phone's internal SD card will become visible for the windows as a flash drive.

15] Delete everything from the SD Card, or move it somewhere to your desktop as a backup.

16] Copy XXJVQ_Deodexed_Zipaligned_MultiCSC_signed.zip file from ROM/Deodex directory to your phone's internal SD card.

17] Now it is time to choose. Are you boy, or girl? Because boys will most likely want their phone to be in blue color, girls will prefer Ping/Purple color. After you're decided, copy file of your choose from Theme directory to the internal SD card. You can take a look how it will look like in DeepBlue Theme or DeepPurple Theme threads. It is definitelly worth to look there, because Theme packages in the big RAR archive is not up-to-date as Theme zips in those threads are.

18] Time for another kind of magic. We will use another button combo, this time recovery mode. Press Volume Up, Home, Power

19] In the Recovery Mode, use Volume Up/Down to move in the menu. Select "Install zip from sdcard" and then press Power. Then select XXJVQ_Deodexed_Zipaligned_MultiCSC_signed.zip to install and confirm by pressing Power.

20] Progress bar will show up for a while. After that, select "Reboot system now"

21] Once It'll boot (this will take few minutes, because dalvik cache has been wiped, and needs to be regenerated from new files, and then filesystem conversion will start, so be patient), power off your phone again, and start in recovery.

22] Back in recovery Mode, use Volume Up/Down to move in the menu. Select "Install zip from sdcard" and then press Power. Then select DeepBlueTheme_JVQ_By_Virnik_v099-5.zip file or DeepPurpleTheme_JVQ_By_Virnik_v090-5.zip file to install and confirm by pressing Power. Reboot your phone once it's finished.

OPTIONAL:

Install Neldar's BLN app (paid) from the Market, and enable BackLight Notifications for incomming calls, SMS, emails, and so on.

Performance tips:

Download Tegrak from the Market, and try to overclock your phone to 1100MHz (which is absolute safe on every SGS). Test it a little with games and such, and then try higher value, for example 1200MHz. If your phone freeze, then stay with lower values, if not, you can try even higher value (1400MHz).

Most phones will handle 1200MHz maximum without any bad side effects. My own phone for example, can handle 1152MHz without freezing, and 1200MHz makes my phone freeze from time to time, so you can test it yourself.

You can test with Quadrant or Linpack, to see how your overclock affect overal performance of your phone ;-)

Vocabulary:

Button COMBO:

- Button Combo is trick, in which three buttons are pressed simultaneously, to force some action on the phone.

- Typically, phone can reboot in Download Mode, and Recovery mode. Some providers are disabling this. For this reason, first part of the howto has been created.

a) Download Mode Combo - Power off your phone. Now press Volume Down, Home, Power. If you did everything right and your phone dont have this disabled, your phone will start in Download Mode. You can verify it very easily, because you will have yeallow triangle in the centre of the screen with green Android robot with shovel in hands in the centre. Download Mode is used to flash your phone. Simply, it instruct phone to await data load from your computer. Dont worry, if you start download mode accidentaly, simply restart. It does not break anything.

b) Recovery Mode Combo - Power off your phone. Now press Volume Up, Home, Power. If you did everything right and your phone dont have this disabled, your phone will start in Recovery Mode. You can verify it very easily, because you will have text menu on the screen. You can move between each line by Volume Up (for moving selection UP), Volume Down (for moving selection DOWN) and Home to enter (start chosen action). In Recovery mode, you can apply update from sdcard (typically root kit, or anything inside update.zip, which have to rewrite/update something in the system), Factory Reset, or fix problems (some old versions of One Click Lag Fix broke system up, because it failed to create/delete ext2 partition, which ****ed up internal storage), such as clear phone app cache, reformat internal sdcard, and such.

Answers and questions:

Q: Can I use this for updating my Indian/Mexican/Japan phone?

A: Yes. But do not forget that this is european firmware, which means it will allow you to choose from european languages. If you want your phone in your own languages, you will need to choose different firmware from samfirmwares, depending where are you from. Then you can use that firmware, it does not change anything in the howto, except for the firmware nationality.

Q: I have my phone SIM-Locked, what can I do?

A: Follow second part of the howto first.

Q: I have my phone branded/download mode ignored, what can I do?

A: Follow second part of the howto first.

Q: Will it rewrite my files to Korean ones?

A: No. It will use european firmware, if you stick close to this howto.

Q: Will different nationality firmware change anything in this howto? Do I have to follow little bit different instructions?

A: No. You may miss some language support or Swype in your language, but that changes nothing.

Q: Can I hug you?

A: You can - if you are disease free, but I will not travel from my home town. In adition, you will also need to find me yourself ;-)

Q: Where are the files I need to proceed with this howto?

A: Few lines after this sentence :p Just choose your mirror, and enjoy.

(will be updated, once somebody asks something important)

PS: Once everything finished, install Quadrant from Android Market. Quadrant is very good benchmark. Write here your score please. Better than that, download Quadrant before whole procedure, write down your score, then start upgrade procedure. After finished, compare both numbers - before and after. Now you can feel the difference, aren't you? :-D

PS2: Tired of baterry live time? Here is another tweak. Download SetCPU from Android market. Give it root permission (simply agree, when it asks upon app start), set it to start at boot. Set frequency (min, max) to 1000MHz and policy to ondemand. Create new profile, set it to underclock phone's CPU when display is off to 200MHz. Done. To be sure, restart your phone. From now on, when your phone goes to sleep (simply laying in your pocket with display off), it underclock itself, which save batterry a lot.

PS3: Another baterry eating problem is number of running apps in the background. From Android Market, download Advanced Taskkiller (paid app, but worth it).

Install, setup it to start at boot, to kill unneeded processes every 30 minutes. BEWARE! You will have to set Settings and few other apps u like to be ignored in the Advanced Task manager!

PS4: Want to have nice UI, like the HTC's one? Download Launcher Pro (and pay for it to upgrade to Plus version). Then download Beautiful Widgets (paid too).

Play a little with its settings. Again, it is well worth it.

UPDATE:

Before you proceed, you shall install Busybox from the Market. Run it, and let it download and install busybox environment (to tell it straight - linux commands for the commandline, many apps for the root users uses them).

If you are concerned about Product Code and it's changing, here are procedure to do this. Keep in mind that JPY WILL NOT OVERWRITE your product code. It is fault of older firmware flashed previously. And as whole howto, it will be manual procedure again:

Check you actual Product Code by writing *2767*4387264636# in your dialer.

Then there will be a line that says:

[2] PCode:"your phone model type"

Due to previous flash, it can be wrong. So now we will change it to the proper value:

Text Mode Method:

Download Terminal Emulator from the Market

- Open the Terminal, enter ''su'' to gain root access

- Enter: cp /efs/nv_data.bin /sdcard/

- Connect you're SGS to the usb and download ''nv_data.bin'' to your computer

- Open ''nv_data.bin'' with HxD Editor and search for ''KOR'' - change this to the product code matching your country (red marked text should be changed). Im czech, so mine is XEZ. The line looks like this:

ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿMP 0.800 ÿ[COLOR="Red"]KOR [/COLOR] GT-I9000HKD[COLOR="red"]KOR[/COLOR]

- Now simply save your changes.

- Connect your SGS with usb, upload ''nv_data.bin'' to internal sdcard.

- Disconnect USB !

- Open Terminal Emulator and enter ''su''

- Now enter: cp /sdcard/nv_data.bin /efs/nv_data.bin

Also enter: rm -rf /efs/nv_data.bin.md5

- Close terminal, Reboot Phone. And Voila!!! Product Code restored!!

GUI Medthod:

Download Android Mate from the Market

- Open the Android Mate, and switch to File Explorer bookmark at the top

- navigate to the /efs folder

- by ticking, select nv_data.bin, and from the bottom menu, choose copy.

- navigate to your sdcard directory (/sdcard for internal SD, or /sdcard/external_sd for external SD, does not matter)

- press Paste from the bottom menu.

- Connect you're SGS to the usb and download ''nv_data.bin'' to your computer

- Open ''nv_data.bin'' with HxD Editor and search for ''KOR'' - change this to the product code matching your country (red marked text should be changed). Im czech, so mine is XEZ. The line looks like this:

ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿMP 0.800 ÿ[COLOR="Red"]KOR [/COLOR] GT-I9000HKD[COLOR="red"]KOR[/COLOR]

- Now simply save your changes.

- Connect your SGS with usb, upload ''nv_data.bin'' to internal sdcard.

- Disconnect USB !

- Open Android Mate again, select File Explorer, find and tick your changed nv_data.bin, and press Copy from the bottom menu

- navigate again to the /efs directory, and press Paste from the Bottom Menu.

- tick "nv_data.bin.md5" file, and press Delete from the Bottom Menu (it will be autocreated after reboot)

- exit Android Mate, and reboot your phone.

Available Country Product Codes are here:

ATO -Austria (A1, bob, T-Mobile A, Orange AT, tele.ring, 3, yesss!, aon)

AUT - Switzerland (sunrise, Swisscom, Orange CH)

CNX - Romania (Vodafone RO)

COA - Romania (Cosmote)

COS - Greece (Cosmote)

CRO - Croatia (T-Mobile)

CYO - Greece (MTN, CYTAVODA)

EUR - Greece (WIND GR, vodafone GR, COSMOTE)

HAT - Romania (RO Orange, Vodafone RO, Cosmote)

IRD - Slovakia (Orange, T-Mobile SK, 02 - SK)

KOR - Korea (SEC Test)

MET - Ireland (Meteor)

MOT - Slovenia (Mobitel)

MOZ - Switzerland (Sunrise, Swisscom, Orange CH)

MSR - Serbia (Telenor)

MTL - Bulgaria (MTEL)

O2C - Czech Republic (O2 - CZ)

O2I - IE (02.ie)

ORO - Romania (RO Orange)

SEB - Baltic (LMT GSM, LV TELE2, LV BITE, LT Omnitel, LT Bite, LT TELE2, EE EMT, EE ELISA, EE TELE2)

SIM - Slovenia (Si.mobil)

SMO - Serbia (mt:s, Telenor, Vip SRB)

SUN - Switzerland (Sunrise)

TMZ - Czech Republic (T-Mobile CZ)

TOP - Serbia (Vip SRB)

TPH - Portugal (P TMN, P Optimus, vodafone P)

TRA - Croatia (T-Mobile HR, HR VIP, TELE2)

TSR - Serbia (mt:s)

TWO - Croatia (TELE2)

VDH - Hungary (vodafone HU)

VDI - Ireland (vodafone IE)

VIM - Makedonia (VIP MK)

VIP - Croatia (HR VIP)

VVT - Bulgaria (vivacom)

XEH - Hungary (T-mobile H, pannon, vodafone HY, vodafone HU VMAX

XEO - Poland (Plus, Era, Heyah, Orange, Play)

XEZ - Czech Republic (T-Mobile CZ, O2 - CZ, Vodafone CZ

XFA - South Africa (Vodacom, Vodacom Lesotho, MTN, Cell C, Virgin)

XFC - South Africa (Vodacom, Vodacom Lesotho, MTN, Cell C, Virgin)

XFE - South Africa (Vodacom, MTN, Cell C, Virgin)

XFM - South Africa (Vodacom, Vodacom Lesotho, MTN, Cell C, Virgin)

CPW - UK & IRE (O2 UK, Orange UK, T-Mobile, Virgin Mobile, Vodafone UK, TESCO, BT Mobile, H3G, Asda, O2 IRL, Vodafone IE, Meteor, H3G IE, Tesco Mobile Ireland)

DBT - Germany (T-Mobile D, Vodafone.de, E-Plus, o2 - de)

ITV - Italy (TIM, Vodafone, WIND, H3G)

XEF - France (Orange F, F SFR, BOUYGTEL, NRJ (SFR), Virgin, Tele2, Auchan, Carrefour, NRJ (ORANGE), Orange (340 01), Orange (647 00), Debitel, Leclerc, Digicel)

XEO - Poland (Plus, Era, Heyah, Orange, Play)

XEU - UK & IRE (O2 UK, Orange UK, T-Mobile, Virgin Mobile, Vodafone UK, TESCO, BT Mobile, H3G, Asda, O2 IRL, Vodafone IE, Meteor, H3G IE, Tesco Mobile Ireland)

BMC = Bell Mobility Canada

SER - United Kingdom (O2)

XEE - Nordic Countries (Telenor and others)

XSO - Singtel

MOB - Austria A1 (Mobilcom)

TMH - T-Mobile Hungary

XEN - Netherelands

If you like this thread and if it helped you, please vote for it with five stars, and to be at front page ;-)

If I did help you, please do feel free to thank me by Thanks button.

Works for me!