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
abgebrochen werden, muss vor dem Installieren die folgende Umgebungsvariable gesetzt werden: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.
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.Code:export IGNORE_CC_MISMATCH=1
Viel Erfolg!
Gruß Korn
P. S. Wer einen Fehler entdeckt oder wichtige Anmerkungen machen möchte, kann/soll diese an dieses Posting anfügen.
Lesezeichen