When I try to use dd to flash images I see some issues when the seek value exceeds 2GB.(i.e. bs * seek >= 2GB).
dd bs=512 count=8 if=sample.img of=/dev/block/mmcblk0 seek=4194304
dd: /dev/block/mmcblk0: Invalid argument
When I try with a value (2GB-1), the dd command succeeds. Can anyone point out why exactly the 2GB limit for the seek value exists? Is it related to filesystem (FAT limit?)? Is there any easy workaround to get dd work past the seek limit?
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)
Apparently, the issue is seen only for seek values in the range (2GB-4GB). The dd succeeds beyond 4GB - very strange.