September 17, 2015

How to OTA update your rooted Nexus. (quickly unroot)

Quite a few posts out there seem to think the only way to accomplish this is to do a factory reset and/or wipe all user data. As Android is moving to a faster release cycle, combined with the new measures to ensure an unaltered installation, this procedure is going to become more used. It might also be possible to flash the latest factory images non-destructively to emulate a OTA, but I'm not 100% sure of this (yet).

That is not true, all you will need to do is to revert certain partitions on your phone to stock (boot, recovery and system), and you can do this without wiping apps or user data.

This is because of new restrictions in Android Lollipop (for whatever reason)

I had to flash a custom boot when 5.0 was released to be able to root my Nexus 5 using SuperSU. And this combined with the modifications this did to my system partition prevented the OTA update from working, resulting in an 'Error!' message during update.

All you need to do is to download the original post-5 factory image that your current device is using (check this before booting into fastboot mode), then reboot into fastboot (Volume-Down + Power) then:

First extract archive:
~> tar -xzf hammerhead-XXXXXX-factory-XXXXXXX.tgz

1) If you modified your bootloader, reflash bootloader: (you can root without doing this, which is what I prefer)
~> fastboot flash bootloader bootloader-hammerhead-XXXXX.img

2) If you rooted:

In the extracted folder, extract the various images:
~> unzip

Then flash all the non-userdata image partitions with stock: (only the system is really needed for newer root methods)
~> fastboot flash system system.img

~> fastboot flash recovery recovery.img
~> fastboot flash boot boot.img

Anyway, this worked for me. After the OTA you can then again root your phone as required:

Post a Comment