[LS990] ZVB/ZVC Root Method + ZVB Rooted Stock Rom

autoprime

Recognized Developer / Inactive Recognized Contrib
Jun 23, 2010
2,638
11,890
203
Another fine TEAM CODEFIRE release :victory:

This thread is for:
A. Those with TWRP already installed but wish to update their rom to stock pre-rooted ZVB.
B. Those on stock unmodified LS990 ZVB/ZVC and want root.

METHOD A

Prerequisite: TWRP already installed and working.

1. Click and download the pre-rooted stock ZVB and modem zips below and place them on internal or external sdcard.
2. Flash zip from step #1 in TWRP (while in twrp.. Install > select zvb rom > swipe slider to confirm and flash)
3. Reboot out of TWRP and back into system. Finished.

If TWRP says "no OS" (after step #3) just ignore and continue with the reboot.
If phone hangs at bootup (after step #3) for more than 5 minutes you may have to boot into TWRP and do a factory reset.
Unplug phone from USB cable > pull battery then put battery back in > hold volume down + power to boot into TWRP > select "Wipe" > swipe slider to confirm.

DOWNLOAD FLASHABLE ZIPS HERE
You will see 2 zip files... one containing system/boot and the other containing modem/rpm/tz. I'd suggest flashing both zips... but some people may not want to update modem which is why I split them into 2 zips.

METHOD B

Prerequisite: USB Debugging enabled, Windows computer, LG USB drivers installed and reading comprehension. Have a mac or linux?... use a virtual machine.

USB drivers - CLICK HERE to download

There is no need to pack this into a 1-click bat file. It's a few simple commands... all laid out for you step-by-step below. 1-click roots can fail... but doing everything manually and properly should have a 100% success rate. Plus you're seeing how the entire process works and maybe learning a thing or two. Don't be a lazy 1-click zombie.. this is XDA not androidcentral.

Thanks to:
blog.lvu.kr for the Send_Command.exe - LINK HERE
Unjustified Dev for his original English Guide - LINK HERE
l33tlinuxh4x0r for his idea on swapping the old LAF partition - LINK HERE
thecubed, IllegalArgument (the other members of TEAM CODEFIRE) and jcase for the LG G4 root - LINK HERE

Me, myself and I have have taken all of the above ideas and formed 'em like Voltron to bring root to the the latest LS990 updates (ZVB/C). I have written the directions below so that any n00b who can read should be able to follow along. For those that know what you're doing already... the main thing to pay attention to are the commands themselves.


1. Download THIS ZIP FILE HERE. Unzip it on your windows computer. Location of folder is not important.. just make sure you know where to find it.

2. Open the folder you just unzipped and inside should be a bunch of loose files. Hold the "Shift" key then right-click someone in the folder and select "Open command window here". A command prompt window should open.

If confused, CLICK HERE for a link with a more detailed explanation.

3. While phone is booted up normally (and usb debugging enabled).. click on the command prompt window then type: "adb devices" without the quotes and hit enter/return. You should see your phone listed in the output.

If no device is found.. make sure USB Debugging is enabled - CLICK HERE
If output says "Device Offline" check your phone's screen.. you may still have to accept the RSA prompt. Check the box then hit OK. CLICK HERE for example.

4. Once you see your phone listed after "adb devices" command it's time to begin... copy the entire command below and paste it into the command prompt windows (right-click > paste.. not control + v) then hit enter/return to send the command. Be sure to copy the ENTIRE command below.. it's a long one. Command may take 10-15 seconds to complete.
Code:
adb.exe push busybox /data/local/tmp/ && adb.exe push lg_root.sh /data/local/tmp/ && adb.exe push UPDATE-SuperSU-v2.46.zip /data/local/tmp/ && adb.exe push lafzv6.img /sdcard/
5. Reboot into Download Mode. There are multiple ways to do this.. but since you already have the command prompt windows open and adb connected simply type the following command into command prompt then hit enter/return. AS SOON as you hit enter/return hold he volume up button on your phone. Might be easier to have the phone in your hand ready to press volume up before hitting enter/return. When the phone reboots you should be in Download Mode.
Code:
 adb reboot
6. Once in Download Mode (Should say Firmware Update on phone screen) find out the COM port your phone is using. LG drivers must be installed for COM port to show up. Easiest way to find your COM port number... double-click the "ports.bat" file from the zip you extracted in step #1. You want to make note of the COM port # next to "LGANDNETDIAG1". For example - on my computer it said \Device\LGANDNETDIAG1 REG_SZ COM4... so my COM port would be COM4. Make sure you use YOUR COM port #. It could be any number.

7. You may have 2 command prompt windows open... click on the first one you opened.. the window you opened in step #2. Copy/paste the following command to enter into the "Download Mode Shell" then hit enter/return... remember to substitute the COM port number with YOUR OWN COM #
Code:
Send_Command.exe \\.\COM4
You should now see the following output in your command prompt window...
Author : blog.lvu.kr
SPECIAL COMMAND : ENTER, LEAVE

#


This confirms you're in "Download Mode Shell". Now type "id" without quotes then hit enter/return and you should see the following output...
uid=0(root) gid=0(root) context=u:r:kernel:s0.. which will confirm that you are now successfully talking to your phone. Continue on to step #8.

If the "id" command just sits there hanging... or you just get a # as a response you are NOT talking to your phone. To fix this... hit ctrl + c which will exit the "Download Mode Shell". Redo step #7.. resending the "Send_Command" command... then once you are back in the "Download Mode Shell" type "id" without quotes then hit enter/return again... this time you should see uid=0(root) gid=0(root) context=u:r:kernel:s0
If you still do not see uid=0(root) gid=0(root) context=u:r:kernel:s0 after trying a seconds time it is possible you are using the wrong COM port number.


8. Now it's time to backup your current LAF partition then write the older ZV6 LAF to the phone. This step uses some of the G4 root tricks to bypass the latest root method blocks from LG and allows us to then use the older root method since you'll end up with an older ZV6 LAF partition. Copy/paste the following command into the command prompt window then hit enter/return...
Code:
dd if=/dev/block/mmcblk0 bs=8192 skip=24576 count=4096 of=/data/media/0/lafOG.img
In a second or two you should see # on the next line... which means the command you just sent has finished. Current LAF is now backed up. Now you need to write the older ZV6 LAF to the phone. It's already on your internal SD card (you did this in step #4). Copy/paste the following command into command prompt then hit enter/return.
Code:
dd if=/data/media/0/lafzv6.img bs=8192 seek=24576 count=4096 of=/dev/block/mmcblk0
In a second or two you should see # on the next line... which means the command you just sent has finished. Now you need your phone to exit download mode... boot up.. then reboot back into Download Mode. This process loads the ZV6 download mode you just flashed. In the command prompt window type the following command then hit enter/return (be sure to use all caps!)...
Code:
LEAVE
This will reboot your phone. Now you need to reboot into Download Mode again... type the following command in command prompt then hit enter/return...
Code:
adb reboot
And again.. as soon as you send the command hold the phone's volume up button so that you reboot into Download Mode. You may see a error on the screen... ignore.. a few seconds later it should show the Firmware Update screen. Time to move on to step #9...

9. Once in Download Mode you need to send the "Send_Command" command you used in step #7.. COM port # should still be the same. Remember the following command is just an example.. you MUST use your own COM port #. Copy/paste the command below.. enter your own COM port number then hit enter/return..
Code:
Send_Command.exe \\.\COM4
And again you should see the following output..
Author : blog.lvu.kr
SPECIAL COMMAND : ENTER, LEAVE

#


And just like in step #7 you need to confirm you're able to talk to your phone... type "id" without the quotes then hit enter/return. You should see uid=0(root) gid=0(root) context=u:r:kernel:s0 if it worked. When you get the uid=0(root) gid=0(root) context=u:r:kernel:s0 output it's time to move to the final step... #10.

If the "id" command just sits there hanging... or you just get a # as a response you are NOT talking to your phone. To fix this... hit ctrl + c which will exit the "Download Mode Shell". Redo step #9.. resending the "Send_Command" command... then once you are back in the "Download Mode Shell" type "id" without quotes then hit enter/return again... this time you should see uid=0(root) gid=0(root) context=u:r:kernel:s0

10. Copy/paste the following command then hit enter/return. This command flashes the supersu zip and is what is putting root into ZVB (or whichever sw version you're using). Make sure you copy the ENTIRE command. Command will take 15-20 seconds after sending before you start seeing anything happen.
Code:
sh /data/local/tmp/lg_root.sh dummy 1 /data/local/tmp/UPDATE-SuperSU-v2.46.zip /data/local/tmp/busybox
You should see some output from the zip flashing. when the output stops and you get the # it has finished. You should now have root.

BUT before you exit Download Mode, we should put back the original LAF [unless you plan on installing TWRP(with autorec for example).. then you can leave it skip the restoring LAF command. If you ONLY want a rooted rom and do NOT want TWRP I suggest you run the command]

To restore LAF copy/paste the following command then hit enter/return...
Code:
dd if=/data/media/0/lafOG.img bs=8192 seek=24576 count=4096 of=/dev/block/mmcblk0
When that finishes and you see the # you are all done! Type the following command (all caps!) then hit enter/return to exit Download Mode and boot into your rooted rom..
Code:
LEAVE
10 easy steps.. that wasn't bad was it? :p

The only way the above steps won't work is if you skipped/missed a step or didn't follow along properly.
This isn't a race... take your time and understand what's going on.
It take's me about 2 minutes to do this myself. But reading everything and learning the first time maybe takes... 10 minutes... yes, a whole 10 minutes! :rolleyes:


Example of command prompt (click to enlarge)
Enjoy your freedom! :cool:

Donations are cool.. but never expected. But at least hit that thanks button if this thread helped you root. :good:
 
Last edited:

autoprime

Recognized Developer / Inactive Recognized Contrib
Jun 23, 2010
2,638
11,890
203
Used method A. Not coming out of boot screen at all. Did a factory reset. Help!

Sent from my Nexus 7 using XDA Free mobile app
*edit*

issue was found.. I forgot an ".img" in the flash script. new zip being uploaded now for all future downloaders. for those who already downloaded.. you can extract the bootZVB.img from the zip and flash it through twrp (press install.. press "images" button rather than finding zip > then select the bootZVB.img > then select boot) or you can download engine95's updated script below.. replacing the one in your current zip. Or you can just redownload the fixed zip ;) Sorry about the typo.. fortunately it was harmless.
 
Last edited:

scottyrick

Senior Member
Nov 10, 2008
172
78
0
Key West
Success with Method A

I came from BarePapa v2. Installed both zip files and rebooted. 10 minutes later, everything seems just fine, except for the very minor annoyance that I have to manually disable the annoying Sprint apps. I hesitated to even mention that.

Great work on this, and thanks again on behalf of the entire Sprint LG G3 community.
:)
 

engine95

Recognized Contributor
Oct 14, 2008
3,912
4,801
263
Hold off on installing this. The ZVB kernel isn't getting installed.

I should have a quick fix for it shortly.

Edit/Update
To install the ROM, you need to replace the updater-script under META-INF.

Using 7zip, or another zip program, Open the ROM zip.

Drill through META_INF until you see "updater-script" and replace it with THIS ONE
MAKE SURE YOU REMOVE THE .txt on the file!!! It's the only way I could upload it.

Close the zip and flash away!
 
Last edited:
  • Like
Reactions: liho19

autoprime

Recognized Developer / Inactive Recognized Contrib
Jun 23, 2010
2,638
11,890
203
ahh woops.. I typo'd and put bootZVB instead of bootZVB.img. Uploading corrected zip now. I put the zip together after I wrote up the root method.. guess my eyes were tired. Thanks for pointing out the error @engine95 . I'll pull the file now.. when you guys see it return.. it'll be the fixed one.. prob 30min.

fixed zip is up. everything should be perfect now.
i expect nothing but praise for the remainder of this threads lifespan ;)
lol
 
Last edited:

YellaHayes

Senior Member
Dec 23, 2008
73
3
0
ahh woops.. I typo'd and put bootZVB instead of bootZVB.img. Uploading corrected zip now. I put the zip together after I wrote up the root method.. guess my eyes were tired. Thanks for pointing out the error @engine95 . I'll pull the file now.. when you guys see it return.. it'll be the fixed one.. prob 30min.
So since im already stuck at the bootscreen should i just flash the new zip and be good? im kinda confused
 

YellaHayes

Senior Member
Dec 23, 2008
73
3
0
multiple fixes have been pointed out.. please read the entire first page. or flash the new zip (it's up now).
Thanks. downloading now. Dont be mad at me but I put the new zip on my sdcard, flash in twrp, and then flash the modem zip as well correct?

---------- Post added at 01:58 PM ---------- Previous post was at 01:33 PM ----------

Except when I installed it, TWRP said "No OS found", but it flashed just fine. ;)

Thanks again for doing this. :highfive::good:

is it safe to flash the modem zip as well?
 

engine95

Recognized Contributor
Oct 14, 2008
3,912
4,801
263
Thanks. downloading now. Dont be mad at me but I put the new zip on my sdcard, flash in twrp, and then flash the modem zip as well correct?

---------- Post added at 01:58 PM ---------- Previous post was at 01:33 PM ----------


is it safe to flash the modem zip as well?
Yes to your first question. But...
Herein lies a possible issue for us.

If you rooted from ZV4, then I would remove the rpm, tz partitions and then flash it.

If you rooted ZV8, then you probably want the rpm, tz partitions.

I'm still on the ZV4 bootloader so I can't say what to do if your on fully rooted ZV8. Most of us are still on, or are using ZV4 bootloader.
 

autoprime

Recognized Developer / Inactive Recognized Contrib
Jun 23, 2010
2,638
11,890
203
Yes to your first question. But...
Herein lies a possible issue for us.

If you rooted from ZV4, then I would remove the rpm, tz partitions and then flash it.

If you rooted ZV8, then you probably want the rpm, tz partitions.

I'm still on the ZV4 bootloader so I can't say what to do if your on fully rooted ZV8. Most of us are still on, or are using ZV4 bootloader.
what problems happen for those on zv4 bootloader? I'm using zv6 aboot/laf... and zvb everything else and it's been just fine. zv6 still allows bump and seems fully compatible with zvb.. maybe those on zv4 should update to zv6 if thats the case? modem.img pairs with tz.img due to some tz apps contained inside the modem... so they should always be joined when possible. and rpm is usually paired with tz which is why those 3 are usually grouped together.

it's all about options and user preference of course. just reporting what's working for me.
 
  • Like
Reactions: YellaHayes

YellaHayes

Senior Member
Dec 23, 2008
73
3
0
Ok so I'm finally up and running. Didn't flash the modem at first so I def was struggling but flashed it and looks like I'm all good. Amazed that I didn't have to completely wipe my internal storage but I'm pretty much stock with root. I really appreciate all the help. It's what I get for being annoyed with the android update notification.

Sent from my Nexus 7 using XDA Free mobile app
 

engine95

Recognized Contributor
Oct 14, 2008
3,912
4,801
263
what problems happen for those on zv4 bootloader? I'm using zv6 aboot/laf... and zvb everything else and it's been just fine. zv6 still allows bump and seems fully compatible with zvb.. maybe those on zv4 should update to zv6 if thats the case? modem.img pairs with tz.img due to some tz apps contained inside the modem... so they should always be joined when possible. and rpm is usually paired with tz which is why those 3 are usually grouped together.

it's all about options and user preference of course. just reporting what's working for me.
And those partitions seem to work for all but Sprint. We get random reboots and freezes if we use anything but ZV4/6 rpm, tz partitions on the ZV4 bootloader. That's why I posed so early in your thread for those partitions. Just in case.
I can't remember if ZV4 and ZV6 are the same ones now. But I'm assuming they were the same as that's how I have them listed.

People using CM/AOSP have had the same issue, yet when they install the ZV4/6 rpm, tz partitions, a lot of their issues go away.
It doesn't make sense, and the only thing I can think of, is it has something to do with CDMA. Since Sprint's about the only player mainly using it. IDK
 

l33tlinuxh4x0r

Senior Member
Nov 1, 2007
1,137
448
0
@autoprime Thanks for giving credit.. Question though... Why use bs= count= and skip=? Are they really necessary?
Also to everyone else... I am going to try to make a "One Click" method for this. Probably a Linux script first and a Windows script to follow. I have to work tonight but I'm thinking that I will be able to get them wrote by Tuesday.

EDIT: I got the windows version up. You can find it here.
 
Last edited:

autoprime

Recognized Developer / Inactive Recognized Contrib
Jun 23, 2010
2,638
11,890
203
@autoprime Thanks for giving credit.. Question though... Why use bs= count= and skip=? Are they really necessary?
Also to everyone else... I am going to try to make a "One Click" method for this. Probably a Linux script first and a Windows script to follow. I have to work tonight but I'm thinking that I will be able to get them wrote by Tuesday.
yes, needed due to selinux.

booo 1-clicks :p I'm sure many will appreciate the automation tho. :good:
 
Last edited:
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone