Extraer imágenes de sistema Android desde Gnu/Linux

Tutorial sobre como extraer una imagen de sistema Android con formato system.img o cust.img desde Linux

Artículo actualizado por ultima vez el 07/04/2021 en Instatecno.


Hoy traigo un tutorial sobre como extraer una imagen de sistema Android con formato system.img o cust.img desde Linux, algo que les será muy útil para todos aquellos usuarios a los que les guste “cacharrear” con sus dispositivos.

Requisitos

Antes de empezar, necesitamos cumplir una serie de requisitos básicos como son los siguientes:

  • Poseer un sistema Linux (en el tutorial hemos usado Uruk GNU/Linux pero sirve cualquier otra distribución).
  • Poseer una imagen de Sistema Android de nuestro dispositivo en formato system.img o cust.img (según el que queramos extraer).
  • Descargar ImgTools, la herramienta que nos permitirá realizar el proceso.

Proceso de extracción

Si cumplimos los requisitos anteriores, ya estaremos preparados para seguir con el tutorial. En nuestro caso haremos la extracción de un cust.img, para el system.img es el mismo proceso cambiando cust.img por system.img.

  1. Descomprimimos el zip de ImgTools en el escritorio e introducimos el cust.img en la carpeta de la extracción donde están todas las herramientas.
  2. Ahora tendremos que convertir el archivo .img en una imagen .raw. Para ello abrimos un terminal en la carpeta y escribimos lo siguiente:
    ./simg2img CUST.img cust.raw
    Se nos creara un archivo llamado cust.raw

Sistema Android 1

  1. En el mismo terminal escribimos mkdir cust para crear una carpeta llamada cust donde montaremos el cust.raw.
  2. Ahora procederemos a montar el cust.raw para ver su contenido, para ello escribimos en el terminal:
    sudo mount -t ext4 -o loop cust.raw cust
    Nos pedirá contraseña de superusuario, la ponemos y se nos montara el cust.raw en la carpeta cust.

Sistema Android 2

  1. Para poder modificar los archivos y no nos de errores, tendremos que abrir el administrador de archivos en modo superusuario ya que hemos montado la imagen como superusuario. Para ello escribimos en un terminal:
    sudo caja
    Donde “caja” es el administrador de archivos que tengamos (si tenemos otro ponemos su nombre, caja, nautilus, nemo…).
  2. Se nos abrirá el administrador de archivos en la carpeta personal del usuario “root” y vamos desde él a escritorio /img-tools y luego ya podremos entrar a la carpeta cust y extraer lo que queramos.

Sistema Android 3

Reconstruir la imagen del sistema modificada

Opcionalmente, puede que después de modificar la imagen, queramos volver a empaquetarla para poder flashear la nueva imagen con los cambios. Para construir la nueva imagen tendremos que seguir los siguientes pasos:

  1. Obtener el tamaño de la partición. Para ello tendremos que copiar el tamaño del archivo raw que generamos en el paso 3 del proceso de extracción. Podemos conocer su tamaño (en bytes) en las propiedades del archivo.

Sistema Android 4

  1. Para crear la nueva imagen, tendremos que introducir el siguiente comando en el que indicaremos el formato de archivos (en este caso ext4), su tamaño y el punto de montaje en el sistema Android (system, cust…) entre otros aspectos:
    sudo ./make_ext4fs -s -l 201326592 -a cust newcust.img cust

Sistema Android 5

Con esto ya habremos modificado exitosamente nuestra imagen y estará lista para flashear por fastboot o crear un zip para instalar con un custom recovery como TWRP.


Este artículo de @Juanro49@plume.nogafam.es está licenciado bajo CC BY-SA 4.0