Kernel patchen mit .diff files
Dumdideldum 30.12.2003 - 17:09 605 5
Dumdideldum
Here to stay
|
Ich bräuchte etwas Unterstützung beim Patchen des Kernels (2.6.0). Ich hab einige .diff und .diff.gz files, damit hoffentlich meine TV-Karte läuft.
Leider hab ich null Ahnung, wie das Patchen funktionieren soll - bei diff --help wird mir schlecht.
tia
|
Ringding
Pilot
|
patch brauchst du, nicht diff
Geh in das Kernel-Verzeichnis rein und mach
patch -p1 < diff-file oder gzcat diff-file.gz | patch -p1
Statt -p1 ist auch manchmal -p0 zu verwenden, das hängt einfach davon ab, von welchem Verzeichnis aus der Patch gemacht wurde.
|
Dumdideldum
Here to stay
|
patch brauchst du, nicht diff
Geh in das Kernel-Verzeichnis rein und mach
patch -p1 < diff-file oder gzcat diff-file.gz | patch -p1
Statt -p1 ist auch manchmal -p0 zu verwenden, das hängt einfach davon ab, von welchem Verzeichnis aus der Patch gemacht wurde. passt, thx. Situation ist die, dass ich einige c files im Kernel-Source für video for Linux patchen muss. Zum Beispiel die tuner.c, soll mit diesem diff abgeändert werden: The patch below might help.
Gerd
--- video4linux/tuner.c~ 2003-12-17 11:32:01.000000000 +0100
+++ video4linux/tuner.c 2003-12-21 18:46:07.161379609 +0100
@@ -745,7 +745,8 @@
company_code = buf[0x11] << 8 | buf[0x12];
printk("tuner: microtune: companycode=%04x part=%02x rev=%02x\n",
company_code,buf[0x13],buf[0x14]);
- if (company_code != 0x4d54) {
+ if (company_code != 0x4d54 &&
+ company_code != 0x3cbf) {
printk("tuner: microtune: unknown companycode\n");
return 0;
}
patch -p1 < diff-file ? oder patch -p1 tuner.c < diff-fileUnd wenn das funkt, wie wird das neue Modul gebildet ? Mittels make modules wieder ? Vielen Dank im Voraus
|
Ringding
Pilot
|
Wenn das alles ist, kannst es auch mit der Hand ausbessern (die Zeile mit dem - löschen und die 2 mit dem + stattdessen rein).
Sonst musst du entweder ins video4linux rein (find -name video4linux, wenn du nicht weißt, wo das ist) und -p1 verwenden oder in das Verzeichnis drüber und -p0 stattdessen. Und tuner.c brauchst nicht angeben.
Einfach nochmal make ohne irgendwas, das funkt beim 2.6er eh ordentlich.
|
Dumdideldum
Here to stay
|
thx, werds gleich mal probieren
|
Dumdideldum
Here to stay
|
Der Patch-Vorgang funktioniert nun, danke für die Hilfe. Jedoch haut das Make absolut nicht hin, seitenweise Fehlermeldungen ala bttv.o(.text+0xa374): In function `bttv_dma_free':
: undefined reference to `btcx_riscmem_free'
bei make bttv. Ich gebs auf
|