Root LG G4 con Bootloader bloqueado

Si queremos lograr obtener root en el LG G4 con bootloader bloqueado, es posible siempre y cuando lo tengamos con un Firmware Lollipop.

Consideraciones previas del Root LG G4 con Bootloader bloqueado

  • Tener un LG G4 con Lollipop y el bootloader bloqueado.
  • Tener bien instalados en Windows, los drivers para detectar al LG G4. Podéis usar estos drivers de LG.
  • La batería del LG G4 ha de estar con suficiente carga antes de empezar a realizar el proceso. Nos aseguraremos que tenga al menos el 50% de la carga.
  • Tener un Sistema Linux accesible, ya sea en un Ordenador instalado, o en una máquina virtual.
  • Tener descargado el fichero ‘Send_command.exe‘.

LG G4

Proceso para el Root LG G4 con Bootloader bloqueado

De lo que se trata es de extraer nuestra partición System, inyectar en ella la app SuperSu, y escribir de vuelta esa partición ya rooteada en el LG G4.

A continucación detallo los pasos a seguir:

  • Apagarmos el LG G4 y lo enciendemos en Modo Download, para lo cual pulsamos el boton de subir volumen y sin soltarlo, conectamos por USB el LG G4 al PC. Saldrá un mensajito en la pantalla completamente negra, y podremos soltar el botón de subir volumen.
  • Descomprimimos en una carpeta del PC el ZIP anterior, que contiene 2 ficheros (ports.bat y Send_command.exe). Abrimos una ventana de comandos en esa carpeta, y ejecutamos ‘ports.bat’. En realidad, lo que hace ese BAT es ejecutar una consulta al registro de Windows para averiguar qué puerto COM tiene asigando el LG G4 conectado en ese momento. De esta forma, obtendremos en la ventana de comandos varias líneas de texto, una de las cuales será muy similar a esta:
    \Device\LGANDNETDIAG1 REG_SZ COM3

En esa línea debemos fijarnos en 2 cosas. La primera en ‘LGANDNETDIAG1‘ ya que nos permitirá identificar esa línea respecto a las otras. Y la segunda el número que acompaña a la palabra ‘COM’, y que en ese ejmplo es el 3.

  • Sabiendo ya el número de puerto COM que corresponde a nuestro caso, ejecutaremos este otro comando (uso el número 3 para seguir con el ejemplo):
    Send_Command.exe \\.\COM3

Tras esto, en la ventana de comandos nos quedará en el prompt el símbolo #, lo cual implica que estamos con acceso root para las operaciones que acontinuación vamos a realizar.

  • Ahora extraeremos nuestra partición System a un fichero ‘system.img’ el cual dejaremos en la raíz de la SDCard interna, ejecutando el siguiente comando:
    dd if=/dev/block/mmcblk0 bs=8192 skip=55296 count=529920 of=/data/media/0/system.img

Tras un ratito, volverá a poner en la ventana de comandos el símbolo #. Esto será indicativo que el proceso de extracción habrá finalizado. Ahora escribimos en mayúsculas LEAVE, y el LG G4 se reinicirá y el programa ‘Send_command.exe’ finalizará.

  • Ya con el LG G4 completamente arrancado, copiaremos el fichero ‘system.img’ obtenido, que estará en la memoria interna del LG G4, a un PC (o máquina virtual tipo VMWare o VirtualBox) con linux.
  • Ya dentro de ese linux, con el fichero ‘system.img’ ya copiado, descomprimimos a su lado el contenido de este ZIP que contiene lo necesario para inyectarle la app SuperSU al system.img.
  • Debemos darle permisos de ejecución al fichero ‘autoroot.sh’, para lo cual escribimos en una ventana de terminal, lo siguiente:
    chmod +x autoroot.sh
  • Posteriomente, realizamos el proceso de inyectado, escribiendo en ese mismo terminal este comando:
    sudo sh autoroot.sh

Casi instantáneamente, el comando finalizará y el fichero ‘system.img’ se renombrará a ‘rootedsystem.img‘. Ese será nuestro system ya rooteado.

Antes de escribírtelo de vuelta, se aconseja extraer la tarjeta SD Externa del LG G4 para realizar el proceso sin ella, ya que en caso contrario, a algunos usuarios no les reconoce tras el proceso tarjetas SD Externas.

  • Copiamos el fichero ‘rootedsystem.img’ que teníamos en Linux, a la raíz de la SDCard interna del LG G4 (fuera de cualquier carpeta). Osea, donde lo habíamos dejado inicialmente en el proceso de extracción, el system.img sin modificar.
  • Apagamos el LG G4, y lo enciendemos en Modo Download.
  • Ejecutamos este comando de nuevo:
    Send_Command.exe \\.\COM3

Tras esto, te quedará en el prompt el símbolo #.

  • En esta ocasión, para escribir el fichero ‘rootedsystem.img’ en la partición de nuestro LG G4, ejecutamos este comando:
    dd if=/data/media/0/rootedsystem.img bs=8192 seek=55296 count=529920 of=/dev/block/mmcblk0

Tras un ratito, volverá a poner en la ventana de comandos el símbolo #. Nuevamente nos indicará que el proceso ha finalizado. Así que escribimos en mayúsculas LEAVE, y el LG G4 se reinicirá y ‘Send_command.exe’ finalizará.

Aparentemente te arrancará todo igual… pero tendrás el icono de SuperSU, el cual te pedirá actualizar binarios. Elige que si, y con el método NORMAL.

Posteriormente, podrás apagar el LG G4 e insertarle de nuevo la tarjeta SD Externa.

Conclusiones de este método para obtener Root LG G4 con Bootloader bloqueado

  • No desbloqueas el bootloader.
  • No tienes que buscar por internet un ‘rootedsystem.img’ para tu versión de Firmware ni modelo concreto de LG G4, ya que tu mismo pre-rooteas tu propia partición del System.
  • Este proceso es 100% seguro y fiable para LG G4 modelos H815 y similares, con Firmware Lollipop. Para otros modelos de LG G4, se debe comprobar previamente la tabla de particiones, para obtener sus valores de “seek/skip” y “count” (que hemos empleado con el comando ‘DD‘) que correspondan a su partición System.
  • Teniendo el LG G4 rooteado, no se podrán aplicar las posibles OTAs de actualizaciones de Firmware que nos lleguen. Para que las OTAs se puedan aplicar, el System debería estar sin rootear.
  • Podemos volver a escribir nuestro ‘system.img’ que está “sin tocar“, y de ese modo dejar el LG G4 como si no hubieramos hecho nada. Sobra decir que tras esto, todas las app que requiriesen acceso root dejarán de funcionar, por lo que tras este proceso de restauración sería aconsejable realizar un Facory Reset al LG G4. Para restaurar el ‘system.img’ que inicialmente habíamos extraído, basta con realizar el proceso del ‘Send_Command.exe’ descrito anteriormente, y en esta ocasión copiaríamos el fichero original ‘system.img’ a la memoria del LG G4 y ejecutaríamos este comando:
    dd if=/data/media/0/system.img bs=8192 seek=55296 count=529920 of=/dev/block/mmcblk0