Quiero cambiar la imagen de recuperación del paquete ODIN para Samsung P601. Descomprimí el archivo y obtuve recovery.img. A continuación, he intentado hacer simg2img recovery.img recovery.raw.img
, pero dice:
Formato de archivo disperso no válido en el encabezado magi Error al leer el archivo disperso
Creo que eso significa que no debe ser convertido. He intentado montarlo, pero parece que el FS no es ext4.
Entonces, la pregunta es: ¿cómo montar recovery.img, cambiar archivos allí y guardarlos de nuevo? Estoy usando OS X y Windows (con cygwin).
Puede usar unmkbootimg
desde este hilo en XDA Developers .
$ unmkbootimg recovery.img
Esto debería darte dos archivos: initramfs.cpio.gz
y zImage
(la imagen del kernel). Para extraer initramfs.cpio.gz
use este comando:
$ mkdir ramdisk && cd ramdisk
$ gunzip -c ../initramfs.cpio.gz | cpio -i
Consulte esta publicación para obtener información más detallada.
EDITAR: Me acabo de dar cuenta de que solo respondí la mitad de la pregunta. Para volver a empaquetar la imagen después de realizar cambios en los archivos extraídos, use el comando que unmkbookimg
le dio, por ejemplo
mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x40000000 --cmdline 'console=ttyS0,115200 rw init=/init loglevel=8' -o new_boot.img
Según el artículo, use este comando para crear el nuevo archivo initramfs.cpio.gz (no probado):
find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
La recuperación no es una imagen dispersa (que es un Ext4), por lo que no puede hacer eso, ni montarlo. Es una imagen de arranque para la que puedes usar mkbootimg.
abejas