Update: Follow this link for the updated guide → Updated guide to install Cyanogenmod 9 on Galaxy S i9000.
Only yesterday, CM9 was released for Samsung Nexus S and today we have this next generation of one of the most popular rom, Cyanogenmod, for our dear Galaxy S i9000 too.
In case you didn’t know, CM9 is the version of Cyanogenmod which is based on Android’s latest OS, v4.0 - Ice Cream Sandwich. And that CM9 is a successor to CM7 — which was based on gingerbread — omitting the CM8 altogether since Google never released AOSP code of Android 3.x to public.
Oh yes, it hasn’t been labeled as Cyanogenmod 9 officially yet, but the cool dude cum developer of this rom, pawitp, says it’s ‘to be CM9’. So, we believe it’s going to be called CM9 pretty soon, and we’ll be maintaining this page as we’ve maintained the CM7 page with updates and all that.
Also worth noting is the fact that this ICS rom by TeamHacksung is void of cyanogenmod proprietary mods and tweaks — like, T-Mobile theme engine, Cyanogenmod settings, toggle widgets in notifications bar and other countless super cool features. It’s a simple ICS port right now by CM team members who maintain the rom on Samsung devices, and we think once these special features get integrated with this port, it will get its title of Cyanogenmod 9, or CM9 if you prefer, officially.
So, without much ado, lets see the installation steps and FAQs, but be sure to backup necessary data on your phone before beginning the installation process.
Warning!
The methods and procedures discussed here are considered risky and you should not attempt anything if you don’t know completely what it is. If any damage occurs to you or your device, we won’t be held liable — you only will be responsible, you’ve been warned!!!
Compatibility!
This guide is applicable only for Samsung’s Galaxy S international version (GT-i9000). Check your phone’s version in Settings – About Phone. It has to be “GT-i9000” for this firmware to be compatible with your phone. If it’s not GT-i9000, simply don’t try this ROM on your android handset — don’t even think about it if you care about your android device.
Do not try this on other Galaxy S variants: i9000B, i9000t, Captivate, Vibrant, Fascinate, Epic, etc.
ROM Info:
- Official Development thread
- Based on Android 4.0.1
- A million thanks to pawitp — Cyanogenmod team member, responsible for development of CM9 on Galaxy S.
Remember, the rom is buggy right now, and obviously it’s a bit far from stable release. So, be prepared for a bumpy ride and don’t complain about ‘what not works’ while remaining content with how much already works, thanks to these awesome devs. Samsung might not even launch ICS based firmware for you, just FYI.
Update: It’s not that buggy now, as hardware acceleration is working now.
How to Install Cyanogenmod 9 (CM9) on Samsung Galaxy S i9000
- You need to have clockworkmod recovery installed on your Galaxy S. If you don’t have, do this:
- Download and Install XXJVS Android 2.3.5 firmware.
- Root XXJVS. This will also install ClockWorkMod (CWM) recovery, which is needed to flash CM9 Ice Cream Sandwich rom. Yep — you cannot have CM9 without a custom recovery like CWM.
- Download the latest version of CM9 rom, Google Apps and Face Unlock files from here. The current version, as of today Dec 07, 11 are (together with links):
- Transfer the CM9 rom to phone’s internal sdcard. (Also transfer the Google Apps and Face unlock files, you’ll need them in steps 14 ad 15 respectively.)
- Go to recovery mode. For this, simply open the CWM app (you get it after step 2) and tap on ClockWorkMod to reboot phone into recovery mode. [Other way to reboot in recovery is to switch off phone and then press and hold 3 buttons together: VolumeUP+Home+Power till the Galaxy S logo shows up on screen]
- In recovery, use Volume keys to scroll up and down between options and power key to select an option.
- Prepare for installation by wiping off old data:
- Go to and select wipe data/factory reset first, and then choose yes on next screen
- Now, go to and select wipe cache partition and select yes on next screen
- Also, go to Advanced » select wipe dalvik cache and select yes on next screen
- Go back to main screen on recovery
- Now, flash the CM9 rom. For this, in recovery, go to and select install zip from internal sd card » choose zip from internal sd card » browse through sd card and select the file CM9 rom you downloaded in step 2 and transferred in step 3 above.
- This will flash the required files on your phone to ready the phone for actual rom flashing, and will reboot your phone into recovery again.
- Flash the rom again — select install zip from internal sd card » choose zip from internal sd card » browse and select the file CM9 rom again.
- This time, CM9 will be flashed for real and after it’s installed, your phone will reboot automatically, and you’ll soon see the new boot animation you’ve probably already seen on Galaxy Nexus videos.
- That’s it. You have the CM9 on your Galaxy S now. Enjoy the latest and greatest Android OS, Ice Cream Sandwich (ICS).
- [Optional] Send your regards — and donation (to support development, if you wish to — to pawitp , member of team Hacksung which is porting the CM9 on Samsung Galaxy devices.
- And btw, it’s already rooted — in case you’re wondering coming off from earlier Ice Cream Sandwich port for Galaxy S.
- Install Google Apps — to install Market and other missing apps, flash the file you downloaded in step 2.2 (and transferred in step 3) above using the install zip from internal sd card option in recovery. (You can do step 15 below just after this flash, no need to reboot and come back to recovery.)
- Install Face Unlock function — flash the file you downloaded in step 2.3 (and transferred in step 3) above using the install zip from internal sd card option in recovery. Select ‘reboot system now’ to reboot the phone.
Share your thoughts and observations in comments below. Enjoy!
Known Issues
- The UI is a little bit laggy (due to lack of hardware composition).
- Video recording does not work.
- Video playback is not hardware-accelerated.
- The front camera produces distorted preview.
- Photo taking does not work with the front camera.
- Some camera options FC. (The camera is a temporary hack, when the Nexus S ICS source is released, there will be a proper fix.)
- Movie Studio does not work.
- FM Radio does not work.
- Device encryption does not work.
- USB Tethering on Windows requires the user go to to driver update and manually select the RNDIS driver.
- Factory reset (from settings menu) does not clear /datadata.
- Sometimes wifi strength won’t show after boot if wifi is enabled. Toggle once to fix.
- A2DP bluetooth headsets do not work.
- Large photos cannot be edited.
Fixed Issues
BUILD 7
- Cannot encrypt phone after restoring data.
- Wi-Fi problems for Iran users
- Market download temporarily goes to /datadata
- Support for TV Out (in Galaxy S Setting application)
- Screen appearing for a split second after screen off animation
BUILD 6
- Persistent “Removed SD card” message on external sd card removal.
- Missing library for Android Open Accessory
- Support for USB Mass Storage (see FAQ)
BUILD 5
- VPN does not work
- Regression in device encryption
BUILD 4
- Large photos cannot be edited.
- Missing Live Wallpapers
- Bluetooth Reverse Tether does not work
- Wi-Fi Direct not supported (it’s supported in settings now, but apps are needed to use it as ICS does not come with any use-case for Wi-Fi direct)
- Sometimes wifi strength won’t show after boot if wifi is enabled. Toggle once to fix. (fixed, hopefully)
GApps v5.1
- GApps: Missing TTS libs
GApps v5
- GApps: Missing Picasa Sync
- GApps: Unable to purchase apps
Build 3
- Device encryption does not work. (Note: temporarily broken again in BUILD 4, works on BUILD 5)
- User does not have write permission for external sd
- A2DP bluetooth headsets do not work.
GApps v4
- GApps: More missing libs for GoogleTTS
Build 2
- Superuser.apk does not open.
- Installer does not work on Samsung ROMs.
- Factory reset (from settings menu) does not clear /datadata.
GApps v2
- GApps: Missing voice chat, maps, text-to-speech libraries
- GApps: Android Keyboard appears twice in Settings.
And finally some very useful FAQs (and tips) from the pawitp himself:
Frequently Asked Questions
Can I mount the phone as mass storage via USB?
The current configuration only allows transferring files via MTP (which supports both internal and external SD) from within android. You may mount the internal SD as mass storage from within recovery.
I can’t adb into the phone!
The build currently uses Galaxy Nexus driver due to the MTP support. Please download the driver here: http://www.multiupload.com/BUCFT8M42N. In recovery, the Nexus S driver should be used.
Can I flash other modems?
You may flash modem packages designed for CM7.
Does 3G work? Do I need to install a script for it?
3G works out of the box without the need for any script hack. If it doesn’t connect, please check if you have the correct APN.
How do I take a screenshot?
The screenshot taking function is built into ICS. Hold volume down + power.
Can I use CM7 kernels?
No, the kernel has modifications to make graphics, camera, data counter and data limit work.
Can I disable LED Notification?
Yes. Untick Settings -> Display -> Pulse notification light.
Maps keeps asking me to sign in even though I’m signed in!
Ignore the sign in dialog and pull down the notification menu. Answer the request for permission. Do this a few times and Maps will work.
How do I enter Galaxy S Settings (Device Settings)?
Type “am start com.cyanogenmod.AriesParts/.AriesParts” from adb
How do I enter service mode?
Type “*#*#197328640#*#*” into the dialer.
Is there a Captivate/Vibrant version?
A captivate build from the same source (but with captivate config) is available here. We currently lack a developer/maintainer for Vibrant.
Does this work for I9000B?
No, the I9000B requires a different kernel configuration. A build for I9000B may be added later in the process.
What’s working? Why is there only a list of issues?
Everything else not listed are supposed to be working (aside from the usual CM7 bugs). If they’re not listed, please post so that they can be added to the list of issues. A list of issues is far more useful from a development standpoint.
Overview video
Screenshots
- Dusii
- Dusii
- http://www.theandroidsoul.com/ Kapil
- Stephan
- Abdullahsalim94
- Marvin_baller10
- gs
- http://www.theandroidsoul.com/ Kapil
- Guludl Md
- mega05
- http://www.theandroidsoul.com/ Kapil
- Yochannaidu
- johnlei
- http://www.theandroidsoul.com/ Kapil
- johnlei
- http://www.theandroidsoul.com/ Kapil
- johnlei
- http://www.theandroidsoul.com/ Kapil
- johnlei
- http://www.theandroidsoul.com/ Kapil
- johnlei
- http://www.theandroidsoul.com/ Kapil
- johnlei
- http://www.theandroidsoul.com/ Kapil
- Roger
- Fahim
- Fahim
- http://www.theandroidsoul.com/ Kapil
- Fahim
- http://www.theandroidsoul.com/ Kapil
- Nile
- Nile
- http://www.theandroidsoul.com/ Kapil
- Nile
- http://www.theandroidsoul.com/ Kapil
- Nile
- Prabhu
- Nile
- Nile
- Osmankhan1994
- Marian Marian
- http://www.dreambloggers.com Rajan Balana
- Returpant2kr
- Serverhawaii
- Chris Brodie
- Chris Brodie
- Nathanwolfboy1984
- Nathanwolfboy1984
- Samihkw
- Samihkw
- Peet
- arcani
- Bart
- http://www.theandroidsoul.com/ Kapil
- http://pulse.yahoo.com/_AFMZSAV3ZVJS3INH7YG7S6X2DI Arcani
- Rock Kapak
- Tijmoer
- Rock Kapak
- Rock Kapak
- Francisburns10123
- http://www.theandroidsoul.com/ Kapil
- guesti