Ir al contenido principal

How to root, unblock bootloader & install TWRP custom recovery on Verizon LG G2 VS98027A

Apparently Verizon made it particularly tricky with their VS980 27A version (on bloated/stock 4.4.2 KitKat) to free your smart phone...

But with these tips you'll be on your way to flash custom ROMs in no time!

Tools that don't seem to work as of today:
  • iroot (to root)
  • FreeGee (to unlock bootloader)
  • ClockworkMod Recovery (CWM) in general
  • TWRP Manager (to install TWRP)

How I did it

...and over the air! No ADB/ USB Drivers or PC connection required B)

* Download and install Stump Root from directly on your device. (You may need to allow installing unsigned packages in your security settings.) The specific version that worked for me is Stump-v1.2.0.apk.
* Apparently the bootloader can't be unblocked! However, there's an exploit called loki which is included in some TWRP builds and gives you the same abilities as an unlocked bootloader (:
* To install Tim Win Recovery Project (TWRP), download and install AutoRec (from here) (V908_AutoRec.apk) onyour device. This should install TWRP which is not the newest but will do the trick.

That's it.

UPDATE (skip this)

I'm also including instructions to flash a custom Lollipop 5.1 ROM on your phone B)

More exactly, I'm referring you to the instructions on Verizon LG G2 VS980 Android 5.1 update [Unofficial]. Note however that at the time of writing this, the Gapps link in the Euphoria-OS 1.1 forum post was broken. I used the 5.1.x one from this Androidid Geeks post -- I was tempted to try the Open Gapps 5.1 mini variant though.

Feel free to leave any questions or comments, I'm pretty responsive!

UPDATE'S UPDATE (why skip the above)

Apparently the EuphoriaOS project is abandoned... I'm interested in trying Resurrection Remix but I may need to update TWRP. However I just realized Euphoria didn't come with root access nor does Stump Root support Lollipop, so I'm sort of back on square 1 rn looking for a way to root my 5.1.1 Lollipop (Euphoria 1.1) VS980.

OK, first, I rooted my VS980 on 5.1.1 easily from my phone with KingBoot...

Unfortunately, I tried updating my custom recovery with TWPR Manager however it only broke it! AutoRec doesn't want to work on this system any more, and FreeGee isn't working either.
Then, AutoRec became buggy and I was able to try it's recover stock (recovery) which caused my phone to go in a boot loop! Looking for a way to un-brick now... This worked! ("CSE Flash" option, a few forceful reboots, and a hard reset...)

As described above, I ended up degrading to stock 4.2.2 KitKat and starting over.


After rooting woth StumpRoot and flashing TWRP with AutoRec, you may update TWRP to a decently recent version with Blastagator's TWRP (which uses the bump exploit, formerly loki) by downloading the vs980 zip from here, rebooting to recovery, and installing it (and restarting recovery or system).

To install a better Lollipop custom ROM, I can recommend Resurrection Remix. Just download the desired ROM from here (I used v5.5.8, following the guide above) and Gapps (ARM 5.1 mini this time around) zip files; boot into recovery (I use the TWRP Manager app for this), do a full factory reset, install each, and reboot system!



Entradas populares de este blog

sqlalchemy ProgrammingError can't adapt type numpy.float64 - Python troubleshooting

Are you getting a

sqlalchemy.exc.ProgrammingError: (ProgrammingError) can't adapt type 'numpy.float64'

It's because psycopg (psycopg2) - which is used inherently by SQL Alchemy but if you're just dealing directly with alchemy you might not know this - has no idea how to make the numpy.core.numerictypes.float64 (complete type path: another thing they don't tell you) a string for SQL querying.

Simple solution, add:

# solution by Jorge Orpinel found at rehalcon.blogspotcom
import numpy
from psycopg2.extensions import register_adapter, AsIs
def addapt_numpy_float64(numpy_float64):
return AsIs(numpy_float64)
register_adapter(numpy.float64, addapt_numpy_float64)
somewhere in the program.

For a more complete reference of the problem see

I don't git it.

A lot of people praise git. I liked it at first, now I don't geet it.

Some weird stuff I've found in git, in no particular order:

You can pretend to be anyone. Just change your [user] name and email in .git/config and commit away. As long as when you push you use valid credentials, the commits will be recorded as from someone else. (At least this is possible on GitHub, I know git doesn't implement any specific user access control.)
* I guess you could try to enforce signing commits but as anything besides the basics, that gets pretty complicated on git.Steep learning curve that keeps getting steeper. Ok: git init, git add, git rm -r, git commit -am, git remote add, git fetch, git merge -ff, git push and pull -u of course, git checkout -b, git reset --mixed, git revert HEAD ... Those are just some of the basics... Ever tried to incorporate git subtree pull -P prefix --squash > into your workflow? I have, it's not fun (keep reading).Its super complicated to collaborate…

Dockerize your Django App (for local development on macOS)

I'm writing this guide on how to containerize an existing (simple) Python Django App into Docker for local development since this is how I learned to to develop with Docker, seeing that the existing django images and guides seem to focus on new projects.

For more complete (production-level) stack guides you can refer to Real Python's Django Development with Docker Compose and Machine or transposedmessenger's Deploying Cookiecutter-Django with Docker-Compose.

Pre-requisitesAn existing Django app which you can run locally (directly or in Virtualenv). We will run the local dev server with runserver.A requirements.txt file with the app dependencies, as is standard for Python projects; including MySQL-python.Working local MySQL server and existing database. (This guide could easily be adapted for other SQL engines such as Postgres.)Install Docker. You can see Docker as a virtual machine running Linux on top of your OS ("the host"), which in turn can run con…