This is based on SC's idea of using /data to store the gingerbread files, which works even if FSR is not loaded.
I also went forward and fixed the keyboard issue, so now the home, back and menu buttons work as expected! Oh, and also added recovery mode (running steam recovery of course ), that can be opened using the ususal three button combo. ("adb reboot recovery" or similar will not work however)
What still doesn't work:
- Modem (3g and phone)
1. Download the system dump from here, and put the file on the root of your internal SD card
2. If not already on ext2 or ext4, convert your /data partition to ext4. (because the next step requires Steam Recovery, I'd go with Steam kernel, if your current one doesn't support ext on /data)
3. Download the afterburner install files from here
4. Create a steam directory on your internal sdcard, and put the previously downloaded file there. If there are other afterburner*.zip files there, delete them.
5. Enter Steam Recovery (there are multiple ooptions on how you can get it), choose afterburner, select both options, then press "Install". This will take a while. You might want to switch to log window 1, where you can see the /system extraction progress
6. After finished, reboot. Gingerbread will boot up.
7. If asked to install Steam kernel you can do so, but first read note.
8. Enjoy. To switch back, flash any kernel. If you want your old data back, flash a kernel with ext4 support.
9. If you switched back to a "normal" kernel, you can use afterburner to get back to gingerbread too. Only select the second option when running afterburner, and on the next reboot, gingerbread will greet you in a state as you've never left it.
Note: A steam kernel installation requires you to reboot into recovery after installing it. On base Galaxy S ROMs this is done automatically, but gingerbread's kernel lacks the commands needed to programmatically reboot into recovery. Therefore it will always reboot into normal android mode, where he finds out that he needs to reboot into recovery, but boots into normal mode, etc... to exit this loop simply reboot into recovery manually (using the three button combo), to finish installation of Steam Kernel. You will be greeted with the afterburner window, press back without selecting any of the options (they won't work anyway), and you're done.
Alternate install: Of course you don't need afterburner to install this. Simply follow the instructions on supercurio's page, but use the kernel found inside afterburner.zip, instead of the one provided on the mentioned thread. /data needs to be converted to ext4 though.
Steam Kernel: https://github.com/SteamMOD (all directories starting with android_bootable_steam_ / tag 126.96.36.199)
Fixed kernel: https://github.com/SteamMOD/steam_kernel_ns_on_galaxys
You can compile it by yourselves using the Android Compiler VM 2.0 with the compiler scripts found here