Truecrypt43
Aus Fedorawiki.de
| |
Dieser Artikel wurde neu erstellt und bedarf evtl. noch einer Korrekturlesung. Danach kann diese Box entfernt werden. |
Analog der Wikiseite über die Installation von Truecrypt 4.2a beschreibt diese Seite die Installation von Truecrypt 4.3a.
Inhaltsverzeichnis |
Vorbereitungen
Folgende Pakete müssen installiert sein, damit die Installation von Truecrypt gelingt. Falls einzelne fehlen, können sie am einfachsten mit yum, yumex oder pirut nachinstalliert werden.
- kernel-devel (in der richtigen Architektur)
- rpm-build
- redhat-rpm-config
- gcc
- yum-utils (zum Herunterladen der Kernel-Sourcen)
Zuerst muss sichergestellt werden, dass das Paket kernel-devel in der zur Kernel passenden Version vorliegt.
Anzeigen der Kernel-Version von kernel-devel
rpm -q kernel-devel
Anzeigen der Version des installierten Kernels
uname -rm
Dabei sollten die unteren beiden Befehle die gleiche Kernel-Version zeigen. Desweiteren müssen die Kernel-Source heruntergeladen und anschliessend installiert werden. Damit das entsprechende Source-Paket (.src.rpm) heruntergeladen werden kann, wird yum-utils benötigt:
Anschliessend mittels yumdownloader die Kernel-Source herunterladen
Achtung: Dieser Befehl muss eventuell bei Fedora 7 Installation in nachfolgender Art eingegeben werden:
und zuletzt installieren.
sollten hier Fehlermeldung betreffend fehlenden oder nicht erstellbaren Verzeichnissen unterhalb /usr/src/ auftreten, dann diese einfach manuell erstellen (mkdir -p ...)
Aus den soeben heruntergeladenen und installierten Kernel-Sourcen wird die Datei dm.h (Treiber für DeviceManagement) benötigt. Dazu entpacken wir als nächstes die Kernel-Sourcen:
Nun werden die Sourcen entpackt.
und kopieren anschliessend die Datei {Dateiname|dm.h}}in unser kernel-devel-Verzeichnis.
Truecrypt kompilieren
Nun von der Website von Truecrypt die Sourcen herunterladen und entpacken. Im Unterschied zur Version 4.2a ist KEIN Patch mehr notwendig. Da jedoch weiterhin ein Kernel-Modul verwendet wird, muss dieses Modul nach jedem Kernel-Update erneut erstellt werden.
http://www.truecrypt.org/downloads.php
Entpacken des tarballs
tar -xzf truecrypt-4.3a-source-code.tar.gz -C /tmp
Wechseln des Verzeichnis.
cd /tmp/truecrypt*/Linux
Nun den Build-Prozess starten.
Hier werden nochmals sämtlichen benötigten Tools überprüft. Erscheint die Fehlermeldung
Error: Kernel source code is incomplete - /usr/src/kernels/..../dm.h not found.
bedeutet dies, dass von den Kernel-Source die Datei nicht (oder nicht an die richtige Stelle) kopiert wurde.
Sofern alles geklappt hat, wurde Truecrypt kompiliert und das Kernel-Modul erstellt.
Building kernel module... Done. Building truecrypt... Done.
Änderungen ab Kernel-2.6.23
Ab der Kernelversion 2.6.23 wird der folgende Patch benötigt, da sich die Parameteranzahl in kmem_cache_create geändert hat.
--- truecrypt-4.3a-source-code/Linux/Kernel/Dm-target.c.orig 2007-10-23 12:52:44.000000000 +0200
+++ truecrypt-4.3a-source-code/Linux/Kernel/Dm-target.c 2007-10-23 12:52:57.000000000 +0200
@@ -656,7 +656,7 @@
goto err;
}
- bio_ctx_cache = kmem_cache_create ("truecrypt-bioctx", sizeof (struct bio_ctx), 0, 0, NULL, NULL);
+ bio_ctx_cache = kmem_cache_create ("truecrypt-bioctx", sizeof (struct bio_ctx), 0, 0, NULL);
if (!bio_ctx_cache)
{
error ("kmem_cache_create failed");
Patch herunterladen
wget http://www.linux-dev.org/wp-content/uploads/2007/12/truecrypt_43a_linux_2623dm_target.diff
Verzeichnis wechsel
cd ./truecrypt-4.3a/Linux/Kernel/
Patchen
patch -p0 < truecrypt_43a_linux_2623dm_target.diff
Truecrypt Kernel-Modul testen
Als nächsten Schritt sollte das Kernel-Modul überprüft werden (VOR der Installation von Truecrypt). Denn sofern sich das Modul nicht fehlerfrei laden lässt, wird Truecrypt nicht korrekt funktionieren.
Wechseln vom Verzeichnis /tmp/truecrypt/Linux
in das Verzeichnis
Installieren des Modules
Kontrolle des Ladevorganges.
Hier sollte nun das Truecrypt Modul ausgewiesen werden und korrekt geladen werden können.
Treten Probleme auf (eventuell erwähnte Meldung mit unterschiedlichen Architekturen) kann mit
Informationen über das eben erstellte Modul angezeigt werden. Sofern jedoch alles geklappt hat, kann letztlich Truecrypt installiert werden.
Achtung: Bei meiner Fedora 7-Installation mussten die Befehle so lauten:
Truecrypt installieren
Im selben Verzeichnis wo auch kompiliert wurde, das Script ./install.sh ausführen:
Achtung: Auf meiner Fedora 7 Installation musste ich die install.sh umschreiben. Um genau zu sein überall /sbin/ vor die Befehle schreiben oder man benutzt "su -", dann gehört das Verzeichnis /sbin schon zur Pfadvariable dazu. Statt an diversen Stellen /sbin einzufügen, können auch die Pfade angepasst werden.
if ! /sbin/modprobe -V >&- 2>&- || ! /sbin/ rmmod -V >&- 2>&- /sbin/lsmod | grep -q ^dm_mod [ $? -ne 0 ] && /sbin/modprobe dm-mod >&- 2>&- && sleep 1 if ! /sbin/dmsetup targets >&- if ! which /sbin/losetup >/dev/null /sbin/rmmod truecrypt >&- 2>&- if grep -q "^truecrypt " /proc/modules cp Kernel/truecrypt.ko "$MOD_DIR" && chmod 600 $MOD_DIR/truecrypt.ko && /sbin/depmod -a [ $? -ne 0 ] && error "Failed to install kernel module" && exit 1 echo Done.
Alternativ kann man auch mittels
export PATH=/sbin:$PATH
temporär den Suchpfad erweitern, was schneller und vorallem fehlerfreier geht.
Der Aufruf erfolgt dann mittels Konsole
Siehe auch