ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

DKMS

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/pci.png 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.

Experten-Info:

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.

Wiki/Icons/synaptic.png

Installation

Neben dem Paket:

  • dkms

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install dkms 

sudo aptitude install 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 MODULNAME-VERSION, also praktisch /usr/src/fcpci-VERSION. Mit VERSION ist hier die Version des Quelltexts gemeint, nicht die Version des installierten Kernels (auch wenn die Versionsbezeichnung des Quelltexts daran angelehnt ist).

Wiki/Icons/settings.png

Konfiguration

Ab Ubuntu 11.04

Nach dem Entpacken [2] mit Root-Rechten [3] in den Ordner /usr/src/fcpci-VERSION/ muss noch eine symbolische Verknüpfung (soft link) entsprechend der Systemarchitektur (32-/64-Bit) im Ordner /usr/src/fcpci-VERSION/src/ angelegt werden [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-VERSION/dkms.conf ist bereits im Archiv enthalten und braucht nicht mehr gesondert erstellt zu werden.

Ubuntu 10.10

  1. Der Quelltext muss mit Root-Rechten in den Ordner /usr/src/fcpci-2.6.34/ entpackt werden.

  2. je nachdem, ob man ein 32- oder 64-Bit System einsetzt, im Ordner /usr/src/fcpci-2.6.34/src/ eine symbolische Verknüpfung anlegen:

    sudo ln -s 32_fcpci-lib.o fcpci-lib.o 

    oder

    sudo ln -s 64_fcpci-lib.o fcpci-lib.o 
  3. 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"

Ubuntu 10.04

  1. Der Quelltext muss mit Root-Rechten in den Ordner /usr/src/fcpci-2.6.31/ entpackt werden.

  2. je nachdem, ob man ein 32- oder 64-Bit System einsetzt, im Ordner /usr/src/fcpci-2.6.31/lib/ eine symbolische Verknüpfung anlegen:

    sudo ln -sf 32_fcpci-lib.o fcpci-lib.o 

    oder

    sudo ln -sf 64_fcpci-lib.o fcpci-lib.o 
  3. Die Datei /usr/src/fcpci-2.6.31/dkms.conf mit Root-Rechten und folgendem Inhalt anlegen:

    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"

Wiki/Icons/develop.png

Verwendung von DKMS

Das Kompilieren mittels DKMS wird mit folgenden Schritten getestet (Beispiel für Ubuntu 10.10; ansonsten bitte die Version anpassen):

  1. Mit dem Befehl:

    sudo dkms add -m fcpci -v 2.6.34 

    wird das Kompilieren von fcpci vorbereitet.

  2. Der eigentliche Kompilierungsvorgang wird mit:

    sudo dkms build -m fcpci -v 2.6.34 

    gestartet.

  3. Abschließend erfolgt die Installation des Kernelmoduls:

    sudo dkms install -m fcpci -v 2.6.34 
  4. Nur erforderlich, wenn man das Kernelmodul wieder aus DKMS entfernen möchte:

    sudo dkms remove -m fcpci -v 2.6.34 --all 

Ergebnis

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 ]
...

  • ISDN-Karten {Übersicht} Übersichtsartikel

  • DKMS - Grundlagen zum Dynamic Kernel Module Support

ubuntuusers.local › WikiISDN-KartenAVM FRITZ!Card PCIDKMS