Expectation of you doing this on a linux box.
First, mount the drive, clean any non-required files that you don't want (Swap/Hibernate etc).
Next: Write zero's to the free space, this makes the compression better:
cd [drive root]
dd if=/dev/zero of=zero
rm zero
Unmount the drive, and move to a directory where you want to store the image
mkdir empty-dir
mksquashfs empty-dir squash.img -p 'sda_backup.img f 444 root root sudo dd if=/dev/sda bs=4M'