2 votes

DD échoue au-delà de 2 Go de recherche

Lorsque j'essaie d'utiliser dd pour flasher des images, je rencontre des problèmes lorsque la valeur de recherche dépasse 2 Go. bs * seek >= 2GB ).

dd bs=512 count=8 if=sample.img of=/dev/block/mmcblk0 seek=4194304
dd: /dev/block/mmcblk0: Invalid argument

Lorsque j'essaie avec une valeur (2GB-1), la commande dd réussit. Quelqu'un peut-il m'expliquer pourquoi la limite de 2 Go pour la valeur de recherche existe exactement ? Est-ce lié au système de fichiers (limite FAT ?) ? Existe-t-il une solution de contournement facile pour que la commande dd fonctionne au-delà de la limite de recherche ?

dd bs=512 count=8 if=sample.img  of=/dev/block/mmcblk0 seek=4194303                         <
8+0 records in
8+0 records out
4096 bytes transferred in 0.001 secs (4096000 bytes/sec)

Apparemment, le problème ne se pose que pour les valeurs de recherche comprises dans la plage (2GB-4GB). Le dd réussit au-delà de 4GB - très étrange.

0voto

Irfan Latif Points 16863

N'utilisez pas busybox dd (compilé avec bionic libc). A la place, vous pouvez utiliser le binaire dd statique de gnu coreutils compilé avec glibc ou musl. Sur mon appareil, tous les binaires fonctionnent bien ; le dd toolbox d'Android, le dd busybox de meefik et le dd statique.

Bionic est confirmé comme étant buggy avec des fichiers volumineux.

PS : Jouer avec l'eMMC est dangereux, en particulier lorsqu'on teste un dd bogué. dd est un tueur, à mon avis. Vous pouvez accidentellement écraser les quelques octets initiaux de mmcblk0 et rendre votre appareil inutile.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X