[G3 General] topet2k12001:
Alternative Methods - No Downgrade To Kitkat

There are new threads that enable you to root the LG G3 without downgrading to Kitkat. Click me! And me too! They are almost identical in approach so it doesn’t matter which one you choose.

Advantage: no need to downgrade to Kitkat

Disadvantage: root only.

…until today. :)

Explanation

It is always said (especially in technology): there is always more than one way to arrive at the same result.

Whether you follow my guide (which originated from @autoprime – with downgrade to Kitkat) or the newer ones (without downgrade to Kitkat), the end result is the same.

The only difference in the newer methods is:

1. The aboot.img is Lollipop (because presumably, we did a full KDZ/TOT upgrade, or an OTA upgrade).

2. The device will be rooted “after-the-fact”, unlike our current method where we root and “bump” it while it was still in Kitkat.

Problem Statement with the “no-downgrade” method: I can root it, but I can’t get custom recovery (TWRP) even if I use a “bump’d” boot.img.

Findings: a Paradox/Catch 22

1. To get “bump’d” boot.img to work, you need a Kitkat version of aboot.img (you can extract it via the KDZ and TOT Extractor tool).

2. To acquire a “bump’d” boot.img, someone needs to “bump” it for each and every LG G3 variant.

3. Typically, LG G3 variants that have highly available “bump’d” boot.img for download are the popular ones (D855, D850, D852, etc.).

4. For the less popular variants, there is a way. You can extract a copy of the “bump’d” boot.img that was created when you followed this existing guide via a command using the Android Terminal Emulator. This is so in the future when you need a full reflash of Lollipop, you already have a Lollipop-ready “bump’d” boot.img.

If you try to flash a “bump’d” recovery.img (a.k.a. custom recovery – TWRP) and try to boot to recovery, you will get a “certification verify” error. This is because again, of mismatched signatures.

So you may say: “then why not manually flash a ‘bump’d’ Lollipop boot.img?” Well…yeah, but remember as per @autoprime and my findings, even if you have a “bump’d” Lollipop boot.img, it won’t work because you need a Kitkat aboot.img for that.

The fun part comes in when I did another experiment: I extracted a Kitkat aboot.img from my D858HK Kitkat (version 10F) KDZ file, then flashed it manually. Voila – it worked!

Requirements

A “bump’d” Lollipop version boot.img. Bonus for D858HK users, click me and look for lollipop-bumped-boot.img. If you want an un-"bump'd" Lollipop boot.img for your LG G3 variant, you can extract it from your downloaded firmware (KDZ or TOT) via the KDZ and TOT Extractor Tool.

A Kitkat version aboot.img (no need to “bump” it). Extract it from a Kitkat KDZ/TOT. Bonus for D858HK users, click me and look for aboot.img. You also can extract this from your downloaded firmware (KDZ or TOT) via the KDZ and TOT Extractor Tool.

A “bump’d” custom recovery (TWRP). Bonus for D858HK users, click me and look for twrp-2.8.4.0_d855-signed.img. For other variants, you can search the forums and see if someone has uploaded a "bump'd" custom recovery (TWRP).

Kitkat version of your "Boot Stack" (you can extract them by using the KDZ and TOT Extractor Tool):

rpm.img

sbl1.img

tz.img

dbi.img

persist.img

laf.img

Download the "Kitkat Boot Stack" zip. It is a TWRP-flashable zip file that will help to flash the files mentioned in Step 4 automatically. This is important to maintain/keep your "Download Mode" usable. Put a copy in your Internal Storage.

An LG G3 currently running Android Lollipop (either fully flashed via KDZ/TOT, or via OTA)

If you plan to enter commands on the phone (on-the-go), install Android Terminal Emulator after you root the device)

Process Overview

The acronym to remember is “RTF”.

Root your Android Lollipop via the new guides available in XDA Forums

Transfer the required files mentioned above

Flash the required files manually (by typing in commands via the Android Terminal Emulator, or via “ADB” commands in your computer when the LG G3 is connected to it and if you are familiar with this)