How to Install Android 2.3 Gingerbread on Samsung Galaxy S
In order to install Android 2.3 Gingerbread on your Samsung Galaxy S, there are a few pre-requisites.
1. Your Samsung Galaxy S must be rooted. If it isn't, first root your phone before you proceed further.
2. Your /data must be converted to the EXT4 format by using something like the Voodoo lagfix or any other EXT4 lagfix.
3. You should have complete backups before you do this
4. You should have busybox installed on your Galaxy S
Steps to Install Android 2.3 on Galaxy S
1. Download the Cyanogen Mod 7 system dumps on your PC using this link
Copy it to your SD card.
2. Also download the Nexus S Kernel for the Galaxy S
Copy this to your SD card as well and insert the SD card into your device.
3. Now connect your Galaxy S to your PC and run the following commands via ADB.
busybox tar zxvf /sdcard/CM7.tar.gz
busybox cp -a /efs efs
4. Now, just flash the nsonsgs-unsigned-cwm-update.zip via CWM recovery. You can use ODIN client to flash the kernel. Just select the file with NO PIT and NO Repartition.
Now, if you want to revert back to your original Froyo ROM, just flash it back using ODIN. Alternatively, you could also use Heimdall to flash the ROMs.
You should now see Android 2.3 Gingerbread (Cyanogen Mod 7) booting on your Galaxy S, with the Nexus S kernel by Supercurio and a CM7 image file.
Some features like the Wi-Fi won't work. It also doesn't have the official Google Apps.
Note: I would like to warn you that this process is a bit risky. You could brick your Galaxy S rendering it useless. Wait for a more stable ROM or an official update to Android 2.3 Gingerbread by Samsung. Try this method at your own risk.
ROM Source: XDA 1 / XDA 2