[gelöst] Kernel 2.6.23X und Truecrypt

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
bobthebear
Beiträge: 316
Registriert: 09.12.2004 19:01:31

[gelöst] Kernel 2.6.23X und Truecrypt

Beitrag von bobthebear » 23.10.2007 23:21:50

Hallo.

ich knabbere etwas an dem neuen Kernel und Truecrypt.

Mit dem 2.6.22 ging noch alles - also build.sh . Beim aktuellen bricht er ab. Leider.

Code: Alles auswählen

basra:/usr/src/truecrypt-4.3a-source-code/Linux# ./build.sh 
Checking build requirements...
Building kernel module... /usr/src/truecrypt-4.3a-source-code/Linux/Kernel/Dm-target.c: In function 'dm_truecrypt_init':
/usr/src/truecrypt-4.3a-source-code/Linux/Kernel/Dm-target.c:659: error: too many arguments to function 'kmem_cache_create'
make[2]: *** [/usr/src/truecrypt-4.3a-source-code/Linux/Kernel/Dm-target.o] Fehler 1
make[1]: *** [_module_/usr/src/truecrypt-4.3a-source-code/Linux/Kernel] Fehler 2
make: *** [truecrypt] Fehler 2
Error: Failed to build kernel module



Hier der Patch dafür:

Code: Alles auswählen

 Truecrypt 4.3a patch for kernel 2.6.23-rcX

$ diff -urN Dm-target.c.asli Dm-target.c
--- Dm-target.c.asli    2007-04-24 23:32:06 +0700
+++ Dm-target.c 2007-10-05 03:41:00 +0700
@@ -656,7 +656,11 @@
               goto err;
       }

+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
       bio_ctx_cache = kmem_cache_create ("truecrypt-bioctx", sizeof (struct bio_ctx), 0, 0, NULL, NULL);
+#else
+       bio_ctx_cache = kmem_cache_create ("truecrypt-bioctx", sizeof (struct bio_ctx), 0, 0, NULL);
+#endif
       if (!bio_ctx_cache)
       {
               error ("kmem_cache_create failed");
Nun die Frage vom Doofen. Wie patche ich und was patche ich. Patche ich die build.sh oder dm-target.c im Kernel?
Sorry, aber ich bin dabei noch nicht so fit.


Vielen Dank!
Zuletzt geändert von bobthebear am 01.11.2007 01:27:04, insgesamt 1-mal geändert.

Benutzeravatar
jansralf
Beiträge: 4
Registriert: 25.10.2007 17:57:32

Beitrag von jansralf » 25.10.2007 18:15:46

Hallo,
wie der Befehl diff funktioniert weiß ich auch nicht, aber was ich sehe sind
- eine Datei Dm-target.c muss geändert werden - habe ich in den truecrypt quellen im Verzeichniss /Kernel gefunden
- mit # fangen bei einigen Programmiersprachen Compileranweisungen an, hier bekommt er gesagt: Wenn Kernelversion < dann so sonst anders.
- aus dem Patch (was auch immer der Text bedeutet) den du anführst sehe ich noch, dass es bei Zeile 656 der oben genannten Datei losgeht mit den Änderungen.

Ich habs so gemacht:
oben genannte Datei gesichert :-)
Zeilen aus dem 'Patch' mit einem + davor werden hinzugefügt. Wo?
Also habe ich die Zeile nach dem ersten + identifiziert - muss ja schon da sein.
Dann vor die gefundene Zeile die erste Zeile mit dem + kopieren (Pluszeichen entfernen).
Hinter die gefundene Zeile die anderen 3 Zeilen mit + davor einfügen (Pluszeichen entfernen)
Speichern. Compiliren. Geht. :-)
Viel Glück
jansralf

plague
Beiträge: 19
Registriert: 08.02.2006 16:30:41

Beitrag von plague » 28.10.2007 13:25:52

Mahlzeit,

http://www.kaminek.de/patch.txt

cd /truecrypt-4.3a-source-code/Linux/Kernel

wget http://www.kaminek.de/patch.txt

patch Dm-target.c < patch.txt

cd ..

./build.sh

./install.sh

greetings plague

bobthebear
Beiträge: 316
Registriert: 09.12.2004 19:01:31

Beitrag von bobthebear » 31.10.2007 11:55:36

Super, das hat doch funktioniert! Danke für den Patch!

Hab mich auch mal schlau gelesen, wie man patcht! Wo finde ich im Netz den zentral solche Patch-Files?

Gruß Bob

guennid

Beitrag von guennid » 25.11.2007 14:34:49

Noch jemand, dem dieser thread weitergeholfen hat :lol: , Danke!

Grüße, Günther

Antworten