Recognized Dev / Inactive Recognized Contributor
- Jun 23, 2010
Manual Updating: How-To Preserve Root Access and Bootloader Unlock!
This thread assumes you are already rooted, have TWRP installed and can read English.
update... as of Nov 10 2014:
Official Lollipop for D855 and F400 has come out... following my instructions here you can still get bump'd - http://forum.xda-developers.com/showpost.php?p=56650179&postcount=59
So far, no anti-rollback in sight but I would still be careful of future updates.. and all other G3 devices models should be careful before taking an OTA (AT&T/Verizon... maybe).
Follow the steps above and you will ALWAYS have access to root/bump and flash anything you want.
If you have those 3 covered the rest is EASY as long as you read.
If you are unsure of any terms used in this post please search XDA/Google instead of asking in here.
I'll get this out of the way right now... if you do not care about having access to Bump or root you can ignore all of this and continue to take LG's OTA updates. One could argue that taking OTA updates is required to maintain any level of safety/security... but that goes out the window once you start rooting and installing recovery/roms anyway. Regardless, I am not telling anyone not to update. But if you do update... do it manually. As of Oct 18 2014, every single G3 variant has root and bootloader unlock.. either out of the box(D851) or thanks to Bump. There is no need to ever take an OTA from here on out. The latest D855 and F400 OTA updates have blocked TowelRoot, IORoot and even Stump.. pretty sure only PurpleDrake works on them for now... I would expect PurpleDrake to be patched soon enough. And with official Lollipop updates coming root will only get harder. But.. as long as we install everything through TWRP manually we can update while keeping root/unlock/Bump.
Yes, we can downgrade using LG FlashTool but that could be blocked at any time with an OTA update to prevent rollback(Samsung does this).
Yes, it's possible to complete an OTA upgrade and maintain root but there is no way to know for sure if root will stick. And the OTA is upgrading the bootloader. Why gamble? This post is just a suggestion on how to stay updated without locking yourself out of anything... but it's not a rule. Just one of many options you can take. But if you do lose root or bootloader unlock after an OTA... don't go asking any devs when then next root tool is coming out or if there's a magical way to downgrade the bootloader.
With all that said... now that we're all rooted and unlocked I decided to make a thread on how to:
1. Block OTA updates and remove OTA packages and that annoying notification. Easy!
2. Download updates manually.. no OTA zip needed. Easy!
3. Manually flash updates without losing root or Bump. Easy!
Most of us have access to the same files found in the latest OTA.. either with a .KDZ or .TOT(Sprint and AT&T refuse to release KDZ files..it seems they would prefer you to not be ale to fix the phone yourself). We can extract the individual partition files from a KDZ/TOT and easily flash them through TWRP. ATT/Sprint users will need leaked TOT files... or something like a pre-patched System.img/Boot.img/Modem.img from a user who has run a modified OTA update... yet managed to keep/regain root. More on that possibly in the future.
The main things we want out of a new OTA update:
A. Radio/Modem.img - although newer isn't always better
B. Kernel/Boot.img - this is often where root is blocked in new updates. But update manually and it no longer matters since we can root system through TWRP.
C. Rom/System.img - this is where most of the "fixes" in updates happen.. and what most people want from an OTA.
D. *Optional: Bootloader stack/Aboot.img,SBL1.img, DBI.img, LAF.img, RPM.img, TZ.img - this is where downgrading and Bump could be blocked. Avoid updating for now unless you are 110% sure you know what you're doing.
How-To Block and Remove OTA Updates
If you are flashing custom roms in TWRP.. I'd expect OTA updates to already be removed. If you get an OTA update while running a custom flashable rom be sure to ask the dev why he can't make a proper custom rom that keeps you safe from OTA updates.
Open LG Hidden Menu (3845#*851#) --> WLAN Test --> OTA Setting --> Disable
*Replace "851" with your devices model number, 850, 852, 855 etc.
This seems to only work on D851, D851 and D855 versions (possibly D857/8/9 and F400). AT&T, Verizon and Sprint users have reported the Hidden Menu method does not work. If you have one of those devices you can use a RootExplorer-type app to find the OTA related APK and rename the file to ____.apk.bak or use Titanium Backup to freeze it. If using Titanium Backup look for com.lge.lgfota.permission, OTA or System Update and freeze it. If looking for apk and odex file to rename.. search for OTA or FOTA or LGDMSClient.. etc
If you see an "Apps update" that just might be the "LG Apps" and not a firmware update. Updating LG apps is safe.. firmware is not (if you want to be able to maintain root/mods).
Remove OTA Update(and notification)
If an OTA notification is on your device you most likely already have the OTA file on your phone. If rooted, you can remove the OTA files and get rid of that annoying notification.
Updates are found in the /cache/ folder on your phone. Using a RootExplorer-type app(or ES File Explorer) browse to the root of your phone(NOT the root of your internal storage, /sdcard/, but the actual phone). If using ES File Explorer you may have to use the "show hidden files" option and grant the app root. You will see the update .zip file in cache if you did everything correctly. If no one has already uploaded the OTA zip.. copy the update to your sdcard and then upload for everyone else. Now delete the zip file from /cache/.
Deleting the file in /cache/ will get rid of the OTA but will not get rid of the notification. To get rid of notification:
1. Pull the notification shade down on your phone
2. Long press on the OTA notification until you see the App Info option pop up.
3. Click App Info and uncheck the Show Notifications box.
How-To Download Updates and Extract KDZ/TOT Files
1. Easiest way to obtain updates would be to look in this around XDA in your proper subforum for an update already posted by someone else. With Bump, many flashable rom zips will be popping up. Roms usually contain "system" and "boot"... which are two of the three things we generally want from an update. The third being the modem.. which is never included in a flashable rom and often not required to be updated. If you want the updated modem you will have to look around for the file or use the steps below to get it yourself.
2. If there is a new OTA update, no one has already posted the updated flashable files and you can't wait any longer... it is time to take matters into your own hands. Instead of giving in and taking the official OTA or begging others for help.. download the updated KDZ for your device yourself. And NO, we will NOT be not flashing the full KDZ.. we are just taking some files from it.
You can get your devices KDZ by visiting THIS LINK and entering in your MEID or IMEI.. it will give you a link to the latest available KDZ from LG. Sometimes KDZ files take a few days to show up after the OTA.. give it a little time. Do not beg in thread for KDZ files. Help yourself or wait for someone to post the files you were looking for.
It is encouraged to share not only KDZ and TOT files... but the extracted System/Boot/Modem images you extract from them as well. Only one person needs to download a KDZ per DeviceVariant/SoftwareVersion... that person can then share and everyone else just downloads from their link. You no longer have to be a "rom dev" of even know how to make a flashable zip to help share updates with others.
Anyway... to extract these partitions after downloading the KDZ/tot you can check out the following posts for scripts/tools to make things easy:
a. CLICK HERE [Tool][python] LG Compressed KDZ Extractor - by thecubed Script to extract partitions from KDZ.
b. CLICK HERE SystemMerger.py - by cybojenix Script to merge split system files from extracted KDZ.
c. CLICK HERE [TOOL]LG Bin Firmware Extractor - by xonar_ Script to extract TOT files and merge system.img's into one.
d. CLICK HERE [TOOL] KDZ and TOT Extractor - by bullghost Windows tool, adds all features of the scripts above with an easy to use UI.
invisiblek has updated xonar_'s LGBinExtractor to work with some more G3 devices - https://github.com/invisiblek/LGBinExtractor
If you have a question about an extraction tool be sure to read everything in the 4 threads. Post in the above threads if your question is still unanswered. Between the 5 extraction links above you can extract any G3 KDZ/TOT on Linux, OSX or Windows.
And remember, the main partitions we want from the TOT or KDZ: modem, boot and system.
Alternatively you can extract the KDZ directly on your phone -- click HERE.
Since more than a few people are having issues manually extracting... I will show an example that came from this thread and how to correct it:
KDZFileTools.py -f D85510L_00.kdz -x
[!] Error: Unsupported KDZ file format.
[ ] Expected: 0x28 0x5 0x0 0x0 0x34 0x31 0x25 0x80 ,
but received 0x28 0x5 0x0 0x0 0x24 0x38 0x22 0x25
Two things wrong here... first, the command is incorrect. when using the KDZFileTools.py "-x" is not used.. you want "-s 0" to extract the DZ.
python KDZFileTools.py -f D85510L_00.kdz -s 0
The second error is the "Expected.. but received" message. To fix this just open the .py script up in a proper text editor(notepad++ on windows for example).. find "x28x05x00x00x34x31x25x80" in the script...
replace it with "x28x05x00x00x24x38x22x25" (or whatever string is given after the "but received" output.. use logic) then save script.
rerun script. DZ will now extract into the "kdzextracted" folder. Once that finishes extracting you can use the Windows GUI tool to extract the .DZ file into individual partitions (and merge system). Or you can continue using the manual script methods.
To manually extract the DZ you're going to now use the DZFileTools.py script to split the DZ file (that's in the kdzextracted folder) into individual partitions.
python DZFileTools.py -f kdzextracted/D85510l_00.dz -x
that command will extract all your partitions into the dzextracted folder. Now drop the SystemMerger.py - by cybojenix file linked above into the dzextracted folder.. cd into the dzextracted folder and run that script to merge all the split system partitions into one system file.
All done.. you now have the boot, modem and full system.img to flash on your phone (along with every other partitions that comes with a kdz). :good:
3. Other methods for obtaining updated files would be grabbing the OTA update zip from the /cache folder and trying to pull files out of that.. or having an "in" and getting some leaked files or TOT. Sprint and AT&T users would benefit most from a leaked updated TOT.
Where-To Download KDZ Files
In this section I want to start a collection of all the latest KDZ files for all G3 devices.
You can help me out by either posting your KDZ link with FULL info about the KDZ/DEVICE..
Example of a helpful post:
derp said:Hi, here is my model info and kdz url below...
OR you can PM/Private Message me your IMEI so I can look up all the models and latest KDZ's myself. This would help me the most but I understand the security concern. If security is an issue.. you could leave the last 3 digits off the end so I dont have your exact #. If you trust me.. please consider sending me your IMEI if you own one of the devices I need listed below...
KDZ Links Below
Team Codefire had to come through once again and supply TOT files to the USA carriers that provide no public KDZ (AT&T, Sprint, Verizon)
AS985 (USA Regional) - NEED IMEI
D850 (USA AT&T) - 10D TOT (AT&T has no public KDZ files. Feel free to complain to them.)
D850PR (Puerto Rico Claro) - NEED IMEI
D851 (USA T-Mobile) - 10M KDZ
D852 (Canada) - NEED IMEI for D852 Bell, D852 Rogers and D852G
D855 (Europe) - 10L Netherlands 16GB | 10L Germany 16GB NEED MORE IMEIS
D855AR (Argentina) - NEED IMEI
D855K (Australia) - NEED IMEI
D855P (Brazil / Mexico) - NEED IMEI
D855TR (Turkey) - NEED IMEI
D857 (China) - 10C KDZ NEED IMEI STILL
D858 (China / Hong Kong) - NEED IMEI D858 and D858HK
D859 (China) - NEED IMEI
F400 (Korea)- F400L 20E,
LS990 (USA Sprint) - ZV4 TOT (Sprint has no public KDZ files. Feel free to complain to them.)
US990 (USA US Cellular) - 10C KDZ
VS985 (USA Verizon) - 12B
How-To Manually Flash/Update Device w/ System.img, Boot.img and Modem.img
1. You downloaded a custom rom flashable zip a rom has made for the community. Roms contain "system" and "boot"
Flash these in TWRP and follow any instructions in the thread/post where you downloaded it. Rom questions belong in those specific rom threads.
You may have to wipe data/factory reset in TWRP, depending on rom.. or you may need to flash a gapps zip if using an aosp-type rom.. etc..
There's no need to worry about OTA's using this route. Proper custom roms will never include the bootloader stack or anything that could remove your bootloader unlock. And just about all custom roms come with a pre-rooted "system" so you don't have to worry about root either. Remember to make a backup in TWRP before flashing anything.
2. You obtained some boot.img,modem.img,system.img files... either extracting from TOT/KDZ yourself or downloaded files another XDA member has uploaded. This method is something you can do all by yourself... no help from a dev needed. To make this method just as easy as flashing a custom rom zip in method #1.. I have made 3 flashable zip files - [Flash2System.zip, Flash2Boot.zip and Flash2Modem.zip]
Download them to your phone using the link below then follow the directions that follow...
DOWNLOAD FLASH2 FILES FROM CODEFIRE HERE
A. Make a new folder on your internal sdcard called: flash2
B. Download and place Flash2System.zip, Flash2Boot.zip and Flash2Modem.zip on your phone. Internal/external sdcard.
C. Stick system.img, boot.img and modem.img into the /sdcard/flash2/ folder. Files must be named system.img, boot.img and modem.img
D. Create backup's in TWRP.
E. In TWRP, flash Flash2System.zip and/or Flash2Boot.zip and/or Flash2Modem.zip to install your updated images.
F. If you have flashed a stock system.img you will need root. After the flash completes press Reboot System and TWRP will ask if you want root. Go thru the process in TWRP then reboot. After booting you may have a notification to finalize root. Few more clicks and you're rooted... it's that easy. No more worrying if root is patched in the latest OTA update... or having to undo everything you changed in stock so that the OTA doesn't brick you.
Flash2*.zip didn't work? Make sure your system/boot/modem.img files are in the /sdcard/flash2/ folder. Internal sdcard!
How-To Properly Share KDZ/TOT and other Update Files
If you have a new KDZ or have already extracted the KDZ.. please share it with the rest of us in this thread! Please post the KDZ link along with the exact model, region software version and size. Example: D855 Germany 10L 16GB KDZ.
If you want to share your extracted system.img, boot.img and modem.img files please upload them somewhere and share the link. Please specify if you would like others to mirror your files or not (if hosting them on personal server).
Please label all shared files properly! Name them appropriately with boot, modem or system in the name.. as well as the FULL model and software version. Entering my IMEI into the KDZ generator from the last section I can see my device info such as: LGD851TN and D85110M_00. Exact models and software versions are important so other users know which files they need to flash and which to avoid. You should only flash files for your exact device variant. An example name based on my info above: LGD851TN_10M_00_Boot.img (this can be renamed later to boot.img once downloaded or placed on sdcard).
More G3 Flash2 Threads:
[FIX] Stuck in Custom Recovery [TWRP/CWM] (After trying OTA)
[EFS] LG G3 EFS Backup and Restore
Flash2, Tool/Utility for the LG G3
Current Stable Version: 1.0
Last Updated 2014-12-11