# FAQ Tips > Tipps und Tricks >  Der SuSE Kernel 2.4.21-4 und die nVidia Treiber

## Korn

*Der SuSE-Kernel 2.4.21-4 und die nVidia-Treiber*



*Problem:* Nach einem Update des SuSE-Kernels auf Version 2.4.21-4 lassen sich die nVidia-Treiber nicht mehr installieren.


*Ursache*: Ein durch den NVIDIA Treiber genutztes Makro wurde im SuSE 2.4.21-4 Kernel derart verändert, daß es sich in der gewünschten Form nicht mehr länger nutzen läßt.


*Lösung*:

Grundsätzlich bestehen zwei mögliche Lösungsansätze: 

- Anpassen der Kernel-Quellen 
- Anpassen der nVidia-Treiber

In diesem Tutorial wird die Lösung des Problems durch das patchen der nVidia-Treiber beschrieben.


*1.* Aktuelle Sourcen des SuSE-Kernels downloaden: *SuSE-Kernel-Quellen*


*2.* Die alten Quellen, sofern vorhanden, löschen: *rpm e kernel-source*

Dabei ist darauf zu achten, dass das Verzeichnis */usr/src* anschließend komplett leer ist. Sollten in diesem Verzeichnis noch Dateien oder Unterverzeichnisse vorhanden sein, sollten diese gelöscht werden. Wer weiß was er tut, kann diese selbstverständlich auch behalten.


*3.* Installieren der neuen Kernel-Quellen: *rpm -i kernel-source-2.4.21-4.i586.rpm*


*4.* Vorbereiten der Kernel-Quellen für die Installation der nVidia-Treiber:

a) in das Verzeichnis */usr/src/linux* wechseln
b) *make mrproper*
c) *cp /boot/vmlinuz-kernel-.config /usr/src/linux/.config*
d) *cp /boot/vmlinuz-kernel-.version.h /usr/src/linux/include/linux/version.h*
e) *cp /boot/vmlinuz-kernel-.autoconf.h /usr/src/linux/include/linux/autoconf.h*
f) *make cloneconfig*
g) *make dep*


*5.* Treiber downloaden:

Dieses Beispiel bezieht sich auf die derzeit aktuellen nVidia-Treiber (Version: 1.0-4496, Release-Date: 28. Juli 2003). Die Treiber können hier herunter geladen werden: *IA32*


*6.* Treiber entpacken:

*sh NVIDIA-Linux-x86-1.0-4496-pkg2.run -extract-only*

Es wird ein Verzeichnis mit dem Namen *NVIDIA-Linux-x86-1.0-4496-pkg2* erzeugt.


*7.* Patches:

Für das Patchen stehen zwei verschiedene Patches bereit. Welcher Patch verwendet wird ist letztendlich egal.


Ein Patch wurde freundlicherweise von einem unserer Mitglieder zur Verfügung gestellt. Der Patch von zander kann hier herunter geladen werden: *"zander-patch"*


Ein weiterer Patch kann von www.minion.de bezogen werden: * minion-patch*


*8.* Treiber patchen:

a) zander-patch:

-	In das Verzeichnis */NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv* wechseln
-	Patch anwenden: *patch p1 < /Pfad/zur/Patch-Datei/nvidia_kernel-1.0-4363-vr.diff.txt*

b) minion-patch:

-	In das Verzeichnis */NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv* wechseln
-	Patch anwenden: *patch p1 < /Pfad/zur/Patch-Datei/NVIDIA_kernel-1.0-4496-2.5.diff*
-	Symbolischen Link setzten: *ln sf Makefile.kbuild Makefile*


*9.* Installation des Treibers:

a) Runlevel wechseln: *init 3*

b) Treiber installieren: *make install*


*Hinweis 1:* Wir befinden uns noch immer im Verzeichnis: /NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv

*Hinweis 2:* Sollte der Vorgang mit der Fehlermeldung




> _Auszug aus nvidia-installer.log:_
> 
> You appear to be compiling the NVIDIA kernel module with a compiler different from the one that was used to compile the running kernel.


abgebrochen werden, muss vor dem Installieren die folgende Umgebungsvariable gesetzt werden:



```
export IGNORE_CC_MISMATCH=1
```

*10.* Falls nicht bereits bei einer früheren Treiber-Installation geschehen, sollten jetzt noch die obligatorischen Anpassungen in der XF86Config vorgenommen werden. Das  *README* von nVidia gibt zu dieser Thematik eine sehr gute Hilfestellung. Die hiesige  *Suchfunktion* und die *SuSE-Suppordatenbank* geben ebenfalls wichtige Hinweise zu diesem Thema.


Viel Erfolg!


Gruß Korn


P. S. Wer einen Fehler entdeckt oder wichtige Anmerkungen machen möchte, kann/soll diese an dieses Posting anfügen.

----------

