Installieren eines zusätzlichen Kernelmodules unter SuSE Linux mit Kernel 2.6.x
Zusätzliche Kernelmodule sind z.B. zusätzliche Netzwerkkartentreiber, Grafiktreiber von nvidia und ATI oder die VMware Kernelmodule die nicht Bestandteil des Standardkernels sind. Ab SuSE 10.1 zählen da auch die Treiber für AVM Karten dazu. Kernelmodule müssen immer zum laufenden Kernel kompiliert werden. Und bevor man diese kompilieren kann müssen einige Vorbereitungen getroffen werden.
Kernelquellen und Entwicklertools installieren
Kernelquellen installieren (Paket kernel-source).
- Am einfachsten yast2 starten,
- Software - Software installieren oder löschen,
- im Feld 'Suche' kernel eingeben und dann auch 'Suche' klicken.
- Im rechten Fenster einen Haken vor 'kernel-source' machen.
gcc, make und sonstige Entwicklertools installieren.
- Am einfachsten yast2 starten,
- Software - Software installieren oder löschen,
- unter Filter 'Selektionen' auswählen,
- Haken vor 'C/C++ Compiler und Werkzeuge' machen,
- Übernehmen
Sicherstellen daß Kernelversionen zueinander passen
Die Version der Kernelquellen und des laufenden Kernels muß übereinstimmen.
Überprüfen kann man die Übereinstimmung der laufenden und installierten Kernelversionen mit:
(in einem Konsolenfenster eingeben)
ergibt z.B: 2.6.8-24.18-default
ergibt z.B: kernel-source-2.6.8-24.18
ergibt z.B: kernel-default-2.6.8-24.18
Auf Systemen mit Multiprozessor oder Hyperthreading ist statt kernel-default üblicherweise kernel-smp installiert.
Alternativ kann man auch
eingeben. Das listet alle installierten RPMs auf und zeigt davon die an bei denen im Namen 'kernel' vorkommt.
ergibt z.B:
kernel-xen-nongpl-2.6.11.4-21.9
kernel-smp-nongpl-2.6.11.4-21.9
kernel-source-2.6.11.4-21.9
kernel-xen-2.6.11.4-21.9
kernel-smp-2.6.11.4-21.9
Falls man nur mit SuSE Kerneln arbeitet kann man YOU (Yast Online Update) laufen lassen damit die Kernelquellen zum laufenden Kernel passen (der ja vermutlich schon einmal von YOU aktualisiert wurde).
Vorbereitende Arbeiten für die Modulkompilierung
/usr/src/linux ist ein Link auf das Verzeichnis der Kernelquellen.
(in einem Konsolenfenster eingeben)
Die letzten drei Schritte erzeugen eine Datei mit der Kernelkonfiguration und erstellen dann noch ein paar Dateien die möglicherweise bei der Kompilierung des zusätzlichen Kernelmodules benötigt werden.
'make mrproper' löscht alle ggf von einer früheren Kernelbausitzung erstellten temporären Dateien (auch die von der Kernelkonfiguration)
'make cloneconfig' übernimmt die Kernelkonfiguration aus /proc/config.gz nach /usr/src/linux. Entspricht 'zcat /proc/config.gz > .config'
'make prepare-all' äh nunja bereitet alles vor
Zusätzliches Kernelmodul entsprechend der dem Modul beiliegenden Anleitung installieren
Hinweis: Wenn man nach der Installation eines zusätzlichen Kernelmodules durch manuelles Selbstkompilieren einen Kernelupdate z.B. durch YOU durchführt dann wird das selbstkompilierte Modul i.A. NICHT aktualisiert. Beim nächsten Reboot (den man nach Kernelupdate durchführen sollte) wird es dann nicht geladen. Das bedeutet daß man es dann nochmal installieren darf.
Zusätzliche Kernelmodule sind z.B. zusätzliche Netzwerkkartentreiber, Grafiktreiber von nvidia und ATI oder die VMware Kernelmodule die nicht Bestandteil des Standardkernels sind. Ab SuSE 10.1 zählen da auch die Treiber für AVM Karten dazu. Kernelmodule müssen immer zum laufenden Kernel kompiliert werden. Und bevor man diese kompilieren kann müssen einige Vorbereitungen getroffen werden.
Kernelquellen und Entwicklertools installieren
Kernelquellen installieren (Paket kernel-source).
- Am einfachsten yast2 starten,
- Software - Software installieren oder löschen,
- im Feld 'Suche' kernel eingeben und dann auch 'Suche' klicken.
- Im rechten Fenster einen Haken vor 'kernel-source' machen.
gcc, make und sonstige Entwicklertools installieren.
- Am einfachsten yast2 starten,
- Software - Software installieren oder löschen,
- unter Filter 'Selektionen' auswählen,
- Haken vor 'C/C++ Compiler und Werkzeuge' machen,
- Übernehmen
Sicherstellen daß Kernelversionen zueinander passen
Die Version der Kernelquellen und des laufenden Kernels muß übereinstimmen.
Überprüfen kann man die Übereinstimmung der laufenden und installierten Kernelversionen mit:
(in einem Konsolenfenster eingeben)
Code:
uname -r
Code:
rpm -q kernel-source
Code:
rpm -q kernel-default
Auf Systemen mit Multiprozessor oder Hyperthreading ist statt kernel-default üblicherweise kernel-smp installiert.
Alternativ kann man auch
Code:
rpm -qa | grep kernel
ergibt z.B:
kernel-xen-nongpl-2.6.11.4-21.9
kernel-smp-nongpl-2.6.11.4-21.9
kernel-source-2.6.11.4-21.9
kernel-xen-2.6.11.4-21.9
kernel-smp-2.6.11.4-21.9
Falls man nur mit SuSE Kerneln arbeitet kann man YOU (Yast Online Update) laufen lassen damit die Kernelquellen zum laufenden Kernel passen (der ja vermutlich schon einmal von YOU aktualisiert wurde).
Vorbereitende Arbeiten für die Modulkompilierung
/usr/src/linux ist ein Link auf das Verzeichnis der Kernelquellen.
(in einem Konsolenfenster eingeben)
Code:
cd /usr/src/linux
make mrproper
make cloneconfig
make prepare-all
Die letzten drei Schritte erzeugen eine Datei mit der Kernelkonfiguration und erstellen dann noch ein paar Dateien die möglicherweise bei der Kompilierung des zusätzlichen Kernelmodules benötigt werden.
'make mrproper' löscht alle ggf von einer früheren Kernelbausitzung erstellten temporären Dateien (auch die von der Kernelkonfiguration)
'make cloneconfig' übernimmt die Kernelkonfiguration aus /proc/config.gz nach /usr/src/linux. Entspricht 'zcat /proc/config.gz > .config'
'make prepare-all' äh nunja bereitet alles vor
Zusätzliches Kernelmodul entsprechend der dem Modul beiliegenden Anleitung installieren
Hinweis: Wenn man nach der Installation eines zusätzlichen Kernelmodules durch manuelles Selbstkompilieren einen Kernelupdate z.B. durch YOU durchführt dann wird das selbstkompilierte Modul i.A. NICHT aktualisiert. Beim nächsten Reboot (den man nach Kernelupdate durchführen sollte) wird es dann nicht geladen. Das bedeutet daß man es dann nochmal installieren darf.