Luks in Freetz - ab Trunk #1975

cuma

Aktives Mitglied
Mitglied seit
16 Dez 2006
Beiträge
2,756
Punkte für Reaktionen
7
Punkte
38
Hallo,
ich möchte auf meiner 7170 Luks integrieren, angeregt durch C_Payne der hier das ganze bereits für Fritzbox ohne Freetz realisiert.
Einen pptp Server hab ich als Addon bereits integriert, der die CryproAPI des Kernels nutzt. Der angehängte Patch schaltet 4 neue Module im menuconfig frei:
sha1.ko (crypto)
aes.ko (crypto)
dm-mod.ko (drivers)
dm-crypt.ko (drivers)
Nun zu meine Problem. Die Datei dm-mod.ko wird nicht unter
Code:
build/modified/filesystem/lib/modules/2.6.13.1-ohio/kernel/drivers/md/
kopiert. Alle anderen Datein werden automatisch an ihren richtigen Platz kopiert. Wenn ich die fehlende Datei aus
Code:
kernel/modules-8mb_26-04.49/lib/modules/2.6.13.1-ohio/kernel/drivers/md/
auf die Box kopiere, läuft es. Wie kann ich denn das make dazu bringen, die Datei ins Image einzubinden?

EDIT: Anhang gelöscht
 
Zuletzt bearbeitet:
Die Kernel-Module sind die eine Sache. Aber man benötigt außerdem noch das Userspace Programm cryptsetup und am Besten ein Startscript und ein Webfrontend zur Konfiguration...

Davon mal abgesehen halte ich es für sehr gewagt, so etwas performance-lastiges wie Verschlüsselung auf einer Fritzbox abwickeln zu wollen.

Nichts desto trotz ein durchaus interessantes Thema, also nur weiter so.
 
@RalfFriedl: Die Config.in und Config-Datei des 7170 kernels habe ich mit dem Patch aus Post#1 angepasst. Das Problem ist aber dass die Datei dm-mod.ko (und nur diese) nicht aus dem Verzeichnis in das sie ertstellt wurde ins Filesystem der box kopiert wird.
@know: Dass cryptsetup noch gebraucht wird ist klar. Momentan benutze ich noch die binary von C_Payne. Er hat aber auch einen Patch mit Anpassungen für die Fritzbox erstellt. Zuerst wollt ich aber die Module richtig laufen haben.
Über die Performance wurde in dem anderen Thread auch schon berichtet: 600 kB/s auf Usb1.1. Kommt aber auch auf Dateisystem und Verschlüsselung an
 
Schau Dir erstens nochmal Deine Datei an:
luks_Config.in.patch ist eine tar-Datei, die nochmal die Datei luks_kernel-Config.ohio-8mb_26.04.49.patch enthält.
Code:
luks-patch.tar
+ luks_Config.in.patch
++ luks_kernel-Config.ohio-8mb_26.04.49.patch
+ luks_kernel-Config.ohio-8mb_26.04.49.patch

Außerdem spreche ich davon, daß Du in der Datei kernel/Config.in einen Eintrag für dm-mod anlegen sollst.
 
Oh, jetzt verstehe ich dich! Ich hab die angehängte Datei falsch gepackt! Hat mich schon gewundert, da ich es ja so gemacht hatte wie du geschrieben hast..
Hier also Versuch 2:

EDIT: Anhang gelöscht
 
Zuletzt bearbeitet:
Code:
config DS_MODULE_[B]blk_dev_dm[/B]
        bool "dm-mod.ko"
        default n

config DS_MODULE_dm_crypt
	bool "dm-crypt.ko"
	select DS_MODULE_[B]blk_dev_dm[/B]
	default n
Das sollte jeweils dm_mod heißen.
 
Juhu, so klappt es, danke!
Die 4 Module befinden sich nun in der Firmware und funktionieren. Überprüft hab ich das mit der Binary von cryptsetup.
Jetzt versuche ich selbst cryptsetup zu bauen. Ich hab also einen Patch (Anhang) dafür gebaut der soweit funktioniert. Nur die Versionsnummer musst ich fest einbauen, da die Datei sonst nicht herruntergeladen werden konnte. Cryptsetup benötigt aber noch die Library uuid. Dafür habe ich auch noch eine .patch erstellt (im Anhang), die aber nicht so recht will:
Code:
checking fpr va_copy() function... configure: error: cannot run test program while cross compiling
Hat jemand einen Rat für mich?
 
