[Galaxy S II Android Development] Saber:
Want to update to CM13? Read this first!

Welcome to my upgrade guide that will allow users to painlessly upgrade from an earlier version of android to CM13.

Background info:

Our Cyanogenmod maintainer, Lysergic Acid, started bring alpha builds of Cyanogenmod 13 since October of last year. Now, we have official nightlies on our device which just proves how strong of a device we have and how strong we are as a community on XDA. With all of the exciting new features Marshmallow brings to the table, people have been flashing CM13 without reading any precautions or information about the possible consequences of not doing a particular step or procedure. With this guide, you will learn how to successfully flash CM13 on a device, everytime!

This guide will assume you are on a rooted custom ROM with a working custom recovery. It will not guide users how to update from stock ROM to CM13. If you haven't rooted your phone yet or are on stock ROM, use a different guide to install a rooted custom ROM (KK or LP preferred) then follow this guide.

Another important tip is to read the issues post before flashing the latest build of CM13. There could be issues that you could encounter so make sure to read before flashing!

How to install:

CM13 is available to install for CM12.1 users via the OTA updater. However, updating to CM13 via OTA updater is buggy and will remove gapps and Isorec Recovery. If you receive notifications about the CM13 update, don't use the OTA updater! Use this guide below instead.

Backup your current ROM in TWRP or CWM! You will need to do this just in-case something goes wrong during the upgrade process or you don't like CM13 in general. If you are using Cyanogen recovery from CM12.1, you should flash a isorec recovery from this thread. TWRP or CWM are both fine. Note: If you are using a build earlier than 20160119 nightly or not using one of Lanchon's isorec kernels, you will not be able to use a isorec recovery. This will not apply to people on older versions of android (for older versions of android, KK compatible recovery or higher is all you need).

If you require to use Gapps, make sure to re-partition your phone now if you haven't done so! This can be done by following one of the guides linked in the Gapps section. It is required for users to re-partition their system partition to 1GB to prevent issues when flashing gapps. Please also note that when upgrading from an older ROM, you must flash a newer Gapps to keep Gapps on your phone.

Download CM13 from the official cyanogenmod downloads page onto your phone. Update: The Cyanogenmod downloads page is gone, instead download from here.

If you are in CWM, while on the main menu, choose factory reset. Then go into mounts and storage and select format system. If you are in TWRP, go into the wipe menu, select advanced wipe, check wipe system, data and cache, then swipe the bar to wipe.

Flash the CM13 zip.

(Optional)Install Gapps (if you've re-partitioned already, if you didn't, you will get errors!).

(Highly recommended)If you don't have isorec recovery already installed, you should flash an isorec recovery here: Thread link

Reboot your device. If the recovery prompts if you want to fix root, always select NO because root installer is broken.

I will repeat what I said earlier but with more explanation. Why don't I have a guide on how to update to CM13 via OTA? OTA update from CM12.1 to CM13 is broken! You will lose gapps and it will cause a lot of problems to user. Just follow the above guide to flash update manually and no issues will be encountered.

Gapps on Android Marshmallow:

Recommended Gapps: OpenGapps Pico

What to select on OpenGapps page: ARM>6.0>Pico

While flashing Gapps is an optional step during the upgrade process, many people require the Google Play store to install all of their apps. It is required for people who want to flash gapps to increase their system partition to 1GB (or more). Stock partition sizes have a system partition size of about 500MB which is not enough to hold even the smallest gapps packages available!

Re-partition guides

You can re-partition your device by following my guide (Requires PC): http://xdaforums.com/galaxy-s2/development-derivatives/mod-increase-partition-size-t3011162 or Lanchon's guide (Doesn't require PC): http://xdaforums.com/android/software-hacking/tool-lanchon-repit-data-sparing-t3358036

If you have working recovery, use Lanchon's guide (second link). Otherwise, my guide (first link) will work for everyone else. :)

Please note that re-partitioning your device via ODIN (first link) will delete all of your data, including your internal storage which contains all of your personal files. You must backup all of your files to an external sd card or PC if you want to keep them! However Lanchon's guide (second link) keeps all of your personal data but requires a working custom recovery!

Please also note about the naming of the zip/pit files!

If you get error 70 while flashing Gapps, make sure you are using the re-partition guides properly, you may have missed a step or forgot to do something. If you didn't bother reading all of the information I've given and decide to post about your error, you will be told to read the information properly and nothing else. All help was given already If you get some other error, read the OpenGapps FAQ.​

Stock Cyanogen Recovery:

CM13 Stock Cyanogen Recovery is a basic recovery that allows you to flash zips from your internal and external sd storages. It provides wipe options and ADB flashing support, but was only designed to provide the basic tools for flashing. Although it works fine in recent builds of CM13, it is highly recommended that you use an Isorec Recovery like TWRP.

Update: Cyanogen recovery has fixed mounting support for internal and external sd as of the 5th of October nightlies. The steps below now only apply to people who want to use older CM13 builds.

If you have build 20161005 or later, you can now easily switch to an Isorec recovery simply by flashing it via Cyanogen recovery. You can not do this in older builds!

Isorec install on builds older than 20161005

1. ADB Sideload Method (requires PC)

This is the easiest and quickest method to restore Isorec Recovery on your device. However it will require ADB/Fastboot tools to be installed on your computer. You also need to enable ADB debugging and enable root access for ADB in the development settings to use this method. If you don't have ADB/Fastboot tools installed, download it from this thread

Download recovery-Lanchon-IsoRec-TWRP-2.8.7.0-20160113-i9100-(by-arnab).zip onto your PC

