Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Dieser Artikel dient als Ergänzung zu ISDN-Karten/AVM FRITZ!Card PCI. Ab Ubuntu 8.10 Intrepid Ibex muss das zum erfolgreichen Betrieb notwendige Kernelmodul fcpci selbst aus den Quellen übersetzt werden. Dieser Vorgang ist in im genannten Artikel ausführlich beschrieben.
Prinzipiell muss das Kompilieren des Kernelmoduls bei jedem Kernelupdate (manuell) wiederholt werden. Einen Ausweg bietet die Verwendung von DKMS. Über diesem Weg wird das Kernelmodul – falls erforderlich – automatisch neu kompiliert.
Empfehlenswert ist zuerst das manuelle Übersetzen (wie im Hauptartikel beschrieben), um das reibungslose Kompilieren und die Nutzung des Kernelmoduls zu testen. Wenn das soweit funktioniert, kann man sich mit der im folgenden beschriebenen Lösung beschäftigen.
Neben dem Paket:
dkms
sind zusätzlich die im Hauptartikel unter Vorbereitung erwähnten Pakete erforderlich [1].
Der Quelltext wird in einen Ordner unterhalb von /usr/src/ kopiert. Die Benennung des Unterordners folgt dabei immer dem Schema <modulename>-<version>, also praktisch /usr/src/fcpci-<Version>. Mit <Version> ist hier die Version des Quelltextes gemeint, nicht die Version des installierten Kernels (auch wenn diese hier daran angelehnt ist).
Der Quelltext muss mit Root-Rechten [2] in den Ordner /usr/src/fcpci-2.6.34/ entpackt [3] werden.
je nachdem, ob man ein 32- oder 64-Bit System einsetzt, im Ordner /usr/src/fcpci-2.6.34/src/ einen entsprechenden Link anlegen [4]:
sudo ln -s 32_fcpci-lib.o fcpci-lib.o
oder
sudo ln -s 64_fcpci-lib.o fcpci-lib.o
Die Datei /usr/src/fcpci-2.6.34/dkms.conf mit Root-Rechten und folgendem Inhalt anlegen [5]:
PACKAGE_NAME=fcpci PACKAGE_VERSION=2.6.34 DEST_MODULE_LOCATION=/extra BUILT_MODULE_NAME=fcpci BUILT_MODULE_LOCATION=src/ MAKE="'make' -C src/ all" CLEAN="'make' -C src/ clean" AUTOINSTALL="yes"
Der Quelltext muss mit Root-Rechten [2] in den Ordner /usr/src/fcpci-2.6.31/ entpackt [3] werden.
je nachdem, ob man ein 32- oder 64-Bit System einsetzt, im Ordner /usr/src/fcpci-2.6.31/lib/ einen entsprechenden Link anlegen [4]:
sudo ln -sf 32_fcpci-lib.o fcpci-lib.o
oder
sudo ln -sf 64_fcpci-lib.o fcpci-lib.o
Die Datei /usr/src/fcpci-2.6.31/dkms.conf mit Root-Rechten und folgendem Inhalt anlegen [5]:
PACKAGE_NAME=fcpci PACKAGE_VERSION=2.6.31 DEST_MODULE_LOCATION=/extra BUILT_MODULE_NAME=fcpci BUILT_MODULE_LOCATION=fcpci_src/ MAKE="'make' -C fcpci_src/ all" CLEAN="'make' -C fcpci_src/ clean" AUTOINSTALL="yes"
Das Kompilieren mittels DKMS wird mit folgenden Schritten getestet (Beispiel für Ubuntu 10.10; ansonsten bitte die Version anpassen):
Mit dem Befehl:
sudo dkms add -m fcpci -v 2.6.34
wird das Kompilieren von fcpci vorbereitet.
Der eigentliche Kompilierungsvorgang wird mit:
sudo dkms build -m fcpci -v 2.6.34
gestartet.
Abschließend erfolgt die Installation des Kernelmoduls:
sudo dkms install -m fcpci -v 2.6.34
Nur erforderlich, wenn man das Kernelmodul wieder aus DKMS entfernen möchte:
sudo dkms remove -m fcpci -v 2.6.34 --all
Zukünftig wird nun bei jedem Kernel-Update das Kernelmodul fcpci automatisch neu kompiliert. Beispiel:
... Richte linux-image-generic ein (2.6.35.27.35) ... Richte linux-generic ein (2.6.35.27.35) ... Richte linux-headers-2.6.35-27 ein (2.6.35-27.48) ... Richte linux-headers-2.6.35-27-generic ein (2.6.35-27.48) ... Examining /etc/kernel/header_postinst.d. run-parts: executing /etc/kernel/header_postinst.d/dkms 2.6.35-27-generic /boot/vmlinuz-2.6.35-27-generic * dkms: running auto installation service for kernel 2.6.35-27-generic * fcpci (2.6.34)... [ OK ] ...
Diese Revision wurde am 11. April 2012 02:56 von Kuttel Daddeldu erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen:
Hardware, unfreie Software, ISDN
2004 – 2012 ubuntuusers.de • Einige Rechte vorbehalten