Solución:
boot.img es un archivo pequeño (ish) que contiene dos partes principales.
* kernel(important for android)
* ramdisk( a core set of instruction & binaries)
Desempaquete boot.img:
Contiene los siguientes pasos:
-
Descarga la herramienta usando
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-serialport-api/android_bootimg_tools.tar.gz
-
Extraiga el archivo usando
tar xvzf android_bootimg_tools.tar.gz
.Contiene
two
binarios:* unpackbootimg * mkbootimg
3.Entonces ejecute ./unpackbootimg -i <filename.img> -o <output_path>
It will contain,
* boot.img-zImage ----> kernel
* boot.img-ramdisk.gz ----> ramdisk
También podemos extraer ramdisk, usando el siguiente comando
gunzip -c boot.img-ramdisk.gz | cpio -i
Después de cambiar los archivos, podemos volver a empaquetar esos archivos como boot.img usando mkbootimg
¡Divertirse!
boot.img
no es una imagen de sistema de archivos comprimida como system.img
. Lo lee el gestor de arranque y contiene poco más que una imagen del kernel y una imagen de disco ram.
Algunas distribuciones binarias envían las imágenes de kernel y ramdisk por separado. En ese caso, no necesita hacer nada con boot.img
, solo regenera uno nuevo con mkbootimg
.
Si necesita extraer información de un boot.img
, tratar split_bootimg
(por William Enck, a través de la wiki de Android).
Yo uso opensuse. He instalado abootimg. Si desea extraer (arranque | recuperación) .img, ejecute lo siguiente:
abootimg -x (boot|recovery).img
Luego obtiene los siguientes archivos: bootimg.cgf, zImage e initrd.img Si desea empaquetar la imagen, ejecute tal
abootimg --create (boot|recovery).img -f bootimg.cfg -k zImage -r initrd.img
Entonces obtendrás (boot | recovery) .img
Disfrutar