How to install ClockworkMod Recovery and CyanogenMod on Samsung Galaxy S (GT-I9000)

Screenshot: CyanogenMod loading on GT-I9000In this article I will describe how to install ClockworkMod Recovery and CyanogenMod on the Samsung Galaxy S. By installing CyanogenMod your device will also be rooted. I have written this post while I was installing ClockworkMod Recovery and CyanogenMod on my friends Samsung Galaxy S GT-i9000 (International). I provided the specific software download locations for the GT-i9000 and also the general download links in case you have an other model of the SI. Make sure to have enough battery life throughout the whole installation procedure and to read the disclaimer before starting to follow this guide!

Disclaimer – Read before proceeding:
This article is based on my personal notes and experiences throughout the installation process of ClockworkMod Recovery and CyanogenMod on the Samsung Galaxy S GT-i9000 (international). The described methods worked for me and my specific device just fine, but I will take absolutely no responsibility for any data loss or damage to your smartphone. Only proceed if you know what you are doing and proceed with care.

0. Preparations
1. Downloading CyanogenMod & Google Apps
2. Downloading ClockworkMod Recovery & Heimdall Suite
3. Installing ClockworkMod Recovery
4. Installing CyanogenMod & Google Apps

0. Preparations

  1. Identify your device modelnumber
    In order to download the proper version of ClockworkMod Recovery and CyanogenMod, it is important to know the modelnumber of your Samsung Galaxy S. Take your smartphone and open the “settings”, at the bottom of the settings screen choose “about phone” and there you will find the modelnumber. The modelnumber of my friends device is “GT-i9000”, also called Samsung Galaxy S International.

  2. Backup your data from your phone:
    By installing CyanogenMod, the internal storage and virtual sdcard (the /mnt//sdcard folder) will be formated, it is important to backup the data from your phone e.g. the phonebook, photos and so on. You may do this by copying everything you want to keep onto your phones external sdcard, transferring it to your PCs hard drive or moving your stuff into any cloud storage like Dropbox or Google Drive. If you have already rooted your device, then you can install Titanium Backup from Google Play. This app allows you to backup and restore all your apps including the app-data like settings or savegames.

  3. Install the Android Developer Tools on your computer:
    You will need the Android Debugging Bridge (ADB) which is a part of the Android Developer Tools (ADT) in order to be able to detect a smartphone connected to your PC and to transfer data between the PC and Smartphone. You can download it from the Android Developers website. I downloaded the ADT-Bundle-linux-x86_64Bit version, if you have a 32Bit system you may want to download the ADT-Bundle-linux-x86_32Bit version. Extract the downloaded archive to a location of your choice on your filesystem. Example, extract the archive into the subfolder “programs” of your home directory:

    $ unzip -d ~/programs/

    Like I mentioned before, we will need a tool called “adb” to establish the connection between PC and Smartphone. This tool is located in the subdirectory sdk/plattform-tools/ of the previously extracted Android Developer Tools. Since we don’t want to change into that folder everytime we want to use adb, it is a good idea to make adb executeable from anywhere, by adding a softlink to /usr/local/bin folder. This can be done like this (depending on where you extracted the archive you may need to change the path to adb), example:

    $ sudo ln -s /home/myUsername/programs/android-sdk-linux/platform-tools/adb 

    Now you should be able to execute “adb” from any location in the filesystem by simply typing adb in the terminal.

  4. Enable USB Debugging on your phone:
    You will have to enable the USB Debuggin option on your Smartphone in order to be able to establish a connection to the PC via USB cable.

    a) If you are on Android 2.x you can do it like this:
    Go to Menu>Settings>Applications>Development and check USB Debugging

    b) If you have a newer Android Version try this approach:
    Go to Settings>Developer options on your smartphone and enable the USB Debugging option. In case you don’t have the Developer options entry in the settings, open Settings>About phone and tap multiple times on the Build number entry. This should enable the Developer options in the Settings menu.

  5. Learn how to connect the phone to your PC:
    In some steps of this “How to” you will be told to connect your phone with the USB cable to your PC. Every time you connect the phone to the PC you should make shure that it is detected properly and that the connection has been established. Do this by executing this command:

    $ adb devices

    This will start the adb daemon and try to find any android devices connected to your PC. If everything worked properly you should see a outout listing your device, it should look like this:

    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    List of devices attached 
    2814BCBDBE1C40EB	device

    If the output says no permission, your device is not detected or there is any other kind of problem: Kill the adb process, e.g. like this:

    $ pkill adb

    and retry. If it still dosn't work, it could be a permission problem, so try to execute adb devices as root.

