0

I copied the RetroPie image (2.6 GB) to a microSD card by running the following command in bash:

sudo dd bs=1m if=retropie-v3.6-rpi2_rpi3.img of=/dev/disk4

with the result

2600000000 bytes transferred in 2090.362756 secs (1243803 bytes/sec)

So it took 2090 seconds (~35 minutes).

I have two questions:

  1. Is that a reasonable amount of time to perform that operation based on the technical info below? The card is advertised to have "up to 40 MB/s write" but the operation was only taking place at ~1.2 MB/s.
  2. Is there a more efficient way to dd the image to my card so that the transfer speed is much higher?

Technical info

Computer
MacBook Pro (Mid 2014), OS X 10.11.4
2.5 GHz Intel Core i7
16 GB 1600 MHz DDR3

microSD card
SanDisk Extreme 16GB microSDHC UHS-1 Card with Adapter

jsejcksn
  • 103
  • 3
  • I don't think it's reasonable anyway. The "Class" of the card requires the card to have a minimum (constant, AFAIK) write speed. For example, Class 10 / U1 requires it to be 10MB/s. Even a Class 2 cards requires 2MB/s. –  Apr 02 '16 at 22:43
  • @TomYan In reference to comment before edit: using built-in SD slot with supplied adapter –  Apr 02 '16 at 22:52
  • bs=1m makes it use 1MB blocks. Smaller blocks will be slower. I don't know the optimal value but I tend to use bs=32m – Craig Apr 08 '16 at 15:45

1 Answers1

1

This guy wrote a script which detemines the best block size for him. Bigger does not mean always better. Maybe you can adapt the script to your needs: http://blog.tdg5.com/tuning-dd-block-size/

Additionally I use ctr + t to see where the copy process is currently.

And you can parallelize the copying process but I have never tested this: https://unix.stackexchange.com/questions/160469/how-to-parallelize-dd

Andi Giga
  • 543
  • 1
  • 7
  • 17