Descomprimir y empaquetar system.img, seller.img y boot.img en Linux (modificación de rom de Android)

1. Herramientas de preparación

Bajo el sistema Linux:

1. Instalar el software de la herramienta

sudo apt install android-sdk-libsparse-utils

2. Descarga make_ext4fs

make_ext4fs, herramienta de empaquetado system.img en recursos de documentos de Linux-Android-descarga CSDN

3. Conocimientos básicos (opcional si leer o no, si no, pasa al siguiente paso)

Tanto system.img como seller.img existen en dos formatos: raw y sparse. Cuando se ejecutan en Linux: archivo system.img

① Una es la imagen raw ext4 , que a menudo se llama imagen raw . Use el archivo para observarla: se caracteriza por una imagen de partición ext4 completa (incluidas muchas áreas de relleno no válidas con todos ceros), que se puede montar directamente usando mount , por lo que es relativamente grande (generalmente alrededor de 1G). vista de archivo

$ file system.img
system.img: datos del sistema de archivos ext4 de Linux rev 1.0, UUID=da594c53-9beb-f85c-85c5-cedf76546f7a, nombre del volumen "sistema" (extensiones) (archivos grandes)

② El otro es una imagen ext4 dispersa , que a menudo se denomina simg
, que es un archivo dat muy común. Dado que describe escasamente ext4 sin formato, el tamaño es relativamente pequeño (no hay un área de relleno no válida con todos ceros, generalmente entre 300 y 500 M). vista de archivo:

$ file system.img
system.img: imagen dispersa de Android, versión: 1.0, total de 393216 bloques de salida de 4096 bytes en 40 fragmentos de entrada. 


El propio Android proporciona herramientas de código fuente para convertir entre los dos. El código fuente se encuentra en :
system/core/libsparse/simg2img.c // Convertir imágenes dispersas en imágenes sin formato;
system/core/libsparse/img2simg.c // Convertir imágenes sin formato imagen convertida a imagen dispersa;
 

2. Desempaquetar system.img

//解包
$ sudo simg2img system.img system.img.ext4 
//创建一个目录
$ sudo mkdir sysmain
//将解包的ext4文件挂载到sysmain
$ sudo mount -o loop system.img.ext4 sysmain

¡A continuación puede realizar un cd en sysmain y modificar el contenido de la imagen! ! !

3. empaquetado system.img

Puedes elegir cualquiera de los siguientes métodos

Método ①:

sudo ./make_ext4fs -l 1456M -s -a system systest.img sysmain

Si se informa el error de ejecución " error: ext4_allocate_best_fit_partial: no se pudieron asignar 2260 bloques, fuera... ", aumente el tamaño después de apelar -l (pero no demasiado grande; de ​​lo contrario, es posible que deba modificar la configuración de actualización, como la de mtk documento scatter.txt!)

La imagen systest.img que sale ha sido modificada y se le puede cambiar el nombre a system.img. Si el dispositivo no tiene arranque seguro, ¡se iniciará exitosamente!

Método ②:

$sudo umount sysmain

$ sudo img2simg system.img.ext4 systest.img

¡Finalizar! ¡El método ② también es aplicable a la modificación de userdata.img! ! Efectivo en pruebas personales

similar a proveedor.img

-----------

ps 1: para mtk, la herramienta flash es  SP_Flash_Tool

ps 2: el arranque seguro solo realiza la verificación de firma en particiones de solo lectura

-------------------------------------------------- ----------------

empaquetado y desembalaje de boot.img

Primero debes descargar la herramienta:

https://download.csdn.net/download/ab6326795/87364050?spm=1001.2014.3001.5501

Instrucciones de uso:


1. Use AIK para recomprimir boot.img.
Copie boot.img en el paquete flash al directorio AIK-Linux, ejecute ./unpackimg.sh para descomprimir, elimine el archivo ./split_img/boot.img-zImage y luego Copie el archivo Image.gz-dtb al directorio ./split_img y cámbiele el nombre a boot.img-zImage.

Ejecute ./repackimg.sh para generar el archivo image-new.img, que es el archivo boot.img que podemos flashear.


2. Si AIK encuentra problemas de "formato no reconocido. ¡Error!" o "ramdisk",
utilice mb. Esto parece requerir MINGW. No pude ejecutarlo en cmd, ¡pero funcionó correctamente en MINGW! !

descomprimir:
./mb.exe descomprimir /d/WPSSoftware/test/boot.img


reempaquetar:
./mb.exe reempaquetar /d/WPSSoftware/test/boot.img

Siguiente referencia: [Tutorial] Desbloqueo del gestor de arranque para teléfonos Nexus y Pixel + Flasheo de recuperación de TWRP + Flasheo (incluida la modificación de ROM boot.img) + ROOT tutorial_pixel twrp_Blog de jóvenes destacados en el condado de Suichuan, provincia de Jiangxi-Blog CSDN

Supongo que te gusta

Origin blog.csdn.net/ab6326795/article/details/125993855
Recomendado
Clasificación