Copying a disk image onto a CF card using Unix dd is a trivial task
(unless you make a mistake when specifying the output file (the
-- recovery from that kind of mistake can be a bitch. ;-) )
dd if=disk.image of=/dev/da0
dd starts copying with a default blocksize of 512 bytes.
Copying a 4 GB image on the weekend took almost three hours. (153 minutes to be precise.)
On the next run, I used a block size (both on input and on output -- dd can control these separately) of one megabyte, thereby reducing the duration of the copy to just over 6 minutes.
dd if=disk.image of=/dev/da0 bs=1m
Sometimes, old-fashioned defaults are just, well, old fashioned. :-)