05-11-2021, 05:32
(14-03-2021, 21:46)chujalt escribió: Saludos.
Tengo una tablet teclast P20HD en el que las rom vienen con extensión .pac
En este hilo hice un tutorial de como abrir esa imagen AQUI en entorno LINUX
Al abrir dicha imagen nos vemos varios archivos, entre ellos uno que se llama super.img el cual contiene a su vez varios archivos, entre ellos system.img
Vamos a abrir ese super.img, también system.img y vamos a volver a empaquetarlo todo.
He seguido básicamente el tutorial de https://forum.xda-developers.com/t/editi...s.4196625/ con algunas consideraciones porque está hecho para otra tablet.
Pondré el código linea por linea. También he hecho un script en bash que lo hace todo automáticamente.
1. Vamos a tener que instalarnos unas librerías
Código:sudo apt install android-tools-fsutils
sudo apt install clang zlib1g-dev
2. Bajarnos unas herramientas de AQUI
3. Descomprimimos el archivo recién bajado y veremos que está el script super.sh y una carpeta llamada lpunpack_and_lpmake-master que fue extraída de https://github.com/LonelyFool/lpunpack_and_lpmake, mérito a su autor, la abrimos, iniciamos un terminal con esa ruta y tecleamos.
Código:./make.sh
Veremos que en esa carpeta hay dos archivos nuevos, lpunpack y lpmake. Los copiamos y los ponemos en una carpeta junto con super.img. Si queremos ejecutar el script para que haga todo automáticamente también pondremos en esa carpeta el archivo super.sh
4. Si hemos decidido no ejecutar el script y hacerlo nosotros manualmente, abrimos un terminal en la ruta donde tenemos los archivos y escribimos:
Código:simg2img super.img super.ext4.img
Nos creará la imagen super.ext4.img con la que trabajaremos
Código:./lpunpack super.ext4.img
Nos desempaquetará super.ext4.img. En el directorio ya podremos ver los archivos system.img, product.img y vendor.img.
Código:fallocate -l 2G system.img
resize2fs system.img 2G
Con estas dos lineas redimensionamos system.img a 2Gb
Código:mkdir system
Creamos un directorio llamado system
Código:sudo mount -t ext4 -o loop system.img system
Montamos system.img y ponemos todo su contenido en la carpeta system. Ahora podremos hacer todos los cambios que necesitemos hacer.
Código:sudo umount system
Desmontamos system, veremos que dicha carpeta se ha quedado vacía.
Código:e2fsck -yf system.img
resize2fs -M system.img
e2fsck -yf system.img
Con estas tres lineas volvemos a redimensionar system.img al tamaño que debe tener.
Código:stat -c '%n %s' system.img
stat -c '%n %s' product.img
stat -c '%n %s' vendor.img
stat -c '%n %s' super.ext4.img
Con estos comandos nos darán el tamaño en bytes de las imágenes, ojo, hay que anotarlo porque en el siguiente paso nos hará falta.
Código:./lpmake --metadata-size 65536 --super-name super --metadata-slots 1 --device super:3145728000 --group main:2169016320 --partition system:readonly:1310846976:main --image system=./system.img --partition vendor:readonly:421638144:main --image vendor=./vendor.img --partition product:readonly:436531200:main --image product=./product.img --sparse --output ./super.nueva.img
OJO, cosas a tener en cuenta, en --device super:3145728000 debemos cambiar el número por la cantidad que nos dio anteriormente el tamaño en bytes de super.ext4.img, lo mismo en --partition system:readonly:1310846976:main --partition vendor:readonly:421638144:main y --partition product:readonly:436531200:main
En --group main:2169016320 debemos poner la suma de los tamaños en bytes de system.img, product.img y vendor.img
5. Veremos que en directorio tenemos un nuevo archivo llamado super.nueva.img, que es el nuevo super.img modificado por nosotros.
6. Si queremos hacerlo todo automáticamente y de manera mas rápida podéis utilizar el script super.sh.
Saludos.
Hola , excelente aporte … funciona para mi aunque tengo un inconveniente con las ediciones que realizo en el sistema , ya sean aplicaciones que reemplazo en el momento de flashear la rom en mi dispositivo no se instalan dichas aplicaciones aun estando en el sistema , me imagino que es algún error en el momento de editar el sistema , cual sería la forma correcta de reemplazar aplicaciones en modo superusuario en Linux cuando está montado el System.img ( ya que no me permite borrar nada y haciéndolo de la manera que lo hago me da ese error “sudo nautilus” )