1. Downloading CyanogenMod & Google Apps

  1. Download the latest stable version of CyanogenMod
    Download CyanogenMod for your specific device from here: CyanogenMod Device Selection.
    Since my friends phone is a GT-i9000 (International) I downloaded the latest stable version from here: Download CyanogenMod 10.2 for i9000

  2. Optionally download the Google-Apps
    This step is optionally, but recommended. The Google Play App-Store is not included in CyanogenMod. If you wish to use Google App market place, you will also have to download the Google-Apps package based on your CyanogenMod version. You can download the right version for your CyanogenMod from here: Google-Apps

  3. Copy the zip-files to your phones sdcard
    Copy the zip-file of the CyanogenMod image (and the Google-Apss zip-file) into the root directory of your phones virtual (/mnt/sdcard/) or external sdcard (/mnt/sdcard/external_sd/). Since you should already have installed ADB (if not read the preparations chapter) you can do this via terminal like this:

    $ adb push /mnt/sdcard/


    $ adb push /mnt/sdcard/external_sd/

    Of course you can also transfer the files via network or even directly download them to your smartphone. If you have an external sdcard you can simply put it into your PC and copy the files directly into the root directory.

2. Downloading ClockworkMod Recovery & Heimdall Suite

  1. Download ClockworkMod Recovery
    Download ClockworkMod Recovery for the Samsung Galaxy S to your PC:
    Download the right version of ClockworkMod Recovery for your device from this website. However I download this ClockworkMod Recovery GT-I9000 version, because it is the by the CyanogenMod Wiki recommended version for the Galxy S GT-I9000. Unpack the tar archiv, it contains a file named "zImage".

    $ tar -xf Semaphore_2.7.4.tar
  2. Download Heimdall suite
    Download the Heimdall Suite to your PC. The Heimdall Suite will be used to flash the ClockworkMod Recovery image to your smartphone.
    Heimdall Suite 1.4RC1 Binary 32bit
    Heimdall Suite 1.4RC1 Binary 64bit
    Unpack the archive after the download has completed

    $ tar -xf heimdall_v1.4rc1_x64.tar

    and place the Heimdall binary into the same folder as the previously downloaded and unpacked ClockworkMod recovery image.

3. Installing ClockworkMod Recovery

  1. Boot your smartphone into "Download Mode"
    • Power off your smartphone
    • Remove the battery, wait at least 5 seconds and put it back in
    • Boot your smartphone into "Download Mode" by holding Volume Down & Home & Power in exact this order and keep holding the buttons until you see the Downloading screen.
    • Download mode

      Download Mode

  2. Installing and booting into ClockworkMod Recovery
    • First connect your smartphones USB-Cable to the Computer (not into an USB-HUB) and then to the smartphone
    • Open a terminal on your PC, change into the Heimdall and ClockworkMod recovery folder and start the installation like this (where "zImage" is the file extracted from the ClockworkMod recovery archive):
      $ heimdall flash --kernel zImage --no-reboot

      Some users reported that they have to write the kernel option with upper case letters, so in case the above command doesn't work, try it this way:

      $ heimdall flash --KERNEL zImage --no-reboot

      You should see a blue status bar filling up on your smartphones screen and the installation should be finished really quickly. The output of Heimdall should look like this:

      Heimdall v1.4 RC1
      Copyright (c) 2010-2012, Benjamin Dobell, Glass Echidna
      This software is provided free of charge. Copying and redistribution is
      If you appreciate this software and you would like to support future
      development please consider donating:
      Initialising connection...
      Detecting device...
      Claiming interface...
      Attempt failed. Detaching driver...
      Claiming interface again...
      Setting up interface...
      Checking if protocol is initialised...
      Protocol is not initialised.
      Initialising protocol...
      Protocol initialisation successful.
      Beginning session...
      Session begun.
      Downloading device's PIT file...
      PIT file download successful.
      Uploading KERNEL
      KERNEL upload successful
      Ending session...
      Releasing device interface...
      Re-attaching kernel driver...
    • Now reboot your phone into ClockworkMod Recovery by holding Home & Volume Up & Power the same time. Make sure to don't boot back into Android. if you boot back into android your recovery will be reset and you have to redo the process!
    • Flashed recovery

      Recovery upload success

