How to update from CyanogenMod 12.1 to 13.0

Fri, 2016-07-22 11:13 by admin · Forum/category:

Last update: 2016-08-04

General

Table of contents

for this article

The following has been tested on the Google Samsung Galaxy Nexus GT-I9250, but should apply similarly to all phones and also to later updates to higher versions.

This update procedure keeps all your apps and their settings and data unchanged, known among experts as "dirty flash" or flashing without wiping the data partition or flashing without factory reset. However, due to a mistake or unforeseen effect this can fail. If you have valuable data in your apps, do a backup first, for example with TitaniumBackup or Helium.

For a few days Android 6 "Marshmallow" has been available for this phone, the Galaxy Nexus. Unfortunately it appeared in the automatic uploads (Settings, About phone, CyanogenMod updates), and it even popped up as a notification, enticing you to update.

Those who did that ended up with a broken phone, because of certain misunderstandings in the developer community. (A problem ticket detailing this was prematurely and mistakenly closed.) So be very careful not to update straight away. I will describe now how to do it right.

If you had updated to CyanogenMod 13.0 without using the procedure described here, your phone will now no longer work. It will complain about unmatched Google services and fail to boot. The main problem is that you now cannot get the matching Google apps file onto the phone. You have to do it either through ADB push or through MTP after installing the TWRP recovery and doing a factory reset, essentially wiping data, system, and caches. The following will assume that you had not yet updated.

Set recovery auto-update

Settings, Developer options, Update Cyanogen recovery, switch on.

If you do not have any Developer options, go to Settings, About phone, Build number, and tap the build number 7 times. (Yes, it's crazy, but it works.)

Update to the latest CyanogenMod 12.1 nightly

This step is only a precaution to make sure everybody is starting from the same situation. It is probably not needed, and you can skip it if you had to do a factory reset or if you feel bold or are in a hurry. However, be sure that you have at least some cm-12.1 version already installed. These instructions may not work with older versions, unless you do a factory reset.

Use the normal automatic update procedure as usual, Settings, About phone, CyanogenMod update. For the Galaxy Nexus the file is: cm-12.1-20160710-NIGHTLY

You can do that straight away. First download the version, then update. Just be careful to choose cm-12.1 and not to choose cm-13.0 by mistake.

Download the matching Google apps for Android 6

Open your browser and go to http://opengapps.org/ . Select Platform: ARM, Android: 6.0, Variant: pico. This is for the Galaxy Nexus. On newer phones you may be able to choose Variant: nano, but for the Galaxy Nexus do not choose nano or any bigger variant, as they do not fit on this phone. Tap or click the red download button. The file for the Galaxy Nexus should be named open_gapps-arm-6.0-pico-2016xxyy.zip, where xx is the month and yy the day of the date when it was made. The pico file is between 60 and 80 MB in size.

Make sure the file is on the phone. You can put it anywhere, like in U/flash or in the cmupdater folder where the CyanogenMod ZIP files go.

Download the latest CyanogenMod 13.0

Download the latest CyanogenMod 13.0 nightly, using the downloader, but do not install it. Tap the download symbol and read any messages popping up. If it says that it will now install, cancel and do not let it install.

At this time you want to have either a full or nearly full battery or the phone should be connected to a computer or charger. If the phone ran out of electricity during the following procedure, it could be bricked.

Boot into the recovery

If you have the power menu enabled, long press the power button and select to reboot. From the following menu choose recovery. If the phone reboots and has no following menu, you don't have the power menu enabled. Either enable it in Settings, Developer options or use the alternative method described below.

Alternative method to boot into the recovery: Power down the phone. Then on the Galaxy Nexus press and hold volume up and volume down (you can press in the middle) and the power button at the same time, until the white text appears. Then let go of the buttons. You should now be in fastboot mode. While at the fastboot screen, use volume up or volume down to select Recovery mode, then press the power button to boot into the recovery. On other phones you have to determine the proper combination and sequence of buttons to press.

You should now see the Cyanogen (or TWRP) recovery screen. If you don't, get out of whatever you booted into and try again.

I assume you have the CyanogenMod recovery installed. If you have the TWRP recovery instead, that is also good and works just as well, but there is no automatic update for this recovery. You have to keep it up to date manually.

The Cyanogen recovery is a bit strange to use. Wipe up or down to move the grey selection bar and tap it to select.

Wipe

If there is a choice to Wipe cache, select it and wait until it is finished.

If you have the Cyanogen Recovery, continue to the next point. Do not perform a Factory reset, because that would erase all your apps and their settings and data. If there is an Advanced choice, it contains a function to Wipe system partition, but some versions of this recovery have a defect that also wipes all your files off the phone. Since it is not needed, don't do it.

If you have the TWRP recovery, you can wipe the system partition before flashing the new system. Just do not wipe data and do not wipe your internal storage, because otherwise you would lose all your files.

Flash CyanogenMod 13.0 and the Google apps

While still in the recovery, select Apply update. Do not choose Select from ADB. Select the other option, which could be named "Choose from emulated" or similar.

Select: 0/

Wipe up or down to get to the lower-case letters, find and select: cmupdater

Select the cm-13.0- file with the highest date, i.e. the last one. There may only be one. Do not select any cm-12.1- or lower versions.

Wait until this file is flashed. Do not leave the recovery now and do not reboot.

Find and select the matching Google apps. If you put them into the cmupdater folder, they should be right here, otherwise navigate to the folder where you put them, using the same commands and ../ to go back up in the folder hierarchy.

The file you want should be named similar to open_gapps-arm-6.0-pico-2016xxyy.zip. Tap that file to flash it and wait until it is flashed.

Reboot system now

Go back and select Reboot system now.

Wait patiently. Booting can take up to about 10 minutes and optimising the apps can take much longer, depending on how many apps you have installed. During the optimizing phase the phone displays how many apps it has already optimized, so you get an idea how long it will take.

Recent versions of CyanogenMod 13.0 tend to get stuck after the first reboot after an update. If the screen does not change, wait for another 5 minutes, then reboot the phone by pressing and holding the power button for 20 seconds, then restarting the phone.

That's it. You are now running Android 6.0 "Marshmallow" (CyanogenMod 13.0) and belong to a still fairly small minority of Android users who are as advanced as this (as of mid-2016).

If something went wrong

If anything goes wrong, abort the procedure and check whether you can still start your older Android.

In certain cases poor performance, a hot phone, and rapid battery discharge has been observed, usually because the phone was rebooted into CyanogenMod 13.0 before flashing the matching Google apps. This cannot be repaired without a factory reset. Even if you re-flash CyanogenMod 13.0 and the matching Google apps, the problem will prevail.

In this case do the whole procedure again, but this time do a Factory reset. This will remove all your apps and their data, but it will lead to a well-functioning phone. You will then have to set up your apps again.