Upgrading the OnePlus One to Android Lollipop

I was privileged enough to purchase my OnePlus One a while ago as it was the first Android phone that launched with CyanogenMod as its official ROM. Traditionally, ROMs like CM would be the first to market with upgrades but Google has been changing their policies by releasing their code to large manufacturers earlier to encourage them to upgrade their marquee models to the latest version of Android as soon as possible. While the ROM is not an official one, I decided to upgrade my OnePlus One to the Android Lollipop. After surfing around the web, I decided to come up with a summarized version of setting up my version of how I ended up installing Lollipop.

These steps are OSX specific

Preparation

You typically would need to unlock the bootloader, install a custom recovery and then root your phone in order to replace it with a new ROM. This steps that I’m outlining here would be the basic prep to do that and you can always replace your ROM with other OnePlus One ROMs that you choose to in the future. OnePlus actually has a pretty good write up on the site as well as this is a summarized version of those steps

  1. Installadb/fastboot,
    • Download Android SDK
    • Unzip it into a folder. I typically create temp in my user folder. To access it:
      mkdir ~/temp
      cd ~/temp
  2. Install Android SDKto access ADB andfastboot
    • Go to the folder you’ve unzipped (i.e. /Temp/Android-SDK)
    • Run the Android UI
       ./android sdk
    • Select and install Android Platform Tools
    • Once this is installed, you should see the platform-tools directory in the folder as well as the adb and fastboot files
  3. Unlocking theBootloader
    • Reboot the machine into Fastboot mode
      Shutdown the phone
      Press the Volume Up button followed by the power button. Ensure that the USB cable is not plugged in.
      If the phone is booted into Fastboot mode, you’ll see the “Fastboot Mode” text
    • Type “fastboot device” and you should see your device there
    • Type “fastboot oem unlock”
      This will also wipe your phone. You should see the Android robot being fixed and then it will automatically reboot your phone when you’re done
    • Once the phone is re-booted, turn on developer options
      • Go to settings → About Phone → Tap on Build Number 7 times
      • Tap back and you should see Developer Options
    • Turn on USB debugging and disable CM Recovery Protection
      • Go to Developer Options and select “ADB debugging”
      • Go back out to settings and re-enter Developer Options. You should see the “Update CM recovery” option
      • Uncheck the “Update CM recovery” option
  4. Download the latest version of TWRP for OnePlus One
    • Download the latest TWRP recovery
    • Copy the file to the platform-tools directory
    • Reboot the machine intoFastboot Mode by typing the following in theOSX terminal
      adb reboot bootloader

      or shutting down the device and rebooting it to the bootloader by pressing the volume up button and power

    • Install the custom recovery by typing
      fastboot flash recovery .img
    Once the recovery and bootloader is installed, you’re now ready to install any ROM of your choice. In this particular case, we’ll be installing CyanogenMod.
  1. Download the latest version of CyanogenMod 12 (Lollipop)
  2. Download the latest version of Google Apps
  3. Copy the files to the Download folder on your OnePlus One
  4. Shutdown the device
  5. Reboot the device in recovery mode by  pressing volume down and the power button
  6. Wipe your current data
    • Click on the Wipe Button
    • Click on Advance Wipe
    • Select Davlik Cache, System, Data and Cache
    • Swipe to Wipe the existing data
  7. Install the new ROM
    • Click on the Install button
    • Select the ROM installation file you had downloaded earlier
    • Swipe to Confirm Flash
  8. Install Google Apps
    • Click on the Install button
    • Select the Google Apps file you had downloaded earlier
    • Swipe to Confirm Flash

You’ll note that I didn’t go through the root process. Overall, I have to say that I’ve been pretty happy with the CM Lollipop ROM.

Updated: One thing to note is that CM12 is currently not an official build so I modified the link to point to the CM12 build. Also, special thanks to Jesse Anger for creating the original install instructions and doing the original testing