[Galaxy S I9000 Android Development] pawitp:
CyanogenMod is a free, community built, aftermarket firmware distribution of Android 4.0 (Ice Cream Sandwich), which is designed to increase performance and reliability over stock Android for your device.

#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/

CyanogenMod is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. CyanogenMod does still include various hardware-specific code, which is also slowly being open-sourced anyway.

All the source code for CyanogenMod is available in the CyanogenMod Github repo. And if you would like to contribute to CyanogenMod, please visit out Gerrit Code Review. You can also view the Changelog for a full list of changes & features.

What are Nightly builds? Auto compiled builds of the latest CyanogenMod source from github. This version change each night and aren't officialy supported. If you find bugs/issues you can/must discuss here (do not submit nightlies bug on CyanogenMod issue tracker).

Downloads

Latest nightly: http://get.cm/?device=galaxysmtd

Google Apps: http://goo-inside.me/gapps/

Installation

- First time flashing ICS to your Galaxy S (or coming from another ROM)?

Root your device and install ClockworkMod Recovery.

Reboot into Recovery using 3-button-combo

Do a Nandroid backup!

WIPE (wipe data/factory reset + wipe cache partition)

Install the ROM from internal sdcard using ClockworkMod Recovery

Optionally install the Google Addon

WIPE again or Calendar Sync will not work.

- Upgrading from CM7?

Do a Nandroid Backup!

WIPE (wipe data/factory reset + wipe cache partition)

Install the ROM from internal sdcard using ClockworkMod Recovery

Optionally install the Google Addon

- Upgrading from another CM9 (or teamhacksung) Build?

Do a Nandroid Backup!

Install the ROM from internal sdcard using ClockworkMod Recovery

Optionally install the Google Addon

Note: The upgrade process from CM7 to ICS is automatic, but downgrading from ICS to CM7 (or restoring Nandroid) requires flashing twice. Once from ICS and again from CM7's recovery.

FAQ (Read here for Change log!)

The FAQ is available on Teamhacksung's Wiki. Please read before asking any questions and please feel free to edit it.

http://teamhacksung.org/wiki/index.php/Experimental:GT-I9000:Frequently_Asked_Questions

Known Issues

Please check the list of known issues before reporting bugs.

http://teamhacksung.org/wiki/index.php/Experimental:GT-I9000:Known_issues

Reporting Bugs

You are allowed to report bugs only in this thread. Before reporting a bug, please make sure you are running as stock as possible. This means no custom kernel, no custom framework modification, etc. If you are using any of the above modifications, please flash the rom again to get rid of the modifications before reporting.

Grab a logcat right after the problem has occurred. (Please include at least a few pages of the log, not just the last few lines, unless you know what you're doing.)

If it is a random reboot, grab /proc/last_kmsg. (Do not bother getting a logcat unless you can get it just before the reboot. A logcat after a reboot is useless)

Remember to provide as much info as possible. The more info you provide, the more likely that the bug will be solved. The following is a useful format to follow.

What is your--
Phone model:
Radio (baseband):
CM version:
CM Download url:
Gapps version:

Did you--
wipe:
restore with titanium backup:
reboot after having the issue:

Are you using--
a task killer:
a non-stock kernel:
CMSettings/Performance settings (other than stock):
other modifications:

Provide any additional information (observations/frequency of problem/last version it worked on/etc) as needed:

The CyanogenMod team would like to thank everyone involved in helping with testing, coding, debugging & documenting! Enjoy!