Tutorial: Root LG G2 via Linux

This tutorial will show you how you can root your LG G2 smartphone using any Linux distro you currently have, it’s also possible that this method would work on BSD variants as well, yet I haven’t tested it on BSD myself so I can’t guarantee that.

Updated Sep 18, 2016How To's
LG g2

What & Why ?

Before we begin the “rooting” process, let’s just answer the ‘what is rooting?‘ and ‘why should I root my device in the first place?‘ questions:

1. The answer to the ‘what’ question is – Rooting is a method by which the user gets all the command privileges in order to do what ever he/she likes with the device, it’s equivalent to having administrator permissions on a Microsoft Windows OS.

2. The answer to ‘why’ has more than one reason actually, so here’s a couple of the most common ones – A) some apps may require a root permission in order to be installed or removed. B) If you aspire to have full control over your device, rooting is a necessity.

Note: rooting your device may void its warranty, attempt at your own responsibility.

 

Root your device

OK, so now that we are a bit more informed about the process uses and risks, let’s get to how it’s done.  Follow the steps carefully and you should be done by 5 to 15 minutes. (the steps were taken from XDA-developers forum, so the credits belongs to them)

Pre-rooting steps

  1. Download and extract a file called IOroot.zip
  2. Enable USB Debugging. VZW users must also enable ethernet mode.
  3. Open terminal and cd into /ioroot folder, example: $ cd ‘/home/liron/Downloads/ioroot24’

Rooting steps

copy/paste commands below.. hitting enter/return after each line. You may have to enter ./ before adb on each line. Example: ./adb push g2_security /sdcard/g2_security

      1. adb devices (make sure it sees your device; if “offline” turn on phone/unlock and accept RSA key prompt)
      2. Choose next line based on model and firmware version:
        AT&T D80010d (Shipping ROM): adb push g2_security /sdcard/g2_security
        AT&T D80010o (OTA): adb push ytiruces_1a_att /sdcard/ytiruces_1a
        AT&T D80010q (OTA): adb push ytiruces_1a_att /sdcard/ytiruces_1a
        Bell D803 (Shipping ROM): adb push ytiruces_1a_d803 /sdcard/ytiruces_1a
        KT F320k (Shipping ROM): adb push g2_security /sdcard/g2_security
        KT F320K20a/20f (KitKat): adb push ytiruces_1a_kk /mnt/shell/emulated/0/ytiruces_1a
        LGU F320L (Shipping ROM): adb push g2_security /sdcard/g2_security
        LGU F320L20b/20e (KitKat): adb push ytiruces_1a_kk /mnt/shell/emulated/0/ytiruces_1a
        D802 (4.2.2): adb push g2_security /sdcard/g2_security
        D805 (4.2.2): adb push g2_security /sdcard/g2_security
        D806 (4.2.2): adb push g2_security /sdcard/g2_security
        OPEN D802 (Shipping ROM): adb push g2_security /sdcard/g2_security
        Rogers D803 (Shipping ROM): adb push ytiruces_1a_d803 /sdcard/ytiruces_1a
        SCA D802 (Shipping ROM): adb push g2_security /sdcard/g2_security
        SCA D805 (Shipping ROM): adb push g2_security /sdcard/g2_security
        Singtel D802 (Shipping ROM): adb push g2_security /sdcard/g2_security
        SKT F320S (Shipping ROM): adb push g2_security /sdcard/g2_security
        SKT F320S20a/20g (KitKat): adb push ytiruces_1a_kk /mnt/shell/emulated/0/ytiruces_1a
        Sprint LS980ZV7 (Shipping ROM): adb push g2_security_spr /sdcard/g2_security
        Sprint LS980ZV8 (OTA): adb push g2_security_spr /sdcard/g2_security
        Sprint LS980ZVA (OTA): adb push ytiruces_1a_ls980 /sdcard/ytiruces_1a
        T-Mobile D80110c (Shipping ROM): adb push g2_security /sdcard/g2_security
        T-Mobile D80110g (OTA): adb push ytiruces_1a_tmo /sdcard/ytiruces_1a
        Telus D803 (Shipping ROM): adb push ytiruces_1a_d803 /sdcard/ytiruces_1a
        Verizon VS98010B (Shipping ROM): adb push g2_security_vzw /sdcard/g2_security
        Verizon VS98011A/12B (OTA): adb push ytiruces_1a_vzw /sdcard/ytiruces_1a
        Videotron D801 (4.2.2): adb push ytiruces_1a_d803 /sdcard/ytiruces_1a
        Vodafone D802 (Shipping ROM): adb push g2_security /sdcard/g2_security
        Wind D801 (4.2.2): adb push ytiruces_1a_d803 /sdcard/ytiruces_1aF340-Series (4.2.2): adb push ytiruces_1a_F340JB /sdcard/ytiruces_1a
        D950 (4.2.2): adb push ytiruces_1a_kk /sdcard/ytiruces_1a
        D955-Series (4.2.2): adb push ytiruces_1a_kk /sdcard/ytiruces_1a
        D956-Series (4.2.2): adb push ytiruces_1a_kk /sdcard/ytiruces_1a
        D958-Series (4.2.2): adb push ytiruces_1a_kk /sdcard/ytiruces_1a
        D959 (4.2.2): adb push ytiruces_sumtz /sdcard/ytiruces_sumtz
        F350K/L/S (4.4.2): adb push ytiruces_1a_kk /sdcard/ytiruces_1a

        This next depends on your computer/phone model…

        USB Connection Mode needs to be toggled.
        Ways to do this are listed below…

        a. Unplug usb cable from phone then re-plug.
        b. Toggle USB mode from Charge to MTP back to Charge
        c. Toggle USB mode from Ethernet to MTP back to Ethernet (VZW users)

      3. adb shell (you should now see a # instead of a $. # = root)
      4. exit
      5. adb shell “mount -o remount,rw /system”
      6. adb push su /system/xbin/su
      7. adb push su /system/xbin/daemonsu
      8. adb push install-recovery.sh /system/etc/install-recovery.sh
      9. adb shell “chown 0.0 /system/xbin/su;chmod 06755 /system/xbin/su”
      10. adb shell “chown 0.0 /system/xbin/daemonsu;chmod 06755 /system/xbin/daemonsu”
      11. adb shell “chown 0.2000 /system/etc/install-recovery.sh;chmod 755 /system/etc/install-recovery.sh”
      12. adb shell “sync;mount -o remount,ro /system”
      13. adb install Superuser.apk

That’s it, now reboot your device and it’s done.

 

 

 

COMMENTS (beta 4)

?
Add your comment here...
2
Bleu Blanc et Rouge Feb '16
I am trying to root my LG G2 through Ubuntu, but am getting stuck at step 5. I am getting a "mount: Operation not permitted" error. USB debugging is on. Any idea what I could have done wrong?
1
Bleu Blanc et Rouge Feb '16
I am attempting to follow your steps to root my LG G2, but get a "mount: Operation not permitted" error when trying step 5. Any ideas on what I am doing wrong? (USB debugging is on)

More In Linux