OK, so it looks like I've been missing a fairly major point: my boot drive (which is also my SD card) is sdb not sda.
fsck.ext3 -vnf /dev/sdb2 shows me loads of errors.
What can I do to force this partition to be checked (unattended) on reboot? "touch /forcefsck" hasn't done it (although /forcefsck has been removed after reboot).
Unattended is important, I won't have any access to it until it reboots and I can SSH into it.