TrueCrypt on the Pogoplug
If you are not familiar with TrueCrypt, it is an open-source cross-platform real-time on-the-fly encryption application. You can find more information here or here. It allows for creation of container volumes .tc file or full device/partition encryption.
After some messing around with the cross-compiler and kernel patches, I have binaries for the kernel loopback device, truecrypt and iozone.
WARNING: It is highly recommended to use TrueCrypt in read-only mode until the kernel is upgraded to a version higher than 2.6.24. Please do not use this information on production data. Iwill take no responsibility for any data loss that occurs as a result of this howto.
Quick Start
- Download the kernel loopback device from here and install it with insmod ./loop.ko. It should insert cleanly into the kernel.
- Install the device mapper package with ipkg install dmsetup.
- Download TrueCrypt compiled for the PogoPlug from here and place it in /opt/bin.
- Create the mapper device folder mkdir /dev/mapper.
- Determine your mapper id from cat /proc/misc | grep device-mapper | awk '{print $1}' .
- Create the control device file using the id determined in the previous step mknod /dev/mapper/control c 10 id.
In order to test performance, I compiled the Iozone benchmark for the PogoPlug. You can download compiled binary from here.
Details
The loopback device kernel module was compiled using the kernel sources/patches published by PogoPlug on their website. I used the Cygnus Lite GNU ARM toolchain to cross-compile the kernel module. Compiling TrueCrypt requires PKCS#11 headers and FUSE. I shall add more details on how to compile this yourself soon.
Limitations
I have tested it with both TrueCrypt containers and full disk/partition encryption. I have seen no problems with reads. However, sometimes on writes, I have noticed that truecrypt can hang. This seems to be a known issue with all pre 2.6.24 kernels. Upgrading the kernel should resolve this issue. I plan on putting together an article on doing this for the PogoPlug.


RSS


