Happy Friday -
dcfldd is an enhanced version of GNU dd with features useful for forensics and security. Based on the dd program found in the GNU Coreutils package, dcfldd has the following additional features:
- Hashing on-the-fly - dcfldd can hash the input data as it is being transferred, helping to ensure data integrity.
- Status output - dcfldd can update the user of its progress in terms of the amount of data transferred and how much longer operation will take.
- Flexible disk wipes - dcfldd can be used to wipe disks quickly and with a known pattern if desired.
- Image/wipe Verify - dcfldd can verify that a target drive is a bit-for-bit match of the specified input file or pattern.
- Multiple outputs - dcfldd can output to multiple files or disks at the same time.
- Split output - dcfldd can split output to multiple files with more configurability than the split command.
- Piped output and logs - dcfldd can send all its log data and output to commands as well as files natively.
I had been using the dd command to write SD card images on my laptop to a USB SD card reader. The process was always slow with many breaks in disk activity for no reason I could tell. Also, it's frustrating when writing a large image like the BeagleBone's (almost 4GB) to not know the progress. One is supposed to be able to send signal USR1 to the dd process to make it print the status, but that didn't work for me.
I found dcfldd worked much more quickly with steady disk activity throughout the process of writing the image. It also printed out progress as the writing went along.
Have a good weekend,
(using Thinkpad 410s running Ubuntu 12.04 64-bit)