OUR NETWORK:MyDigitalEntertainer TechLore MyOpenRouter Explore3DTV MediaSmart Home See all... About UsAdvertiseContact Us

TrueCrypt on the Pogoplug

*** UPDATE:  Note that OpenPogo has been updated to PlugApps, and there are numerous compatibility issues with the upgraded V2 Pogoplug.  These instructions apply to V1 Pogoplugs only, at the state OpenPogo was in when the article was written.  For more information on the current state of PlugApps for both versions of Pogoplug, click here and here. ***

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

  1. Download the kernel loopback device from here and install it with insmod ./loop.ko. It should insert cleanly into the kernel.
  2. Install the device mapper package with ipkg install dmsetup.
  3. Download TrueCrypt compiled for the PogoPlug from here and place it in /opt/bin.
  4. Create the mapper device folder mkdir /dev/mapper.
  5. Determine your mapper id from cat /proc/misc | grep device-mapper | awk '{print $1}' .
  6. 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.

[Purchase a Pogoplug]

Add Your Reply

(will not be displayed)

Email me when comments are added to this thread

 
 

Please log in or register to participate in this community!

Log In

Remember

Not a member? Sign up!

Did you forget your password?

You can also log in using OpenID.

close this window
close this window