External USB Drives in Linux
Adding external USB drives in Linux is easy. Etch uses hotplug to detect it. Using dmesg you can find out what mountpoint it is (Linux creates a SCSI device to mount to /dev/sdb and the drive will probably be /dev/sdb1). NB you can't grep dmesg to find this, you have to look through it because the sd creation doesn't contain the word 'usb'.
/proc/bus/usb/devices shows you information about the connected USB device (you can tell what speed and type of usb device it is from here:
D: Ver= 2.00 Spd=480
C: MxPwr= 2mA
indicate it's USB 2)
Most USB devices are formatted FAT32 which has a file size limit of 4GB. Because I'm using mine for Netvault backups and the virtual library media is created at sizes much larger than that, there are 2 choices:
ntfs-3G (which Etch doesn't support) and ext3 (which etch does).
Format to ext3 using
mke2fs -T ext3 /dev/sdb1
Then create an /etc/fstab entry
and mount
Test the (unmounted) disk for bad blocks and write garbage all over each block using
badblocks -c 10240 -s -w -t random -v /dev/sdb
(nb. it's better to use dd if=/dev/urandom of=/dev/sdb but takes much much longer...)
In order to encrypt the whole disk I used this tutorial [1]. There's another one here [2].
Use dmesg and find usb to find out what device the kernel maps the drive to.
apt-get install cryptsetup hashalot
cfdisk /dev/sdb (if you still need to partition the disk, unlikely though)
I like fdisk - the disk needs to be set up so that it has a partition on it, as the partitions are encrypted, not the entire disk! So create a primary partition at least...
cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb1
Open the encrypted device and assign it to a virtual /dev/mapper/YOURNAME (TripTerra) device:
cryptsetup luksOpen /dev/sdb1 YOURNAME
mkfs.ext3 -m 1 -O dir_index,filetype,sparse_super /dev/mapper/YOURNAME
To mount
cryptsetup luksOpen /dev/sdb1 YOURNAME
mount /dev/mapper/TripTerra /mnt/
Now it's transparently encrypted
To unmount
umount /mnt/TripTerra
cryptsetup luksClose /dev/mapper/TripTerra