This blog is about Java (advanced Java topics like Reflection, Byte Code transformation, Code Generation), Maven, Web technologies, Raspberry Pi and IT in general.

Freitag, 20. Juli 2012

Compile Truecrypt on Raspberry Pi

I wanted to run Truecrypt on my Raspberry Pi. But there is no precompiled package which you could simply install with apt-get. So you have to compile it yourself - which take a few hours. If you just want the truecrypt binary for Raspbian/Wheezy then you can download them here.
The first thing you need to do is to get all needed dependencies. Thereby you have to compile one dependency yourself. We start with this dependency.


How to compile wxWidgets
First download the source code: http://www.wxwidgets.org/downloads/#latest_stable I used wxAll 2.8.11. Unpack it, go into the directory and execute these commands.
sudo apt-get install libgtk2.0-dev
./configure
make

How to setup PKCS11
Truecrypt needs three header files (pkcs11.h, pkcs11f.h, pkcs11t.h) which you can download from this location: ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v211/
Put them into a directory and then set the PKCS11_INC variable.
export PKCS11_INC=/home/pi/pkcs11

How to compile Truecrypt
First download the source code: http://www.truecrypt.org/downloads2 I used 7.1a. Unpack it, go into the unpacked directory and execute these commands.
sudo apt-get install libfuse-dev nasm libwxgtk2.8-dev
make WX_ROOT=/home/pi/wxWidgets/ wxbuild
make WXSTATIC=1

 There will be this warning
configure: WARNING: libSM not found; disabling session management detection
sadly I couldn't figure out how to fix it. But Truecrypt will work anyway.


If you get this error message
In file included from Keyfile.cpp:10:0:
.../SecurityToken.h:43:21: fatal error: pkcs11.h: No such file or directory
then the  PKCS11_INC variable isn't set correctly or you forgot to put the header files in the directory.


Now you can use Truecrypt. The executable file will be created in Main/truecrypt. To mount a truecrypt volume just use
./truecrypt /path/to/truecrypt-volume /path/to/mount-point
or you can just execute ./truecrypt and use the graphical surface.

Kommentare:

  1. make after compiling wxWidgets gives:

    ibpng12 -fvisibility=hidden -fvisibility-inlines-hidden ./src/common/event.cpp

    g++: internal compiler error: Segmentation fault (program cc1plus)
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See for instructions.
    make: *** [coredll_event.o] Error 4

    AntwortenLöschen
    Antworten
    1. Sorry, I can't help you with this problem - I never had this error. I can just offer you the truecrypt binary: http://reinhard-seiler.blogspot.co.at/2012/07/truecrypt-armhf-executable-for.html

      Löschen