I’ve been writing to SD cards a bit lately while mucking around with a Raspberry Pi and a few other boards. This involves using dd to write a disk image directly onto the SD card. Whenever I do this, it is very slow. I mean really slow. I began to suspect the OSX implementation of dd and tonight I tested it out.
Here is a write of an image (Fedora for a Cubieboard) on my mac
sudo dd if=~/Downloads/Fedora-18-a10-armhfp-r1-cubie.img of=/dev/disk8 bs=64k
49152+0 records in
49152+0 records out
3221225472 bytes transferred in 1625.948833 secs (1981136 bytes/sec)
I then started an Ubuntu VM on VMWare on the same mac and repeated the operation
sudo dd if=Desktop/Fedora-18-a10-armhfp-r1-cubie.img of=/dev/sdb bs=64k
49152+0 records in
49152+0 records out
3221225472 bytes (3.2 GB) copied, 365.608 s, 8.8 MB/s
So on the same hardware plus a VM, Ubuntu’s dd is about 5 times faster. I have no idea why but I’ll be using a VM to write my images from now on.