How to Install CyanogenMod on the HTC Evo 4G ("supersonic")

From CyanogenMod
Jump to: navigation, search

This guide will walk you through the process of taking the Evo 4G from stock to having a custom recovery image and the ability to flash the latest version of CyanogenMod.


Modifying or replacing your device's software may void your device's warranty, lead to data loss, hair loss, financial loss, privacy loss, security breaches, or other damage, and therefore must be done entirely at your own risk. No one affiliated with the CyanogenMod project is responsible for your actions. Good luck.

Obtaining S-OFF and installing a custom recovery on the Evo 4G

Certain HTC devices can be exploited via a tool called Revolutionary to obtain S-OFF. The status of your device's support can be checked at their site. Pay close attention to the HBOOT revision as newer updates break the tool's ability to work properly. The Revolutionary tool will also install ClockworkMod Recovery.

Supported version(s) of HBOOT for the Evo 4G: 2.15.0001, 2.16.0001.

  1. Windows Only: Download and install HTC USB drivers v3.0.0.007
    md5: f60771a86c4ad69c8c9c1d158e60e850
  2. Disable Fast Boot on the Evo 4G (not to be confused with fastboot):
    Settings » Power » Fast Boot
    Settings » Applications » Fast Boot
  3. Enable USB debugging:
    Settings » Applications » Development » USB debugging
  4. Connect the Evo 4G to the computer via USB
  5. Find your device's HBOOT version:
    From a command prompt or terminal, type: adb reboot bootloader
    If your HBOOT version is NOT 2.15.0001, 2.16.0001, you will need to downgrade. To downgrade your Evo 4G from Gingerbread (Including HBOOT 2.18) to Froyo, so you can root with unrEVOked v3.32 and gain RADIO S-OFF, follow this guide: [[1]]
  6. Write down the serial number of the device:
    If at the bootloader: fastboot devices
    If Android is booted: adb devices
    Alternatively, the serial number can usually be found under the battery
  7. Download Revolutionary 0.4pre4
  8. Fill out the form on the Revolutionary site to get a beta key.
  9. Once you have the beta key, launch the Revolutionary beta (you may need to launch it as root or administrator) and enter in the beta key minding that the key contains both upper- and lower-case letters.
  10. Revolutionary will now attempt to temp-root your device, set S-OFF, and install a custom recovery image. The device will reboot on its own and the entire process should only take a few minutes. If the process takes longer than 15 minutes, reboot the device and attempt again. Some users have had to attempt S-OFF multiple times before achieving success.

NOTE: If you are unable to S-OFF your device, and it is listed as supported by Revolutionary, join the Revolutionary IRC channel for further assistance.

Installing CyanogenMod from recovery

  1. Make sure your computer has working adb.
  2. Download the CyanogenMod build package for your device that you'd like to install to your computer.
    Optional: Download 3rd party applications packages, like Google Apps which are necessary to download apps from Google Play.
  3. Boot to recovery mode, and connect the phone to your computer through USB.
    • Vol Down & Power then select recovery
  4. In ClockworkMod Recovery, use the physical volume buttons to move up and down. On most devices, the power button is used to confirm a menu selection, but for some devices a physical home key acts as a selector. Some devices have touch enabled ClockworkMod Recovery, in which case you may be able to swipe to, or touch, menu selections.
  5. Optional (Recommended): Select backup and restore to create a backup.
  6. Select wipe data/factory reset.
  7. You have two options for transferring and installing the installation packages. The sideload method is more universal across devices, whereas the push and install method is more commonly used:
    • Sideload method: select install zip > install zip from sideload. Follow the on-screen notices to install the package. The installer does not necessarily display an "Install complete." message. You can tell the install is complete if there were no fatal error messages and you have regained control over the menu.
    • Push and install method: Open a command prompt (or Terminal on Mac and Linux) and navigate to the directory holding the package(s) you would like to install. On the device, navigate to the mounts and storage menu. If you see /storage/sdcard0 or /sdcard as a mountable volume, go ahead and mount it. If you do not see one of these partitions, then instead mount the /data partition. Take note of which volume you mounted. Now, push the package(s) to your device (also, see tip below):
    - If you mounted /storage/sdcard0, then: adb push /storage/sdcard0/
    - If you mounted /sdcard or /data, then: adb push /sdcard/
    where should be replaced with the package filename. Go back to the main menu and select install zip. Choose to install from the same directory where you pushed the package(s). If you are installing multiple packages, install CyanogenMod first and then install any subsequent packages on top of it.
  8. Once installation has finished, return to the main menu and select reboot system now. The device will now boot into CyanogenMod.

Helpful Tip – SD card folders

CyanogenMod 10.1 and newer have multi-user support (introduced in Android 4.2). If your device has storage on the /data partition, then Android actually looks in /data/media/0/ for the first user's /sdcard/ storage. ClockworkMod recovery symlinks /sdcard/ to /data/media/ though. So, if you are pushing files to internal storage in recovery and want them to be visible in Android, you should push them to /sdcard/0/ or /data/media/0/. Here's the most frequent scenarios:

  1. If you're coming from a ROM with Android 4.1 or older to CyanogenMod 10 or older: adb push /sdcard/
  2. If you're coming from a ROM with Android 4.1 or older to CyanogenMod 10.1 or newer: adb shell "mkdir /sdcard/0/" followed by adb push /sdcard/0/
  3. If you're coming from a ROM with Android 4.2 or newer to CyanogenMod 10.1 or newer: adb push /sdcard/0/

Helpful Tip

See something wrong on this page? Click here: Report a Wiki Problem.