If you haven't enabled ADB debugging and root for ADB, do this now in the development settings menu

Reboot your phone into Cyanogen recovery

Select apply update from ADB sideload

In the ADB/Fastboot folder containing ADB.exe, hold shift + right click the window to open up the folder menu.

Select open command line menu here

Type or copy and paste this command: adb sideload recovery-Lanchon-IsoRec-TWRP-2.8.7.0-20160113-i9100-(by-arnab).zip

Cyanogen recovery should begin flashing TWRP recovery

Once completed, reboot your device

2. ODIN method (requires PC)

This method requires ODIN to be installed on your computer. You will be connecting your phone to the computer which may or may not be a problem for some users.

Put your phone into download mode (Power key, home button, Volume Down button)

Connect your phone to your PC

Open ODIN. Make sure that it detects your device. If it doesn't, check if you have the right drivers installed and if the usb cable/port is damaged

Download ODIN-flashable CM12.1 kernel here: http://xdaforums.com/showpost.php?p=57974756&postcount=4 Don't worry if it isn't CM13 kernel, you will have to reflash CM13 anyway! If you don't know which one to choose, the TWRP CM12.1 kernel is fine.

Select the CM12.1 kernel as PDA (or AP)

Make sure you untick auto-reboot

Start the flash.

Once flash is successful, disconnect your phone from your PC. Remove your phone battery, then reinsert it.

Get into recovery mode (Volume Up, Power Key, Home button)

Repeat CM13 flashing guide above without any backup.

If you have linux, use JOdin instead of ODIN.

3. Terminal method (Doesn't require PC)

This method requires a terminal emulator. Either download one from the google play store or enable the in-built terminal emulator in development settings. Follow the guide carefully. You can use this method if your USB port is broken.

See Lanchon's post: http://xdaforums.com/showpost.php?p=65164875&postcount=1002

As mentioned in Lanchon's post, IF YOU MAKE A MISTAKE IN ONE SINGLE CHARACTER YOU TYPE IN THE TERMINAL, YOU COULD BRICK YOUR PHONE FOREVER!!!​

Root on Android Marshmallow

CM13 has root included, however it is disabled by default. To enable root, you need to enable root for apps in the developer options menu (tap the build number in about phone until it has been enabled). I recommend allowing root access for ADB too because this can help you recover from some problems that may occur in the future.

You may be familiar with the root tool, SuperSU, and it may have been installed in CM12.1 or earlier versions of android. Android Marshmallow has a different way of rooting the device. It is not compatible with older versions of root.

Currently, SuperSU doesn't work on CM13. Do not attempt to install it with system method and don't try to install it with systemless method.

How to update to a newer build of CM13

1. OTA Updater method

This method of updating Cyanogenmod is usually preferred by many users because it is ready-to-use and is quite simple to do.

Go into settings>about phone>system updates

If there is a new build available, press the download button. The OTA updater will now download the update to your phone

Once it finishes downloading, it will prompt you if you want to install the update. Confirm that you want to update and your phone should restart

Your phone will reboot into recovery mode. The update process is automated. Once the progress bar is full, your phone should reboot again.

If your phone doesn't bootloop and you get to the android is upgrading screen, you have successfully updated CM13!

2. CyanDelta Update method (Popular method)

This method of updating Cyanogenmod is most beneficial to people who want to save bandwidth and/or want to download the update via their mobile data. This method typically saves around 200MB of data which makes it a quick way of updating, without sacrificing stability.

Download Cyandelta from the google play store

Download from CyanogenMod website the .zip file of the ROM you are using. Please note that if you haven't saved a copy of your current build onto your phone, the Cyanogenmod Downloads server usually deletes old nightlies. Update: The Cyanogenmod downloads page is gone, instead download from here.

Launch CyanDelta and select the .zip file you just downloaded from CM website. CyanDelta will import them and will create a new bigger zip in “Cyandelta” directory in the root of sdcard.

When an update will be available, a notification will appear. Now you can launch CyanDelta and start the download by simply clicking a button!

The new zip will be placed in “Cyandelta” dir in the root of sdcard. Now you can install it manually from recovery, or you can press “Install zip”. Cyandelta will automatically reboot to recovery, install the zip, wipe cache partition and reboot (this requires root permission).

If you are stuck using the CyanDelta update method, check out their FAQ on their website.

3. Manual method (Recommended)

If you have issues using the other methods to update CM13, you can also install the update manually via recovery. This method usually has the greatest success rate.

Backup your current ROM in TWRP or CWM! You will need to do this just in-case something goes wrong during the update process. If you don't have Isorec TWRP or CWM, use the guide above to reinstall CM13 with a working recovery!

Download newer CM13 build from the official cyanogenmod downloads page onto your phone. Note: Old cyanogenmod nightlies are usually deleted from the Cyanogenmod server if you haven't downloaded your current build onto your phone yet. Update: The Cyanogenmod downloads page is gone, instead download from here.

Flash the CM13 zip

Wipe cache

Reboot your device. If the recovery prompts if you want to fix root, always select NO because root installer is broken. If your phone doesn't bootloop and you get to the android is upgrading screen, you have successfully updated CM13!

New users are encouraged to post questions about CM13 here and not in the CM13 Development thread, this will leave everyone happy and everyone gets what they want ;)

Thanks to Lysergic_Acid for CM13, Cyanogenmod team, CyanDelta team, arnab for his TWRP isorec recovery, Lanchon for his Isorec kernels, repartition script, Isorec recovery and guides.

Updated on 02/02/17