Android Update, News, Apps and Hacks

CyanogenMod 9 (CM9) for Galaxy S [How To]


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.


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!!!


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:


  1. Official Development thread
  2. Based on Android 4.0.1
  3. 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

  1. You need to have clockworkmod recovery installed on your Galaxy S. If you don’t have, do this:
    1. Download and Install XXJVS Android 2.3.5 firmware.
    2. 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.
  2. Download the latest version of CM9 rom, Google Apps and Face Unlock files from here. The current version, as of today April 2, 2012, is (together with links):
    1. CM9 ROM build 16Link | Mirror 1 | Mirror 2 | Size: 106.35 MB. (md5 checksum: daae5ea6ee7f73b67f679417b0fe668a)
    2. Google Apps – Link [Btw, I would suggest you to download this from free app in market called ROM manager, so that you always get latest version available.] Face Unlock – Comes with gapps you download from ROM manager app in market.
    3. Google Apps Fixer — Flash this file if you get errors as regards Google apps. Flash from recovery mode, like you do in steps 14 and 15 for Google apps and Face unlock function.
  3. Transfer the CM9 rom to phone’s internal sdcard. (Also transfer the  Google Apps and Google Apps Fixer files, you’ll need them in steps 14 ad 15 respectively.)
  4. 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: Volume UP+Home+Power till the Galaxy S logo shows up on screen]
  5. In recovery, use Volume keys to scroll up and down between options and power key to select an option.
  6. Prepare for installation by wiping off old data:
    1. Go to and select wipe data/factory reset first, and then choose yes on next screen
    2. Now, go to and select wipe cache partition and select yes on next screen
    3. Also, go to Advanced » select wipe dalvik cache and select yes on next screen
    4. Go back to main screen on recovery
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. That’s it. You have the CM9 on your Galaxy S now. Enjoy the latest and greatest Android OS, Ice Cream Sandwich (ICS).
  12. [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.
  13. And btw, it’s already rooted — in case you’re wondering coming off from earlier Ice Cream Sandwich port for Galaxy S.
  14. Install Google Apps (includes Face unlock function too) — 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.)
  15. Install Google Apps Fixer — flash the file you downloaded in step 2.4 (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


  • 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


  • Persistent “Removed SD card” message on external sd card removal.
  • Missing library for Android Open Accessory
  • Support for USB Mass Storage (see FAQ)


  • VPN does not work
  • Regression in device encryption


  • 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: 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


Ice Cream SandwichGalaxy S CM9Cyanogenmod 9
  • Alejandro Merida

    It works… perfectly on.. I9000T… (i tried the most recent cm9 nigthly…) but the only bummer obviously.. is that it does not support 850 band.. wcdma nor gsm :( is it going to be a i9000T version? this mod is gorgeus… :)

  • pepeLEtoro

    I just did it on my International SGS1 and work perfect! Remember to download the latest Nightly build! I have no problems so far….

  • mishulake

    Can you tell mw why my phone has this behavior, from the attached video?

  • syesk

    SAMMY most of the latest smartphones are coming out with ICS already installed in them, EVEN NO MATTER THEY GOT SMALL CPU AND RAM,,,, WHY DO YOU NOT GIVE US ICS ICS ICS FOR I9001???

  • mathurjan.b

    @kapil can u please post the methods of updating the CM9 for galaxy s 2.3.4 xxjvr …please 

  • Stacie Hoxsie

    I had MIUI and switched to CyanogenMod for my i9000. This is a problem in both for me, that I have to put the person on speaker to hear them. They can hear me but I cant hear them. Anyone know how to fix this? The volume is up all the way

  • Chianu

    will this work on LG Optimus Black as they both have approximately the same hardware

    • Kapil

      Nope. No way. And these phones do not have same hardware, man, don’t try!!

  • Saasta

    I get E:failed to verify whole file signature
    E:signature verification failed
    Installation aborted
    What do i do? Thx!

  • surya prabhakar

    Phone not connecting to network ( mobile and wifi )  afte cynogenmod 9.
    Samsung galaxys – I9000
    It shows baseband version unknown
    cyanogenmod version 9.0.0-RC0-galaxysmtd-KANG

    Any clues?

  • Filip44

    will it work for 
    GT-I9070 Galaxy S Advance?

    • Kapil


  • guest?


    • Kapil

      Roger that. Links fixed.

      For future reference, you’re advised to use the page linked in step 2 for latest files and their new links. You copy?

  • Felipe_Scolfaro

    Hello guys!

    I’m using a mac, so the only thing I can use for flashing my I900 is Heimdall. Do I need different files for doing so or not?

    I’ve read before that Odin flashes whole packages, whereas with Heimdall, the individual images have to be flashed, so I’m a little confused since almost all tutorials around are based on Windows… Lil’ help? :)

  • guesti

    The link to google apps is from megaupload, which, as we all know is not LEGAL OWRKING OR WHATEVER YOU WANT TO SAY, is there any other way to download it?

  • Francisburns10123

    I am sorry if this question has already been asked, but will cyanogenmod 9 be released for samsung captivate?

    • Kapil

      It will be in some time :)

  • Rock Kapak

    i’m running now on CynogenMod 9..will try it for couple of days…the web browser and the market are  really fast responding…super fast load!!!…

  • Tijmoer

    I can not get in recovery mode after flashing rom. All works fine but i need to get to recovery to flash google apps and face unlock. Right now i get Dowload mode ( plz help

    • Rock Kapak

      if you can’t boot to recovery,you can use odin to flash it again your stock this case,you will flash 2.3.5 XXJVS …try it

  • Rock Kapak

    I’m using cynogemod 9 release 14..have an issue abt music first,it can play songs..then suddenly a msg appear…”Unfortunately, Music has stopped”.I can’t play any music…plez help me.

  • Arcani
  • Bart

    I had the same problem as arcani, i followed all the steps written above. And when i install the ROM for the first time it reboots itself continously, after that i`m not able to go into recovery again. Did I miss a step? I was trying to flash CM9 build 13

    • Kapil

      Try this: Boot to recovery, do a factory reset, then wipe cache partition and then, reboot.nnIf that doesn’t work, do this : do a factory reset, then wipe cache partition and then flash the CM9 build 13 again. Then reboot.

  • arcani

    Please help me:nI have flashed my phone with CM9 in the way described here:nnhttp://www.theandroi…9-for-galaxy-s/nnbut after I got to step 8 my phone has began to reboot itself ncontinously (samsung logo appears, cyanogenmod logo appears and after nthat reboots itself).nnROM that I was trying to flash was from here:nnhttp://forum.xda-dev…d.php?t=1363593 ROM: BUILD 12:nnBefore of the problem I had CM7 and it was working just fine.nnRegardless of the problem I can get intro Download mode, so I want to try to flash CM7 or CM9 with Odin.nnThanks,nnArcani (

    • Jagat321

      I ran into the same issue and I did this:
      Press VolumeUP+Home+Power till the recovery page comes up.
      1. Factory Reset
      2. Wipe data
      3. Install using a zip from SD card/Internal SD card.
      4. Go back
      5. Reboot

  • Peet

    Hi there !u00a0nUntil now I have successfully installed any version from 6 to 11, using SAMSUNG USB Driver for Mobile Phones.nnToday I flashed Build 12 and Google Apps (v7.1). Then I made WIPE (wipe data/factory reset + wipe cache partition) and my GT-I9000 stuck at the boot screen… It is impossible to get into Recovery Mode. I can get into Donwload Mode ! But when I connect my phone via USB and via Odin – my PC cannot recognise the “unknown device”. OK, new drivers.nnI tried Samsung_USB_Driver_for_Moblie_Phones_v1_4_6_0.exe – unsuccessfully – my PC cannot recognise the “unknown device” again.nnI installed “Google USB Driver for Windows” (revision 4) with Android SDK and AVD Manager. But my computer’su00a0n”Device Manager” cannot “Update Driver Software” – it displays an error : “Code 10″ (The device cannot start).nnPlease, help! Thanks in advance!

  • Samihkw

    mp4 format not working plez do some thing about it

    • Samihkw

      and also when will it get updated and hown

  • Nathanwolfboy1984

    Are we on build 12 yet?

    • Nathanwolfboy1984

      Whens it out?nAnyone know?nnI’m sticking with my lovely CM7 until CM9 is perfect i think…

  • Chris Brodie

    4 things i’m hoping to evetually have on ics i9000 international:nn1. a simple cmX backup tool similar IMUI’s (titanium pro won’t let me purchase key on market)nn2. working fm radionn3. swype keyboardnn4. fully functional nitrality app

  • Chris Brodie

    will ics ever have fm radio on i9000?

  • Serverhawaii

    Hy all, works nearly perfect, as said in thread, just the UI is a bit laggy, but should be no bigger problem. I would like to know what is the part of google apps or config that makes rest of apps work. Say I´d like to install whatsapp. Before having google aps on it, it would say ( whatsapp not installed after try to install this app ) . After installing google apps worked like a charm, the point is that i would like to know which files are the ones making the rest of the apps working ( maybe framework or some more ) whithout having to install the rest of google apps which i dont use.

    OK. Two more errors.

    1. When i install CM9 the first flash ( prepare to copy files for flash ) , when it finishes with flash, the phone was loop rebooting. Solved this by taking out the batery and entering CM recovery again. Flashed like charm !!!

    2. Now everything works perfect apart from Viber ( Execute file and keep getting back to desktop ” mainscreen ” .

    P.D I have no errors whatsoever with Front/Rear Camara and allso no Errors with recording ( just a bit lag but thats all ) 

    Tested on Galaxy S I9000 International
    Operator : Movistar Spain

  • Returpant2kr

    works perfect <3, thanks from sweden!

  • Rajan Balana

    Thanks…am going to install this ROM on my phone..

  • Marian Marian

    flash player not work with this rom.why?i installed another adobe flash player 2-3times diferent versions and nothing…not work!!!!

  • Nile

    I figured out my issue, the firmware is for a different region, I have to figure out how to install CM9 without changing the region. perhaps installing it with the modem of my country. I’ll post again with results

    • Nile

      Nope I can’t figure it out, the flash changes the modem so it doesn’t work in my region. is there a way to change the modem in the flash file?

      • Osmankhan1994

        The thing is android 4 uses a completely different code, so flash wont work till adobe decides to make a version that works on 4.0. But according to recent news, adobe has stopped flash development for mobile devices, so i think you can kiss flash goodbye.

  • Prabhu

    I was in MIUI latest, when I flashed cm9. I did, wipe cache, wipe data and wipe dalvik and flashed cm9. Now, my modem does not work. I could not make any phone calls. Except that everything works/does not work as expected. What could be the possible reason Kapil?

  • Nile

    Ever Since I updated my phone from the stock firmware I bought it with, I haven’t been able to get good cell reception where I live, prior to the update I had 1 to 2 bars, it wasn’t good but I was still able to send and receive texts. Now I can’t even do that, I go into network operators and the cell towers that were there (and are there for my parents phones) are not being picked up. Is it the firmware or can I install any custom patches of sorts to boost my radio? I don’t want to have to go back to stock samsung 2.2. But I would need to if this is a hardware issue and return it to my carrier.
    Thanks in advance

    • Nile

      sorry I forgot to mention the model is GT-i9000 and that i am running CM9 (had no trouble with the install) now and before that I had samsung 2.3.5. Originally the phone came with 2.2

      • Kapil

        It should pick up signal well…. but if it isn’t, go back to Android 2.3.5 firmware — xxjvs (find link in guide above).

        • Nile

          2.3.5 is just as bad, like I said the original “out of the box” firmware was the only one I have had luck with. this hasn’t been an issue until now since I moved to the city for school but since I’m back for the holidays I don’t want to be without a phone for a month.

          • Kapil

            Where are you from? And how’s network on other phones there?

          • Nile

            I’m from Canada, Southern Ontario, in Toronto my phone works great but I’m back home in the country, other phones aren’t great here but they are still able to make calls and text, while I can’t do either. it just says the mobile networks aren’t available. it’s as if the radio isn’t as strong as it was when I had the original firmware.

  • Fahim

    Hi… I’m eager to know whether this ROM have anything which doesn’t work… Coz, I’ve read about other ROMs where some of the functions doesn’t work…

    Moreover, please let me know whether I must need to install and root  Android 2.3.5 Gingerbread XXJVS firmware or not???

    My configuration as of now is:

    Model Number: GT-I9000
    Firmware version: 2.3.5
    Baseband version: I9000XXJVT
    Kernel version: stratosk@semaphore
    Build number: JellyBeanRom JVT Final
    Hand Crafted by: Team Obssessed Crew

    So far my config is giving me the best result as I have gone through many updates… Only having problem with the SNS setting of facebook by the built in “social hub”. Every other functions are flawless… Even I have lockscreen menu where I get to choose more than 12 lock screen and also have Dock settings.

    I again request you to let me know whether my device is better or your ROM… Only then I will decide what to do next…

    Thanks in advance…

    Fahim’s Galaxy… :)

    • Fahim

      Kapil… awaiting your reply bro…

      • Kapil

        I think you are better with your current firmware because there are some daily-use things that aren’t working in CM9 right now. See the “known issues” section above and you’ll know why it’s not for you, for now.

        Anyway, if you decide to try ICS, make you do a full backup from recovery of your current rom.

        • Fahim

          Thanks a lot bro but in future if all functions work, please poke me and I’ll surely try it out…

          Congratulations on coming this far… I appreciate it and keep up the good work… :)

          • Kapil

            Sure. :)

  • johnlei

    What if after step 7, after first install from zip, it keeps rebooting?

    • Kapil

      If you had lagfix installed, disable it. Anyway, install any firmware now to go to stock, then install cwm and try again.

      • johnlei

        Ok I got it going, but there was no data :( everything worked. Just couldn’t get data, checked everything, should I just go back to XXJVS, start over again?

        • Kapil

          Yes, go back to xxjvs and try again after installing cwm. It happens!

          • johnlei

            Ok at step 7, it’s boot looping again. I went xxjvs, rooted, then flashed cm9 at step 7, now it’s looping…
            Where do I disable lagfix? recovery mode? I never see those extra options there

          • Kapil

            If you are trying it from fresh xxjvs installation, there won’t be any laggfix enabled. It comes with custom roms. (And yes, you disable lagfix from recovery, if it’s there.)

            Try this: remove battery and put it back in. Go to recovery and flash cm9 again.

            On another thought, I think your CM9 download might be corrupt, so download that again and try it then.

          • johnlei

            Ok I tried another CM9 file.
            Went from xxjvs, then rooted, flashed CM9…and it started to boot loop again at step 7, then manually rebooted, applied the step 9 Flash. Booted up ok, but no data.
            So maybe I should try different xxjvs files?
            Thanks so much!

          • Kapil

            And no need to download xxjvs files.

          • Kapil

            Enable data from settings.

          • johnlei

            I don’t know, I have checked my APN settings, they are correct. Enabled data, rebooted. Still no data :(

          • Kapil

            No idea then about what’s wrong there….. :-

            As a last resort, install jvs, root and install cwm on jvs, then install cm7 and then on cm7, install the cm9.

            Sue this link for cm7 –

          • johnlei

            Ha! I did it, I deleted “internet” in the APN Type. It was based on my old settings, weird.
            I wonder if I skipped CM7, and did this.. will it still work.
            THanks Kapil! You’re the man!

      • Roger

        Hi Kapil i have the same problem. After step 7 it keeps rebooting forever. I keeps switching form the Galaxy S logo to the Galaxy S with cyanogen logo. I did not have lagfix installed. How do i get to put any firmware on it now?

  • Yochannaidu

    yaar kapil….everything works as it supposed to…just buggy….do keep updated abt newer versions n updates…

  • mega05

    for me its always stuck in boot animation endless loop with vibrating and tone no matter what i do.
    never worked for me, I’v even downloaded all the files from your links included the arginal rom and cf root kernel

    • Kapil

      Man, I just tried it 2 hrs ago and it worked flawlessly. Make sure you are following the guide properly. Good luck :)

  • Guludl Md

    i like it but its not stable and my wifi not work with lots of force closing :)

  • gs

    I don’t have Market? help

    • Kapil

      Post updated with links to install Google Apps and Face Unlock (steps 14 and 15). Try now.

  • Marvin_baller10

    link for gappsy2???? thanks

  • Abdullahsalim94

    i want gapp v2 plz for galaxy s gt i9000

  • Stephan


  • Dusii

    Android Market doesnt work :/ Phone nubers not exist :/ LOW

    • Dusii

      SORRY all go ;)

    • Kapil

      Try now, it’s been updated a lot now.

Some HTML is OK
Join us on Facebook!schliessen