4. Installing CyanogenMod & Google Apps

At this point you should be in ClockworkMod Recovery

  1. Optionally: Make a full system backup
    This step is optionally but highly recommended. A full system backup enables you to rollback everything like it was before installing CyanogenMod. You will be able to restore the stock Android with all your data and installed apps.

    • Select backup and restore
    • Select backup
    • After the backup is complete you will return to the main menu/screen
    • 4 cwm backup menu

      The backup menu

      5 cwm backup

      Running backup

      6 cwm backup complete

      Backup complete

  2. Wipe all data from the device
    • Select the option "wipe data/factory reset"
    • Then choose "Yes - Wipe all user data"
    • 7 cwm wipe Data

      Wiping data

      8 cwm wipe Data complete

      Wiping data complete

  3. Install CyanogenMod and Google Apps
    • Select "install zip from sdcard"
    • Then select "choose zip from sdcard" and select the CyanogenMod zip-file
    • Confirm your selection by choosing "Yes - install". Now the installation process should start.
    • If you also want to install the Google-Apps redo the same steps, but choose the Google-Apps zip-file instead of the CyanogenMod zip-file
    • When the installation is finished go back to the main menu and select "reboot system now"
    • 9 cwm cm installation menu

      CyanogenMod installation menu

      10 cwm cm running installation

      CynaogenMod running installation

      11 cwm cm installation complete

      CynaogenMod installation complete

      12 cwm g Apps installation

      Google Apps installation menu

      13 cwm g Apps installation running

      Google Apps running installation

      14 cwm g Apps installation complete

      Google Apps installation complete

Now you should see the CyanogenMod loading screen.

15 cm loading1

New Galaxy S logo

16 cm loading2

CyanogenMod loading

Congratulations, you have successfully installed ClockworkMod Recovery and CyanogenMod on your Samsung Galaxy S !

Related articles:

Legal notice: all images in this post (including the title image) are screenshots/photos taken from my phone. All rights to the cyanogenmod logo and android logo belong to their respective owners.


About M0nk3ym0nk3y

M0nk3ym0nk3y is one of the three LinuxM0nk3ys from Linux M0nk3ys @ WordPress Linux M0nk3ys @ YouTube Linux M0nk3ys @ Twitter

