Comment extraire boot.img?

J'essaye de voir le contenu dans un file boot.img à partir d'une image Android.

J'ai googlé et trouvé cet article pour extraire system.img , mais cela ne fonctionne pas pour boot.img . En essayant de faire cela pour boot.img , il montre ce qui suit:

 Invalid sparse file format at header magi Failed to read sparse file 

Est-ce que simg2img est utilisé uniquement pour extraire system.img ?

  1. Si oui, existe-t-il une autre méthode pour extraire boot.img ?
  2. Sinon, quel est le problème pour ne pas extraire boot.img ?

boot.img est un petit file (ish) qui contient deux parties principales.

  * kernel(important for android) * ramdisk( a core set of instruction & binaries) 

Déballez boot.img:

Il contient les étapes suivantes:

  1. Téléchargez l'outil à l'aide de wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-serialport-api/android_bootimg_tools.tar.gz

  2. Extrayez le file en utilisant tar xvzf android_bootimg_tools.tar.gz .

    Il contient two binarys:

      * unpackbootimg * mkbootimg 

3.Ensuite, exécutez ./unpackbootimg -i <filename.img> -o <output_path>

 It will contain, * boot.img-zImage ----> kernel * boot.img-ramdisk.gz ----> ramdisk 

Nous pouvons aussi extraire ramdisk en utilisant la command suivante

 gunzip -c boot.img-ramdisk.gz | cpio -i 

Après avoir changé les files, nous pouvons à nouveau emballer ces files en boot.img en utilisant mkbootimg

S'amuser!

boot.img n'est pas une image de système de files compressé comme system.img . Il est lu par le chargeur de démarrage et contient un peu plus qu'une image de kernel et une image de disque virtuel.

Certaines dissortingbutions binarys expédient séparément les images du kernel et du ramdisk. Dans ce cas, vous n'avez rien à faire avec boot.img , il suffit de régénérer un nouveau avec mkbootimg .

Si vous avez besoin d'extraire des informations d'un boot.img , essayez split_bootimg (par William Enck , via le wiki Android ).

J'utilise opensuse. J'ai installé abootimg. Si vous voulez extraire (boot | recovery) .img exécuter tel:

 abootimg -x (boot|recovery).img 

Ensuite, vous obtenez les files suivants: bootimg.cgf, zImage et initrd.img Si vous voulez emballer l'image, vous exécutez tel

 abootimg --create (boot|recovery).img -f bootimg.cfg -k zImage -r initrd.img 

Ensuite, vous obtiendrez (boot | recovery) .img

Prendre plaisir