Get Marshmallow on an older Android

It’s that time again, as Android smartphone owners either await or lament news that their beloved device has fallen off the digital cliff and won’t receive an official update to Google’s latest Marshmallow Android release.

But there’s a growing group of users who care little for official ROMs — they’re more interested in knowing whether the Android developer community will crank out their own versions of Android 6.0 ROMs.


Flashing the firmware of your Android device will instantly void its warranty. Under rare circumstances, it can also brick the device, rendering it inoperable.

While we successfully tested the information in this story, it is provided with no warranty — use it at your own risk.

This is not recommended for Android beginners. No personal help will be offered.

‘No’ to bloatware

Community ROMs continue to gain ground as users rail against bloatware — apps of questionable value increasingly baked into official ROMs. But community ROMs also allow for greater customisation, from kernel CPU hacks to cleaner, more efficient launchers and interfaces.

That’s partly thanks to Google’s Android Open Source Project (AOSP), which sees the basic source-code nuts and bolts of each Android release available free to anyone. These releases come minus the Google ‘gold’, apps like Gmail and Google Play Store, but they’re also unencumbered of corporate bloatware.

Samsung’s Galaxy S3 is an old-school favourite, despite nearing its fourth birthday. This phone arrived with Ice Cream Sandwich (Android 4.0) and received its last official update with Jelly Bean (Android 4.3).

But with reportedly 60 million of them on the streets, it remains an early target for new unofficial Android releases. And Marshmallow is no exception, with the first ‘alpha’ ROMs based on CyanogenMod 13 now appearing for the S3.

Here’s what we did to get Marshmallow loaded, up and running.

Backup, backup, backup

Helium can back up your device to your PC without root access.

Helium can back up your device to your PC without root access.

It goes without saying, but if you’re going to flash your phone with a new ROM, you must backup your existing data.

Most full-force backup apps require root access, but failing that, Helium, free on Google Play, is worth a look, although it needs a PC link to work.

Google can sync your Google Play-installed apps and Gmail accounts — just make sure you back up your contact book, SMS messages and any other data you want before you continue.

We also recommend removing any important removable storage, just to be safe.

Root access

Use Root Checker to see that root-access has been achieved.

Use Root Checker to see that root-access has been achieved.

The first thing you need to flash a new ROM is ‘root access’, access to your device’s root folder to allow the ROM update to get where it needs to go.

Most long-time Android users will already have their favourite root-access methods. Some go for the ‘do-every-device’ all-in-one tools like Kingo Android Root, while others prefer phone-specific solutions such as Samsung Odin and CF-Auto-Root.

Use whichever method you prefer, but just make sure it’s compatible with your device. Some tools suggest they may still work even if your device isn’t on their compatibility list, but take that advice with caution, particularly if working with a no-name device.

Try to confirm someone else’s success on your device with that method before attempting it yourself.

Finally, confirm you have root-access with Root Checker, free from Google Play. If the app says you don’t have root access, try your rooting method again.

Download ROMs

Having the XDA Developers’ website on speed-dial is a definite must.

Having the XDA Developers’ website on speed-dial is a definite must.

Android devices typically operate three main ROMs — the recovery ROM, handling low-level access and general firmware updates; the system ROM, which is the Android OS you play with; and the Radio ROM, handling phone network access.

You shouldn’t need to touch the radio ROM, so all you’re looking for is the Android ROM and any associated extras.

For the Galaxy S3 and Marshmallow, you need a minimum of two system ROM zip files, preferably three.

The first is the system ROM itself — we went with Resurrection Remix M, built on CyanogenMod 13/Android 6.0.1 code. The second is the latest GApps (Google Apps) ROM providing, among other things, Gmail and Google Play Store apps.

Grab these via the XDA Developer Galaxy S3 page. The RR-M ROM is around 280MB, while the ‘slim’ version of GApps is about 100MB. Once downloaded, copy those files to your phone’s storage.

