Aporte: Desempaquetar y empaquetar super.img y system.img. - Versión para impresión +- ChuJALT (https://chujalt.com) +-- Foro: SISTEMAS OPERATIVOS (https://chujalt.com/forum-8.html) +--- Foro: Android (https://chujalt.com/forum-16.html) +--- Tema: Aporte: Desempaquetar y empaquetar super.img y system.img. (/thread-47.html) Páginas:
1
2
|
Desempaquetar y empaquetar super.img y system.img. - chujalt - 14-03-2021 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/editing-system-img-inside-super-img-and-flashing-our-modifications.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 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 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 Con estas tres lineas volvemos a redimensionar system.img al tamaño que debe tener. Código: stat -c '%n %s' system.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. RE: Desempaquetar y empaquetar super.img y system.img. - dargons10 - 28-09-2021 Buenas. Este artículo me viene genial ya que estaba buscando como empaquetar super.img ya que tengo los archivos necesarios aparte. En mi caso tengo que empaquetar system system_ext vendor product y odm en un super.img así que veré si puede modificar el archivo .sh para que coja todos los archivos que necesito en mi caso. RE: Desempaquetar y empaquetar super.img y system.img. - chujalt - 28-09-2021 Saludos, Espero que te vaya bien. RE: Desempaquetar y empaquetar super.img y system.img. - dargons10 - 28-09-2021 (28-09-2021, 20:43)chujalt escribió: Saludos, En mi caso que tengo las particiones que necesito para hacer la partición super, y partiendo de que no la tengo, como puedo saber cuanto ocupa super.ext4.img? RE: Desempaquetar y empaquetar super.img y system.img. - chujalt - 29-09-2021 Saludos. en el penúltimo paso del tuto te lo pone, en este caso sería Código: stat -c '%n %s' super.ext4.img Saludos RE: Desempaquetar y empaquetar super.img y system.img. - dargons10 - 29-09-2021 Pero ese no es mi caso. He cogido una rom y la he descomprimido. Tengo los archivos necesarios para hacer el super(system, vendor, product, odm y system_ext) pero no tengo el super que es lo que quiero construir. Por eso pregunto cuanto sé lo que tengo que indicar que es en bytes la partición super No sé si me he explicado bien.Saludos escribió: RE: Desempaquetar y empaquetar super.img y system.img. - chujalt - 29-09-2021 Creo que te entiendo. Veo que la estructura de tu rom no es exactamente como la mía. Me imagino que tienes la rom original, haz los primero pasos del tuto para crear super.ext4.img y luego haz el "stat -c '%n %s' super.ext4.img" para saber el espacio que tiene la imagen. RE: Desempaquetar y empaquetar super.img y system.img. - leocesarbin - 05-11-2021 (14-03-2021, 21:46)chujalt escribió: 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” ) RE: Desempaquetar y empaquetar super.img y system.img. - chujalt - 05-11-2021 Saludos. La carpeta system esta montada como root, con tu usuario normal no te dejara escribir en ella. Si no estás acostumbrado a moverte por directorios y trabajar en ellos desde la consola de comandos, escribe en un terminal sudo nautilus (o nemo, según el gestor que tenga tu distribución), se te abrirá una nueva ventana de gestor de archivos, está vez con privilegios root, haces todos los cambios que tengas que hacer y luego cierras ese terminal con lo que se cerrará esa ventana de gestor de archivos. Saludos. RE: Desempaquetar y empaquetar super.img y system.img. - leocesarbin - 13-11-2021 (05-11-2021, 20:08)chujalt escribió: Saludos. Hola amigo , exactamente asi lo hago con el gestor de archivos que sale al poner sudo nautilus , elimino apps que no deseo y coloco apps nuevas , obtengo mi super.img nuevo , lo coloco en mi rom desempacada , renombro a super.fex , vuelvo a empacar mi rom , obtengo mi nuevo rom.img , flasheo por usb , el equipo acepta la rom , el equipo arranca con normalidad , pero sin instalarse nada de lo nuevo que puse , por ejemplo aplicaciones , entonces instalo un apk explorador de archivos y entro en la carpeta del sistema y veo que las apps que coloque estan ahi , pero no se instalaron y se dañaron porque quiero instalarlas desde ahi y me salen error en el paquete (aclaro que son apps que son probadas y funcionan si las instalo desde mi usb ) , entonces asumo que hubo un error en el momento de editar cuando tenia montado el system.img Esto me sale cuando pongo en mi terminal sudo nautilus ** (org.gnome.Nautilus:10704): WARNING **: 16:46:35.144: Unable to get contents of the bookmarks file: Error al abrir el archivo /root/.gtk-bookmarks: No existe el archivo o el directorio** (org.gnome.Nautilus:10704): WARNING **: 16:46:35.149: Unable to get contents of the bookmarks file: Error al abrir el archivo /root/.gtk-bookmarks: No existe el archivo o el directorioNautilus- Share-Message: 16:46:35.738: Called "net usershare info" but it failed: Falló al ejecutar el proceso hijo «net» (No existe el archivo o el directorio) y esto me sale cuando termino de editar system y obtengo super.img nuevo Cuando hayas terminado los cambios pulsa Intro para volver a empaquetar.: e2fsck 1.46.3 (27-Jul-2021) Paso 1: Verificando nodos-i, bloques y tamaños Paso 2: Verificando la estructura de directorios Paso 3: Revisando la conectividad de directorios Paso 4: Revisando las cuentas de referencia Paso 5: Revisando el resumen de información de grupos vendor: 673/11008 ficheros (0.3% no contiguos), 31875/524288 bloques resize2fs 1.46.3 (27-Jul-2021) Cambiando el tamaño del sistema de ficheros en vendor.img a 31828 (4k) bloques. El sistema de ficheros en vendor.img tiene ahora 31828 bloques (de 4k). e2fsck 1.46.3 (27-Jul-2021) Paso 1: Verificando nodos-i, bloques y tamaños Paso 2: Verificando la estructura de directorios Paso 3: Revisando la conectividad de directorios Paso 4: Revisando las cuentas de referencia Paso 5: Revisando el resumen de información de grupos vendor: 673/688 ficheros (0.3% no contiguos), 31155/31828 bloques lpmake I 11-12 16:53:28 10821 10821 builder.cpp:1012] [liblp]Partition system will resize from 0 bytes to 1194041344 bytes lpmake I 11-12 16:53:28 10821 10821 builder.cpp:1012] [liblp]Partition vendor will resize from 0 bytes to 130367488 bytes lpmake I 11-12 16:53:28 10821 10821 builder.cpp:1012] [liblp]Partition product will resize from 0 bytes to 113278976 bytes Invalid sparse file format at header magic Invalid sparse file format at header magic Invalid sparse file format at header magic Ya ha finalizado. Tendrás un nuevo archico con el nombre super.nueva.img. Pulsa Intro para finalizar si hay algun error en estos detalles , agradeceria que me ayudaras ,,, gracias de antemano |