Disfunctions.de

Das Blog der gnadenlosen Fehlfunktionen!

Truecrypt auf dem Raspberry Pi installieren

Erstellt von Matthias am Samstag 20. Oktober 2012

Seit kurzem habe ich den Raspberry Pi bei mir stehen. Nach einigen Tests mit Raspbian(einer angepassten Debian Distribution) und erst mal nur einem Torrentclienten zum Verteilen von Raspbian selbst, wollte ich nun mal eine Festplatte, die mit Truecrypt verschlüsselt ist im Netzwerk verfügbar machen. Dabei stellt man erst mal fest, dass es für Arm scheinbar kein fertiges Paket gibt und auch nichts passendes für Raspbian aufzutreiben war. Somit war es relativ nahe liegend  dass man Truecrypt selbst kompiliert, wie fast immer ist es aber natürlich so, dass es die ein oder andere Stolperfalle gibt und vor einem schon andere Leute vor den gleichen Problemen standen. Im Forum findet man schon eine knappe Anleitung für Truecrypt.

Leicht abgewandelt und etwas erklärt installiert man dann Truecrypt wie folgt:
Zuerst stellt man mittels

cd /

sicher, dass man in seinem Benutzerordner ist, anschließend lädt man sich die aktuelle Truecryptversion mit folgendem wget Befehl herunter:

wget http://www.truecrypt.org/downloads/transient/0d82764e6c/TrueCrypt%207.1a%20Source.tar.gz

Falls mittlerweile die Version 7.1a nicht mehr aktuell ist, muss man sich unter http://www.truecrypt.org/downloads2 die aktuelle Version heraussuchen, dabei nimmt man das „Mac OS X / Linux (.tar.gz)”.
Außerdem wird noch WXWidget benötigt, auch dies lädt man einfach herunter:

wget http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.8.12.tar.gz

Des weiteren wird noch libfuse benötigt:

sudo aptitude install libfuse-dev

Und schließlich noch die Header Dateien von RSA Security Inc. PKCS #11 Cryptographic Token Interface (Cryptoki) 2.20 in den Ordner ~/pkcs-header-dir/ herunterladen.