Posted on December 22, 2013, in Android, Install and tagged , , , , , , , , , , , , , , , , , , , , , , . Bookmark the permalink. 33 Comments.

  1. Vincent Wang

    Thanks! I got CM working on Galaxy S!

    I had to type in
    heimdall flash –KERNEL zImage –no-reboot
    instead of
    heimdall flash –kernel zImage –no-reboot

    I got scared when the phone restarted when I started the flashing. It was meant to happen!

  2. I have no idea what to do at point 2..

    • So you are stuck here at “Downloading ClockworkMod Recovery & Heimdall Suite”, right? It would be nice if you could give me more detailed information about what you don’t understand, otherwise it is difficult to help you!

      Basically you just have to download the Clockworkmod recovery and heimdall. I even provided the download links. In case of Heimdall you have to decide to download either the 32bit or 64bit version (that depends on your pc), take the 32bit version if you are not sure.

      I assume that downloading the software is not the problem, so the next step is to extract the archive-files you just downloaded (it’s basically the same thing you would do with a zip-file). You can do this by opening a terminal, changing into the folder you downloaded the files into and executing the commands from step 2. In case your system has a graphical application for extracting files, you can open the folder with your file-manager and try to extract the files by “double-clicking” on them.

  3. I did this, its just like the instructions here:
    I am having a problem:
    when installing the from external microsd card, it says installing… and then reboots. Then I see Samsung Galaxy S CyanogenMod boot screen and after that I get the waiting to mount sdcard until it times out :(, reboots and repeats…

    • Well, you followed an other tutorial…but I will still try to help you. First of all I would like to ask what your device modellnumber is, is it actually a gt-i9000 or is it maybe a gt-i9000M…?

      Since it is showing you the CM-logo it seems like the installation at least partially did work. However it is really strange that your phone restarted by it self! Normally you have to restart it manually (refer to 4.3 in the post). Here are some things I would try to do:
      1. You wrote that you “get the waiting to mount sdcard until it times out”. So it would be interesting to see what happens when you remove the external sdcard and reboot.

      2. I once had a similar problem with an other android device and the reason was a broken download of the CyanogenMod image. I recommend to re-download CyanogenMod (also check the MD5-Hashsums), wipe all data and clear the cache partition with CWM and finally reinstall cyanogenMod.

      3. Like I already mentioned in the previous comment it seems like CWM dosen’t provide this kernel for the gt-i9000 on its website anymore. However I was able to find it on the official semaphore website: Download Semaphore_2.7.4 (CWM included). I don’t know which version of CWM you installd, but you could try this one.

      It would be really nice if you could report back and share your results here.

      • Hi, it really is a galaxy s i9000 I checked the imei online and th site confirmed it.
        1. If I pull the microsd it reboots after the boot splash screen and doesnt go to the cwm recovery.
        2. I could try redownloading and checking the md5. I’ll try that tomorrow.
        3. Yes I am using the semaphore 2.7.4 zImage from the official site.

        I too thought it was weird that it rebooted during install.

        I have tried putting the stock 2.3.6 rom from samsung back on it by running sudo heimdall-frontend and manually selecting the extracted partition files of the stock rom after having selected the 512 pit file and have found problems with the /data partition. I have found suggestions about reflashing the dtdata or similarly named partition but havent had any success. So failing to install cm may be affected by that somehow.
        More tomorrow…

      • Do you have any updates on the issue? Btw, you could also try to download an older stable release of CyanogenMod e.g. v10.1.3. In case the installation was successful update it later by using the integrated CyanogenMod updater.

  4. Bryce Holcomb

    I have no problem flashing the kernel, but for some reason, the three-button combo doesn’t work to boot into CWM. Any tips?

    • Sometimes this tutorial is also followed by people with a different device than the gt-i9000, so it would be nice if you could provide your modelnumber.

      1. Please check If the flashing process was really successful (If you are not sure you can post the output here). AFAIK you have to reflash the kernel in case you accidentally booted back into the stock android!

      2. I found this statement about the three-button combination in the Cyanogenmod wiki: “Boot to recovery mode, and connect the phone to your computer through USB. Vol Up & Home & Power (or Vol Up & Vol Down & Power in rare cases)”. I don’t know if it’s even possible to hold down VolumeUp and VolumeDown at once (as I mentioned in the post I flashed the phone of a friend, I don’t actually own a gt-i9000)?! Maybe it’s just a typo and they actually mean VolDown & Home & Power?

      3. I noticed that the download link for the CWM-Recovery/Kernel is dead by now and it seems like CWM dosen’t provide this kernel for the gt-i9000 anymore. Luckily I was able to find it on the official semaphore website: Download Semaphore_2.7.4 (CWM included). Which recovery did you download and flash on your phone?

      I hope this helps and it would be really nice if you could comment again and tell us your results

      • Bryce Holcomb

        Hi, I do indeed have an i9000M. But I know from the past that it boots recovery using the power+vol-up+home combo. I’m able to flash CF-Root and Semaphore kernels that run fine on my phone, but I just can’t seem to boot into CWM recovery without the stock recovery being re-flashed. I was able to get into CWM once last night, but had forgotten to download cyanogenmod, and I haven’t been able to get into CWM since, despite successfully flashing custom kernels many times. I guess I’ll just keep trying.

      • Bryce Holcomb

        Latest update: I was able to boot into CWM after flashing a custom kernel one more time, but ran into a bug flashing my custom ROM and then couldn’t boot into CWM anymore. I think the situation is that when the phone is auto-rebooting after flashing a custom kernel, the window of time in which one must press the three-button combo is vanishingly, prohibitively small.

        I didn find a solution however. When I flashed the CWM kernel onto my stock ROM (UGKG3 GB, found at, the stock ROM re-flashed the stock recovery, but left the kernel intact. Said kernel included an app simply called “CWM”, which has a kernel flashing function. I used it to flash the Semaphore kernel, and it automatically rebooted into CWM recovery! I hope this can help some other people.

      • It seems like things are a bit more complicated with the i9000M devices. I’m glad that you found a way to boot into Clockworkmod Recovery and thanks for sharing it here 🙂

  5. Thanks, worked on my Galaxy S (gt-i9000). Cyanogen runs much better than the stock Android 🙂

  6. Just curious about what the stock Android version was before flashing CM 10.2?

  7. Works great! On my I9000T I started from Android 2.3.6, tried CM7, which is “dressed funny”, then jumped straight into CM11 (Android 4.4.4) which is beautiful!

    Also, installing heimdall & adb on Ubuntu 14.04 was as simple as:

    sudo apt-get install heimdall-flash android-tools-adb

    • Hey Alan, thanks for your feedback. I’m glad to hear that the tutorial also works for the I9000T and that everything worked smoothly for you! Have fun with your ‘new’ Android 😉

  8. Hi,
    I have an exotic i9000 failing to the 3 button combo. I did flash in a new bootloader, but still I can’t get the download mode with the button combo. Do you know how to install CWM recovery using another way?

    • I’m a little bit confused here. You say that you have successfully flashed a new bootloader (I assume that’s CWM Recovery), but you can’t enter Download mode. However it is not possible to flash a new bootloader/recovery without being in download mode! Or do you mean that you can’t enter CWM Recovery with the three button combo Home & Volume Up & Power as described at the end of 3.2) in the post. If that’s the problem, then you should read the discussion with Bryce Holcomb here in the comments. Since he was sometimes able to enter CWM, I assume that it’s actually a timing problem. His device auto-rebooted and he had to press the combo just at the right moment. In the end he was able to solve the problem and wrote down his solution in the comment from July 29, 2014 at 07:21

      Hope this will help you

      • Thanks for your reply.The i9000 doesn’t respond to the 3-button-combo. That’s where you need to flash the bootloader, not the kernel yet, to activate the combo. I did that and Odin flashed it succesfully. But still the combo to go to download (Home/Vol down/Power) doesn’t work. Strangely enough I can get into recovery (Home/Vol up/Power) does work now. It might be a physical issue with the volume buttons tho.

        I can get it into download mode using: adb reboot download, but the Odin doesn’t connect. Is it possible to use adb to get the CM recovery on it?

      • I can get it into download mode using: adb reboot download, but the Odin doesn’t connect. Is it possible to use adb to get the CM recovery on it?

        If you want to install CWM recovery, you could try using fastboot instead.

  9. I have t & t samsung galaxy s 4g sgh t959v..will this proces be suitable to my cell fone ?? Kindly inform me

  10. How do i open a terminal?Im using windows xp.

  11. Thanks a lot for this nice detailed cookbook recipe of how to install CyanogenMod on a Samsung I9000. It is the clearest I found by far.
    The world has changed since you wrote this and there have been some big changes – not all for the better. With CyanogenMod having shut done I found I had to search using – well there is another change for the worse, Google is not even my friend in 2017 – with terms for the specific files you link to. They turned up in places like and
    And there was no nice blue downloading bar – I thought it hadn’t worked but there it was CWM running on the screen.
    Then CWM said it couldn’t find the zips.
    Or my backups!!! [FEAR, DESPAIR]
    So after trying mounting and toggling I rebooted. And there was standard Android getting reinstalled again.
    I checked that the CyanMod and GApps where where they should have been and they were there.
    So I booted into ClockworkMod Recovery mode again and started at Instruction “3. Install CyanogenMod and Google Apps” and everything went perfect this time.

    This is just the sort of thing that really cool people do on New Years Eve. |-(

    regards from
    Very Cool Rob

  1. Pingback: clockworkmod recovery not working | App World

  2. Pingback: clockworkmod recovery not working | Apk Mod

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: