Treiber mit Patch modifizieren

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Polgara
Beiträge: 22
Registriert: 12.07.2003 20:03:06

Treiber mit Patch modifizieren

Beitrag von Polgara » 04.12.2003 18:04:19

Moinsen,

kann mir irgendjemand sagen, wie ich die Patchdatei enet_patch auf den original Treiber enet.c anwende? Ich habe lediglich folgendes probiert:

Code: Alles auswählen

patch enet.c enet_patch
Das hat leider nur zu einer Fehlermeldung (malformed patch....).

Any ideas?

julien
Beiträge: 1062
Registriert: 06.05.2002 19:53:05
Wohnort: Oberhessen

Beitrag von julien » 04.12.2003 18:49:58

probiers mal mit

Code: Alles auswählen

patch -p0 enet.c < enet_patch

Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Beitrag von zyta2k » 04.12.2003 22:30:13

Nene @ Bloodi


patch [options] [originalfile [patchfile]]
but usually just
patch -pnum <patchfile


Da liegts woanders.

Wie sieht denn der Patch aus ??

Bitte mal folgendes Posten

Code: Alles auswählen

head -n 25 enet_patch

Polgara
Beiträge: 22
Registriert: 12.07.2003 20:03:06

Beitrag von Polgara » 05.12.2003 09:33:44

Hallo,

der Befehl head -n 25 enet_patch ergab folgendes

Code: Alles auswählen

--- arch/ppc/8xx_io/enet.c Fri Nov 1 14:44:05 2002
+++ arch/ppc/8xx_io/new_enet.c Sat Jan 25 19:57:50 2003
@@ -34,7 +34,6 @@
#include <linux/ioport.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
-#include <linux/pci.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/netdevice.h>
@@ -86,6 +85,14 @@
* All functions are directly controlled using I/O pins. See <asm/commproc.h>.
*/

+/* Define COPY_SMALL_FRAMES if you want to save buffer memory for small packets
+ * at a small performance hit. Note performance testing needed */
+/* #define COPY_SMALL_FRAMES 1 */
+
+#ifdef COPY_SMALL_FRAMES
+ #define RX_COPYBREAK (256-16) /* dev_alloc_skb() adds 16 bytes for internal use */
+#endif
+
/* The transmitter timeout
*/
#define TX_TIMEOUT (2*HZ)
Gruß Pol

Polgara
Beiträge: 22
Registriert: 12.07.2003 20:03:06

Beitrag von Polgara » 05.12.2003 09:51:34

Blooddrinker hat geschrieben:probiers mal mit

Code: Alles auswählen

patch -p0 enet.c < enet_patch
Moin,
das ergab leider auch nur:

Code: Alles auswählen

patching file enet.c
patch: **** malformed patch at line 4: #include <linux/ioport.h>

Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Beitrag von zyta2k » 05.12.2003 11:28:08

Patch in dein KernelSource verzeichnis verschieben (meist /usr/src/linux)

anschliessend in besagtem Verzeichnis /usr/src/linux

Code: Alles auswählen

patch -p0 < enet_patch
Man beachte die
arch/ppc/.... Zeilen

Heisst:
Der Patch geht vom Mainverzeichnis des Kernels aus, also muss er auch von dort aus ausgeführt werden ;)

PS: Probier zuerst ein

Code: Alles auswählen

patch -p0 --dry-run < enet_patch
Sollten keine Fehler auftreten, das --dry-run weglassen und schon hast du dein File gepatcht ;)

Benutzeravatar
Ponder_Stibbons
Beiträge: 378
Registriert: 10.09.2003 12:59:20
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Ponder_Stibbons » 05.12.2003 11:32:54

Gibts keine README zu dem Patch?
Gruß Ponder

Antworten