[Galaxy S I9000 Q&A, Help & Troubleshooting] oracle01642:
If you want to stay stock (that's official firmware), then download samsung kies and just connect your phone to your pc using a USB cable. A message will pop up saying there is a new updade (Gingerbread 2.3.6). Back your phone up, then click install. Easy!

If you want to go for a custom rom, I suggest you download CyanogenMod 10 stable from CyanogenMod.org (once downloaded, don't try to unzip or extract the file, leave it zipped!) The ROM is based on android 4.1.2 Jellybean. It's a great ROM and also very stable. You will need to root your phone first though before installing it. But before you do anything, you will need to do a factory reset, and wipe your phones cache/partition first. Just turn your phone off and press and hold the power button + home key + volume up button (all 3 together). A menu will will pop up with the options to 'wipe cache/wipe partition' and perform a 'factory reset'. Use the volume up/down buttons to navigate, and the home button to select each one.

Once you have done a factory reset and wiped your phones cache/partition, you will need to find a root file for the specific firmware that is on your phone at the moment (look in Chainfires CF-root thread here on xda). After downloading the root file unzip/extract it. Next, download odin. Almost any version of odin should do, but try finding (again on xda) odin version 1.85 or 1.87. Once you have downloaded the root file and odin, open odin, then put your phone into download mode (press and hold the power button + the home key button + volume down button. A yellow android should appear. Then, connect your phone to your computer via the USB cable.

In the bottom left corner of odin, you should see the word ADDED! in a small box (providing you have the right drivers installed). This just means your phone is now connected to odin and ready to flash. To the right you will see a button called PDA, click on it and it should take you to your root file (provided you extracted/unzipped it). Double click on it, and it will automatically go in the PDA box in odin.

Above the PDA button, there is a 'start' button. Click that, and odin will do it's magic. After your phone has rebooted it should be rooted and ready to go. Next, close odin and take the USB lead out, then plug it back in. An autoplay box should open. Click on the option 'open folder to view files'. In the left pane, click on 'removable disk (G), and look for your external SD card folder. Click on it to open, and drag the zipped CyanogenMod 10 stable folder there, then turn off your phone. Wait until it is completely off and vibrates, then press and hold the power button + home button + volume UP button together. Your phone should boot into recovery mode.

Look for the option 'install zip from sdcard'. Again, use the volume up/down button to navigate, and the home key to select. After you have selected 'install zip from sdcard', there will be another option that says 'choose zip from sdcard'. Click that, and you should see a long list of folders. Toggle down to the 'external_sd' folder, and open it. The zipped CyanogenMod 10 stable folder should be there. Use the volume or up down button to select it, then hit the home key button. It will then install the ROM. When it's finished, just select 'reboot phone', and you are done!