It works by reading the block device in /dev directly, wouldn't it also work on an HDD, flash drive or a memory card?