Zuletzt bearbeitet:
configure versucht verschiedene Eigenschaften des Systems herauszufinden, indem Test-Programme erstellt und ausgeführt werden. Wenn das Ziel ein anderes System ist (cross compiling), funktioniert das nicht.

Du mußt also selbst herausfinden, ob die Funktion va_copy() vorhanden ist oder nicht.
 
Da komm ich momentan nicht weiter. Ich muss mir das mal, wenn ich mehr Zeit, hab genauer anschauen
Angehängt habe ich einen Patch, der die Module ahs256, aes, dm-mod und dm-crypt im menuconfig zur Auswahl stellt. Zusammen mit der cryptsetup Binary von C_Payne ist es benutzbar.
 
Zuletzt bearbeitet:
Kann es sein, dass der Patch einen Fehler enthält?
Code:
diff -Naur -x .svn kernel/Config.in_orig kernel/Config.in
--- kernel/Config.in_orig	2008-02-13 18:03:27.000000000 +0100
+++ kernel/Config.in	2008-02-16 22:58:15.000000000 +0100
Die Datei Config.in_orig wurde bei mir nicht gefunden. Der Patch lief erst durch, als ich "Config.in_orig" durch "Config.in" ersetzt habe.

Beste Grüße und vielen Dank für Dein Engangement in Sachen dmcrypt (hoffentlich kommt das möglichst bald in den Freetz-Trunk!)
alpha1974
 
Zuletzt bearbeitet:
Code:
~ $ patch --version
patch 2.5.9
Copyright (C) 1988 Larry Wall
Copyright (C) 2003 Free Software Foundation, Inc.
Vielleicht war ich auch nur zu blöd, um es richtig zu bedienen :confused:
 
Die Version habe ich auch.

Wenn es nochmal vorkommt, wäre es hilfreich, den genauen Text vom Bildschirm zu kopieren und nicht nur zu schreiben "es geht nicht".
 
Also bei mir klappts. Geh in das freetz-Verzeichnis und dann "patch -p0 < /pfad/zu/irgendeinem.patch"
 
Hallo, hab heut mal wieder probiert zu compilieren, leider ohne Erfolg. Kann sich das mal jemand anschauen? Ich hab in diesem Bereich einfach zu wenig Erfahrung (annähern 0).
Die 4 nötigen Module werden korrekt gebaut und im kernel (7170) aktiviert. Cryptsetup liegt unter Testing, die 4 Module sind hiervon abhängig. Beim make tritt dieser Fehler auf (vollständiger Log im Anhang):
Code:
$ make
...
checking for unistd.h... (cached) yes
checking for locale.h... (cached) yes
checking uuid/uuid.h usability... no
checking uuid/uuid.h presence... no
checking for uuid/uuid.h... no
configure: error: 'You need the uuid library (from e2fsprogs)'
make: *** [source/cryptsetup-1.0.5/.configured] Fehler 1
Ich hab verschiedene Dinge probiert, leider nicht die richtigen, so hab ich zB die uuid.h in cryptsetup kopiert, hat aber keine Veränderung gebracht. Auch ist wohl falsch, eine eigen uuid zu bauen.
 
Zuletzt bearbeitet:
Die Meldung hab ich ja gelesen, weiss aber nicht so genau was ich da machen soll.
Man braucht also nicht die "uuid.h" irgendwo (danach wird ja gesucht), sondern die fertige Library? Also doch der Weg wie in #8?
 
Ok, dann probier ich mal da weiter. Seltsamerweise scheint es bei e2fsprogs ohne zu gehen

jetzt hängts an va_copy(), welches erst ab "C99" standardisiert zu sein scheint. (von hier). Wie wähle ich denn diesen Standard?
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,695
Beiträge
2,216,692
Mitglieder
371,315
Neuestes Mitglied
jack-mack
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.