cd ~/pkcs-header-dir/ && wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/*.h

Jetzt geht es endlich ans kompilieren, dazu muss man zuerst das WXWidget kompilieren und anschließend Truecrypt. Vorher muss man aber erst beide .tar.gz Dateien entpacken:

tar -xf TrueCrypt\ 7.1a\ Source.tar.gz && tar -xf wxWidgets-2.8.12.tar.gz

Damit die PKCS Header Dateien auch mit in den make Prozess eingebunden werden, muss man den Pfad angeben:

cd
export PKCS11_INC=/home/pi/pkcs-header-dir/

Nun kann man mit folgenden Befehlen das Kompilieren starten, zuerst für WXWidget:

cd truecrypt-7.1a-source/
make NOGUI=1 WX_ROOT=/home/pi/wxWidgets-2.8.12 wxbuild

Dies dauert so ungefähr 15-20 Minuten. Jetzt noch Truecrypt kompileren, das kann etwas länger dauern, sollte spätestens nach 1h fertig sein:

make NOGUI=1 WXSTATIC=1
sudo cp -v media/truecrypt /usr/local/bin/

Am Ende kann man jetzt Truecrypt starten, den Befehl unter Umständen anpassen!

truecrypt -t -k "" --protect-hidden=no /tmp/test.truecrypt /media/truecrypt1/ -v -m=nokernelcrypto

Dort muss man die Pfade entsprechenden anpassen. Der Pfad zu test.truecrypt ist die Container Datei oder eben das Lauferwerk, also z.B. /dev/sda/ und der 2. Pfad ist der gewünschte Einhängepunkt, in diesem Fall /media/truecrypt1 . Nun sollte alles geklappt haben und man hat Truecrypt installiert und den ersten Container eingebunden. Wie man Container erstellt und alle weiteren Infos zur Kommandozeile erhält man in dem man folgendes eingibt:

truecrypt --help

20 Kommentare zu “Truecrypt auf dem Raspberry Pi installieren”


  1. fabian sagt:

    Bekomme beim kompilieren von TrueCrypt folgende Ausgabe:
    […]
    Compiling VolumeInfo.cpp
    Compiling VolumeLayout.cpp
    Compiling VolumePassword.cpp
    Compiling VolumePasswordCache.cpp
    Compiling Aescrypt.c
    Compiling Aeskey.c
    ../Crypto/Aeskey.c: In function ‚aes_decrypt_key256′:
    ../Crypto/Aeskey.c:524:25: warning: operation on ’ss[4]‘ may be undefined [-Wsequence-point]
    ../Crypto/Aeskey.c:524:25: warning: operation on ’ss[4]‘ may be undefined [-Wsequence-point]
    ../Crypto/Aeskey.c:524:25: warning: operation on ’ss[4]‘ may be undefined [-Wsequence-point]
    ../Crypto/Aeskey.c:525:25: warning: operation on ’ss[5]‘ may be undefined [-Wsequence-point]
    ../Crypto/Aeskey.c:525:25: warning: operation on ’ss[5]‘ may be undefined [-Wsequence-point]
    ../Crypto/Aeskey.c:525:25: warning: operation on ’ss[5]‘ may be undefined [-Wsequence-point]
    ../Crypto/Aeskey.c:526:25: warning: operation on ’ss[6]‘ may be undefined [-Wsequence-point]
    ../Crypto/Aeskey.c:526:25: warning: operation on ’ss[6]‘ may be undefined [-Wsequence-point]
    ../Crypto/Aeskey.c:526:25: warning: operation on ’ss[6]‘ may be undefined [-Wsequence-point]
    ../Crypto/Aeskey.c:527:25: warning: operation on ’ss[7]‘ may be undefined [-Wsequence-point]
    ../Crypto/Aeskey.c:527:25: warning: operation on ’ss[7]‘ may be undefined [-Wsequence-point]
    ../Crypto/Aeskey.c:527:25: warning: operation on ’ss[7]‘ may be undefined [-Wsequence-point]
    Compiling Aestab.c
    Compiling Blowfish.c
    Compiling Cast.c
    Compiling Des.c
    Compiling Rmd160.c
    […]

    Was hat das zu bedeuten?

    mfg


  2. fabian sagt:

    … beim Ausführen von
    # make NOGUI=1 WXSTATIC=1

    (sry)


  3. fabian sagt:

    Fehler gefunden, das Kompilieren funktionierte bei mir nicht mit der aktuellen wxWidgets-2.9.4.tar.bz2.

    https://www.dropbox.com/s/0emo2p16rv1r2pm/truecrypt71a-wheezy20121028-bin.tar.bz2

    Kompiliert mit:
    > 2012-10-28-wheezy-raspbian.zip
    > TrueCrypt 7.1a Source.tar.gz
    > wxWidgets-2.8.12.tar.gz


  4. Matthias sagt:

    Ah okay perfekt! Danke, dass du die Lösung des Problems auch gepostet hast.


  5. fabian sagt:

    Kein Ding.

    P.S.
    truecrypt wird im Media-Ordner erstellt, nicht Make. 😉


  6. bl4ckOut sagt:

    Bei mir kommt nach
    „cd export PKCS11_INC=/home/pi/pkcs-header-dir/“
    folgende Fehlermeldung:
    bash: cd: export: Datei oder Verzeichnis nicht gefunden

    Die Dateien wurden alle erfolgreich heruntergeladen bzw. entpackt.

    Dementsprechend schlägt dann auch das Compilieren fehl:

    In file included from Keyfile.cpp:10:0:
    /home/pi/truecrypt-7.1a-source/Common/SecurityToken.h:43:21: fatal error: pkcs11.h: Datei oder Verzeichnis nicht gefunden
    compilation terminated.
    make[1]: *** [Keyfile.o] Fehler 1
    make: *** [all] Fehler 2

    Grüße


  7. Alex sagt:

    Ich bekomme genau die gleiche Fehlermeldung wie Bl4ckOut.
    Weiß jemand, was man da machen kann?


  8. Fabian sagt:

    es heisst nicht
    cd export PKCS11_INC=/home/pi/pkcs-header-dir/

    sondern
    cd
    export PKCS11_INC=/home/pi/pkcs-header-dir/

    P.S. neuer Downloadlink für die fertig kompilierte bin (siehe Kommentar oben):
    http://dl.dropbox.com/u/10297800/Raspberry%20Pi/bin/truecrypt71a-wheezy20121028-bin.tar.bz2


  9. Matthias sagt:

    Ich habe das nun korrigiert, danke für die Hinweise und sorry wegen den Formatierungsfehlern.


  10. Manuel sagt:

    Wie siehts mit der Performance aus ?
    eventuell wie schnell kann man Daten lesen von der Externen?


  11. Michael sagt:

    Abend,

    ich bekomme bei make NOGUI=1 WXSTATIC=1 einen Fehler

    root@raspbmc:~/TrueCrypt/truecrypt-7.1a-source# make NOGUI=1 WXSTATIC=1
    Compiling Keyfile.cpp
    In file included from Keyfile.cpp:10:0:
    /root/TrueCrypt/truecrypt-7.1a-source/Common/SecurityToken.h:43:21: fatal error: pkcs11.h: No such file or directory
    compilation terminated.
    make[1]: *** [Keyfile.o] Error 1
    make: *** [all] Error 2

    In der Variable $PKCS11_INC steht der richtige Pfad drin

    root@raspbmc:~/TrueCrypt/pkcs-header-dir# echo $PKCS11_INC
    /root/TrueCrypt/pkcs-header-dir/

    root@raspbmc:~/TrueCrypt/pkcs-header-dir# ls
    cryptoki.h pkcs-11v2-20a3.h pkcs11f.h
    ct-kip.h pkcs-11v2-20a3d3.h pkcs11t-consolidated-d1.h
    otp-pkcs11.h pkcs11.h pkcs11t.h

    Weiß jemand weiter? Vielen Dank


  12. duese sagt:

    Ahoi,

    hätte auch mal eine Frage.
    Der Build-Prozess scheint bei mir ohne Fehler gelaufen zu sein.
    Allerdings kann ich nichts anfangen mit sudo cp -v media/truecrypt /usr/local/bin/ Ich habe keinen Media-Verzeichnis in meinem Home, oder in dem pfad in dem ich gebaut habe.
    Was ist damit gemeint, bzw wo liegen die binaries?
    Danke schon mal im Voraus!


  13. duese sagt:

    Ok, habe glaube ich verstanden, dass auch Post #5 falsch ist.
    Die Binary liegt in Main.

    Habe ich das alles richtig verstanden? Grüße


  14. Stefan sagt:

    Hi, könntest du den Downloadlink für TrueCrypt aktualisieren ?
    wget http://www.truecrypt.org/downloads/transient/0d82764e6c/TrueCrypt%207.1a%20Source.tar.gz


  15. Matthias sagt:

    Ist nun aktualisiert. Danke für den Hinweis.


  16. Tobias sagt:

    Vielen Dank für den Artikel! Hier mal wieder ein aktualisierter Link für Truecrypt: http://www.truecrypt.org/download/transient/21492ffb755df6e81c96/TrueCrypt%207.1a%20Source.tar.gz

    Sind die Warnings die Fabian hatte denn schlimm? Ich dachte man muss sich nur bei Errors gedanken machen? Habe nämlich die gleichen warnings und überlege mir ob ich jetzt nochmal neu kompilieren muss/sollte.


  17. Martin sagt:

    Super, hat funktioniert, vielen Dank!

    kurze Anmerkung noch, hier ein Typo:

    „sudo cp -v media/truecrypt /usr/local/bin/“

    „Media“ ist falsch, sollte „Main“ heissen!


  18. Truecrypt auf dem Raspberry | Patzelts.de sagt:

    […] Da das ganze hier und hier toll beschrieben ist, folgen nun nur die Eingaben. Die Kompilierung mit make dauern etwas, […]


  19. Steffen sagt:

    (Ist zwar schon etwas älter, aber bin erst jetzt in die ganze Raspberry-Geschichte eingestiegen… 😉 )

    Zu Post 11 von Michael:

    Der Fehler ist bei mir beim Kompilieren auch aufgetreten. Bei mir hat es nur geholfen, die SecurityToken.h anzupassen und aus
    # include

    ein
    # include „home/pi/pkcs-header-dir/pkcs11.h“

    zu machen. Dann lief es weiter…

    Gruß
    Steffen


  20. Steffen sagt:

    Edit:

    Soll natürlich
    # include <pkcs11.h>

    heißen…

    Tags werden ja gefilter, hab ich vergessen…

Kommentar schreiben

XHTML: Sie können diese Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>