At this point, they’re all the ROMs you need to update your Galaxy S3 to Android 6.0.1. However, you will lose root access (if you already have it) in the process.

The optional third ROM is the fix. SuperSU is now available as a ROM zip file you flash during this process, restoring root-access.

At time of writing, it was still experimental, but worked for us — read the warnings before downloading it from the XDA Developers’ website.

In any event, you must ensure you download the Android ROM specifically designed for your device. This is vital — flashing the wrong ROM will very likely brick your device.

Get the latest TWRP

TWRP Manager is a great option for devices with root-access.

TWRP Manager is a great option for devices with root-access.

With root-access confirmed and the correct ROMs downloaded, the next task is getting hold of the latest TeamWin Recovery Project (TWRP) release.

TWRP is arguably the most popular replacement for your phone’s stock recovery ROM, allowing you to do things like full backups and flash new system ROMs. The easiest way to get this installed is to use TWRP Manager from Google Play.

With support for brands including HTC, Huawei, LG, Motorola, Samsung and Sony, TWRP is our recovery ROM of choice — head here to grab install instructions for your particular device.

For the Galaxy S3, it’s a fairly straightforward process. With TWRP Manager installed, you start by tapping ‘TWRP Install’ from the app swipe menu, then tap ‘Device Name’ and select your device from the list.

Next, tap ‘Recovery Version to Install’ and choose the latest option available (version at time of writing). Finally, tap the ‘Install Recovery’ option, it’ll begin downloading the TWRP version and install it.

ROM Installation

Press Install on TWRP to begin the ROM flashing process.

Press Install on TWRP to begin the ROM flashing process.

The ideal system ROM upgrade changes the operating system files, yet leaves your personal files and installed apps unaffected — that said, you still want a good full backup, just in case.

To flash the ROM, you first reboot your device into recovery mode. Press and hold the Power, Home and Volume Up buttons simultaneously, or just use the menu option available in most ROM managers.

In TWRP Manager, for example, you select Reboot from the swipe menu and choose ‘Reboot to Recovery’.

Once in recovery mode, you should see the main TWRP menu page. If you haven’t already, consider using TWRP’s Backup option to make a full phone backup as it is. If things go pear-shaped, restoring your backup should return your device to its current position.

Scroll through your files list and select the Android ROM file.

Scroll through your files list and select the Android ROM file.

Begin the ROM flash process by tapping the Install button. Locate your ROM file, select it and you’ll get the ‘swipe to confirm flash’ screen.

TWRP allows up to ten ROM files in one hit, but for safety, flashing one file at a time is easier to track if things go wrong. Flashing the Resurrection Remix-M ROM takes about a minute.

Check you have the right file, then swipe right to begin flashing.

Check you have the right file, then swipe right to begin flashing.

After that, press the Home button on the half-page menu, tap Install on the main menu again and repeat the process for the GApps ROM and, optionally, SuperSU zip files.

These should take no more than 30 seconds, together.

One tip: if TWRP offers to update SuperSU for you, don’t let it — it’ll stuff things up.

Wipe cache

Flashing Android 6.0.1 should take no more than a minute.

Flashing Android 6.0.1 should take no more than a minute.

The next step is one newbies often forget at this point and that’s wiping the program cache.

TWRP makes this easy, by producing a menu option when ROM installation is complete. It’s called ‘Wipe dalvik/cache’ here, in reference to the Dalvik virtual machine that ran your apps in Android prior to Lollipop/5.0.

When all ROMs are installed, tap Wipe dalvik/ cache, then reboot.

When all ROMs are installed, tap Wipe dalvik/
cache, then reboot.

Google began replacing Dalvik with Android RunTime (ART) in KitKat/Android 4.4, the process completed by the time Lollipop arrived.

What you’re doing here is wiping the Dalvik Executable (.dex) files from the program cache Android uses to run your apps. Android still needs these files, but they must be regenerated and wiping the cache forces Android to do that.

Wiping should take no more than a few seconds at most.


