J'ai un fichier de 9,6 Mo qui, après avoir fait dd if=/dev/zero of=/dev/block/mtdblock2, est écrit sur mtdblock2. Avant d'écrire, j'ai fait un sha1sum sur le fichier. Je peux utiliser applypatch -c pour vérifier à la fois la taille et le sha mais si je fais un sha sur le périphérique de bloc, il est bien sûr différent à cause de l'espace restant sur le périphérique. Si je copie le périphérique, j'obtiendrai une image de 16 mb incluant cet espace libre. Partout où je lis, les suggestions sont d'utiliser fdisk pour obtenir un compte et ensuite utiliser l'option de compte dans dd. Cependant, cela ne fonctionne pas car le bloc et la partition sont la partition de démarrage. Comment puis-je copier le fichier original, de même taille et de même format, hors du bloc ?
1) La partition de démarrage est en lecture seule. Elle est chargée en mémoire une seule fois par le bootloader. Après cela, elle n'est plus utilisée. Et même si elle l'est, la lecture d'un bloc de données brut est toujours possible. 2) Comment démarrer un appareil Android à partir d'un LiveCD ou de tout autre support ?
0 votes
Ce que vous demandez n'est pas clair. Si vous connaissez déjà la taille (9.6mb ; est-ce 9.6MB ou 9.6MiB ?), il suffit de faire
dd if=/dev/block/mtdblock2 of=boot.img bs=9.6M count=1
.bs=9.6M
es9.6*1024*1024
octets.bs=9.6MB
es9.6*1000*1000
octets. Utilisez ce qui est applicable à votre cas.0 votes
Tu sais ce qu'est /dev/zero ? tu as déjà détruit le démarrage, pas moyen de le récupérer
0 votes
@Irfan Latif - Le fichier que j'ai est de 9.6mb mais le fichier que j'essaie d'extraire est peut-être et probablement d'une taille différente. C'est un fichier propriétaire et signé. J'ai besoin du fichier image lui-même pour obtenir le sha1sum afin que je puisse utiliser applypatch sur lui.
0 votes
Vous cherchez donc
boot.img
format. Voir la documentation officielle : source.Android.com/devices/bootloader/boot-image-header et commentmagiskboot
extraitsboot.img
: github.com/topjohnwu/Magisk/tree/master/native/jni/magiskboot . C'est très spécifique à chaque appareil.