J'ai décompressé l'image de démarrage à partir de la sauvegarde TWRP et je l'ai reconditionnée sans aucune modification. Mais une fois que j'ai flashé cette image, il ne démarre que vers la récupération - il ne démarre pas vers le système Android. J'ai utilisé les outils de https://github.com/pbatard/bootimg-tools et les commandes suivantes pour extraire et refaire l'image de démarrage.
# to extract
unmkbootimg -i ../boot.emmc.win
mkdir ./extracted
cd ./extracted && gunzip -c ../ramdisk.cpio.gz | cpio -i
#to recompress
cd ./extracted && find . | cpio -o -H newc | gzip > ../ramdisk.cpio.gz
mkbootimg --base 0 --pagesize 2048 --kernel_offset 0x10008000 --ramdisk_offset 0x11000000 --second_offset 0x10f00000 --tags_offset 0x10000100 --cmdline 'androidboot.hardware=tn8' --kernel kernel --ramdisk ramdisk.cpio.gz -o ../boot.emmc.win
Le seul problème possible que je rencontre est que l'image .emmc.win nouvellement créée est beaucoup plus petite que l'image originale et ne comporte pas de zéros de fin.
Je ne sais pas comment éviter ce problème et créer une image de démarrage correcte.
MiscInfo : Le périphérique est Nvidia Shield Tablet, le noyau/rom initial est cyanogenmod.