Unlocking and rooting AT&T HTC One X


So, with my new AT&T HTC One X phone, running firmware 2.2, I decided to head down the path of unlocking and rooting. End goal was to get www.cyanogenmod.org on there (yes, that rom is rooted by default). Unfortunately, as with most things like this, the documentation was scattered and difficult to follow, and some key steps were left out. So, with keeping with that tradition, I thought it best to jot down my own set of instructions I followed. As with most documentation out there, this set is limited, but was straight forward to me.


All of the following was accomplished on an Ubuntu 12.04 desktop.

Quick explanation. Getting the phone into "bootloader mode", referenced a few places below, simply means to do the following:

  • 1.) Shut phone off
  • 2.) Press and hold VOL DOWN button, and press POWER button
  • 3.) Phone might flash a bit, but keep holding VOL DOWN until you see white scree/menu
  • 4.) POWER button is select button, so select FASTBOOT (default)
  • 5.) Done, you're in bootloader mode

First step, I had to unlock the bootloader. This process is needed prior to getting the custom recovery mod on the phone, which allows you to root/rom the phone. This article here from XDA-Developers explains exactly how to do this. To summarize:

  • 1.) Get into bootloader mode
  • 2.) Download the X_Factor_Linux_OSX.zip file: http://vulnfactory.org/public/X_Factor_Linux_OSX.zip
  • 3.) Extract and run the run.sh script
  • 4.) Hit ENTER a few times to accept the backup/restore
  • 5.) Hopefully, you'll get back the working "11111111" CID
  • 6.) Next, look for the unlock token, copy it to clipboard and head on over to http://www.htcdev.com/bootloader/
  • 7.) Register on that site, select the "All Other Supported Models" from the drop down list, and follow the online instructions to paste your unlocked token
  • 8.) You'll instantly get emailed back the necessary: Unlock_code.bin file for your phone
  • 9.) Finally, unlock your phone with the command:

    ./fastboot flash unlocktoken Unlock_code.bin

Second part, getting the updated flash recovery on the phone. The above part was a little tricky, but I pretty much followed the exact steps above, and it worked out for me. Next, I moved onto the flash recovery. In the past, I always used ClockworkMod Recovery, but for this phone I found better luck (as recommended on a few sites I read) with TeamWin (aka TWRP) recovery. So I went to their site http://teamw.in/project/twrp2/99 and downloaded the openrecovery-twrp- file, and followed these steps:

  • 1.) Get into bootloader mode
  • 2.) Run the following commands:

    ./fastboot flash recovery openrecovery-twrp-
    ./fastboot erase cache
    ./fastboot reboot-bootloader

  • 3.) Use POWER button to go back, and select the Recovery boot option, and boot into this new TWRP recovery mode

Third and last part, the Cyanogenmod 10, aka Jelly bean, aka root. I also chose to install the default Google Apps (GMail, Play, etc.). You can get that file here: http://jellytime.googlecode.com/files/gapps-jb-20120726-signed.zip There was one key step that I had to figure out on my own, as my Google-fu never lead to me an article that stated this step was needed. So, hopefully this will be a time saver for someone. First, go download the cm10 file: cm-10.0.0-evita.zip from http://get.cm/?device=evita Here's the part that gave me a little trouble, temporarily open cm-10.0.0-evita.zip and extract out the boot.img file. Save that boot.img file somewhere, as you'll need it in a bit. Close the ZIP file, and boot your phone into it's normal ROM. Mount it via USB on your desktop. Copy the cm-10.0.0-evita.zip and gapps-jb-20120726-signed.zip files to the root of the phone. Then follow these steps, to get that boot.img file and the cm10 ROM properly loaded onto your phone:

  • 1.) Get into bootloader mode
  • 2.) Run the following command:

    ./fastboot flash boot boot.img

  • 3.) Use POWER button to go back, and select the Recovery boot option, and boot into TWRP recovery mode
  • 4.) Within the TWRP recovery mode, select Installbutton
  • 5.) Scroll down and select the cm-10.0.0-evita.zip file, swipe to the right to install it
  • 6.) Once that is done, repeat step 5 for the gapps-jb-20120726-signed.zip file
  • 7.) Reboot the phone, and you are all done!


When you reboot your phone at the end, you should see the CM10 splash screen, and it might take a few minutes to reboot. If it takes more than about 5, something went wrong, and you might need to either repeat the above processes, or obtain different ZIP files. Good luck!