Once that’s done, you can reboot the device into the new Android OS using the ‘reboot’ button on the main TWRP menu and choosing System.

As always, the first boot after a ROM flash takes time, so be patient. The welcome splash screen will spin for a few minutes before you should see Android start optimising your installed apps.

Once the new OS is up, head to Settings > About phone and you should see ‘6.0.x’ listed under ‘Android version’. If so, well done — you’ve got Marshmallow running on your old device.


If you look closely, you’ll see we’ve been a bit naughty during the ROM flashing by having just 12% battery capacity.

We had the phone on AC charge at the time, but ideally, you shouldn’t initiate a ROM flash without at least 50% capacity in your battery’s tank.

If the mains power failed and the battery tanked before the ROM flash completed, there’s a possibility the device could be bricked. So charge before you flash.

A common problem that crops up on first boot is being stuck in a boot-loop — that’s where you never get past that splash screen.

The solution here is typically to go back and wipe the cache again, but if that doesn’t work, you may need to reflash the ROM(s).

Check new battery settings

Android’s battery saver lets you set when power-save options kick in.

Android’s battery saver lets you set when power-save options kick in.

Once you have your new ROM up and running, it’s always a good idea to head to the battery settings, just to see what’s changed and how things are set up.

Google has made considerable power management changes in recent Android releases and Marshmallow is no different.

Head to Settings > Battery and press the menu icon, top-right. You’ll have two options — Battery Saver or Battery Optimisation.

Battery Saver lets you set the battery capacity remaining point at which your optimisation tricks kick in. In Android 6.0, those points are settable at 5% intervals from 5% to 35% capacity remaining.

The Battery Optimisation option lets you set individual apps for leaner power consumption when the Battery Saver remaining capacity point tips over.

What doesn’t work?

While community ROMs are fantastic for keeping popular ageing devices alive, you can’t always expect feature perfection.

All ROMs will fit somewhere on a continuum between ‘total stability, all features working’ to ‘it boots and some things work’.

It’s important to investigate as much as possible the features of your ROM of choice and understand what works and what doesn’t before you flash it.

Even then, it’s unlikely the ROM developer(s) will have discovered every bug in the system. But bug finding is something the Android community is rather good at, which helps to move ROM development forward.

The key is to stick with ROMs from recognised developers with a good track record and not jump in too early. The more ‘alpha’ a ROM is, the more likely features are not to work.

Any ROM worth its weight will have an XDA Developers’ forum thread — read the thread before you jump in and flash it.

USB data transfer in Windows

One problem we found with Resurrection Remix-M early on was Windows not seeing the S3’s storage on USB plug-in.

The solution we found was to plug into the PC and, on the device, head to Settings > Developer options, scroll down to ‘Select USB Configuration’ and swap from MTP (Media Transfer Protocol) to PTP (Photo Transfer Protocol) and back again.

We don’t know why, but this seems to kick-start Windows into seeing the available storage.

Benefits & drawbacks

The default Marshmallow home screen, thanks to Resurrection Remix.

The default Marshmallow home screen, thanks to Resurrection Remix.

Community ROMs and root access are not official, so you could argue (as some do) these are security risks. But choosing the more popular options such as CyanogenMod or Resurrection Remix should offer a safer bet.

The benefits of community ROMs, however, can be enormous, from having complete control over your Android device and minimal bloatware to potential over-the-air security updates from Google (in the case of Marshmallow).

Our impressions are this early ‘release 3’ of Resurrection Remix (6.0.1_r3) looks pretty decent — at time of writing, it was probably too soon to consider it useable as a daily driver, but it’s certainly not far away.

Our S3’s quad-core Exynos 4412 SoC CPU and 1GB of RAM are having no obvious trouble rocking Marshmallow.

Just remember, changing the ROM is permanent — there’s no easy ‘undo’, other than restoring your system backup or flashing a previous Android ROM.

Not every legacy Android device will get community ROM love, but for those that do, updating the ROM can definitely be a worthwhile project — provided you know, understand and can mitigate the risks involved.