[[Vorlage(Archiviert)]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Packprogramme: Archive entpacken] [:sudo: Root-Rechte] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/pci.png, 48, align=left)]] Dieser Artikel dient als Ergänzung zu [:Archiv/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 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. {{{#!vorlage Experten 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. }}} [[Bild(Wiki/Icons/synaptic.png, 48, align=right)]] = Installation = Neben dem Paket: {{{#!vorlage Paketinstallation dkms }}} sind zusätzlich die im Hauptartikel unter [:Archiv/ISDN-Karten/AVM_FRITZ!Card_PCI#Vorbereitung: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). [[Bild(Wiki/Icons/settings.png, 48, align=right)]] = Konfiguration = == Ubuntu 13.04 == Für [:Raring:Ubuntu 13.04] wurde eine eigene Skript-Lösung entwickelt. Es muss nichts mehr manuell installiert werden, da das angebotene Skript alle Abhängigkeiten selbst auflöst und bei Bedarf nachinstalliert. Darüber hinaus wurde das Herunterladen des Quelltextes, das Kompilieren und das Einbinden mittels DKMS komplett in dieses Skript ausgelagert. Dieses Skript kümmert sich auch um das korrekte Anlegen von [:udev:]-Regeln und erzeugt eine passende [:Kernelmodule#Automatisches-Laden-verhindern-Blacklisting:Blacklist]. Außerdem gibt es einen Workaround für die zum Zeitpunkt der Erstellung dieses Skriptes (Ende Mai 2013) immer noch bei Ubuntu defekte Installation des Pakets [packages:capiutils:]. Kurz: es ist als "Rundum-Glücklich-Skript" gedacht. Soweit zumindest die Theorie, da es bisher nur auf sehr wenigen Systemen getestet wurde. {{{#!vorlage Hinweis Bitte helft dem Autor [http://www.belug.de/hilfe-howtos-fcpci.html Lutz Willek] {de} bei der Verbesserung des Skripts und schickt ihm die angelegte Protokolldatei zu (auch wenn alles erfolgreich geklappt hat). Diese Datei findet man als '''/var/log/fcpci_build.log'''. }}} === Neuinstallation === Diese Vorgehensweise ist nur zur Neuinstallation auf einem frisch installiertem Systems gedacht. Alle Programme schließen, da der Rechner am Ende der Installation neu gestartet wird. Hinweis für Server-Betreiber: Der Neustart lässt sich umgehen, wird aber ausdrücklich empfohlen. Ein Terminal öffnen: {{{#!vorlage Befehl wget -O install.sh http://belug.de/~lutz/pub/fcpci/install380.sh chmod +x install.sh sudo ./install.sh }}} === Update einer funktionierenden Installation === Wenn man ein bestehendes System nutzt und ein Update dieses Systems auf Ubuntu 13.04 plant, dann ist eine Installation nur des Kernelmoduls mit DKMS unter Umständen besser geeignet. Das angebotene Skript verändert bereits vorhandene Konfigurationsdateien, was bestehende Installation unbrauchbar machen könnte. In diesem Fall sollte das Skript nur als Anregung dienen, was man alles noch machen könnte. {{{#!vorlage Befehl sudo su - apt-get install -y linux-headers-generic dkms build-essential python-apport python-gi make gcc cd /usr/src/ wget https://belug.de/~lutz/pub/fcpci/fritz-fcpci-3.8.0.tar.bz2 tar xjvf fritz-fcpci-3.8.0.tar.bz2 dkms install -m fcpci -v 3.8.0 exit }}} == Ab Ubuntu 11.04 == Nach dem Entpacken [2] mit Root-Rechten [3] in den Ordner '''/usr/src/fcpci-VERSION/''' muss noch eine [:ln:symbolische Verknüpfung] entsprechend der Systemarchitektur (32-/64-Bit) im Ordner '''/usr/src/fcpci-VERSION/src/''' angelegt werden [4]: {{{#!vorlage Befehl sudo ln -s 32_fcpci-lib.o fcpci-lib.o }}} oder {{{#!vorlage Befehl 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. == Bis Ubuntu 10.10 == 1. Der Quelltext muss mit Root-Rechten in den Ordner '''/usr/src/fcpci-VERSION/''' entpackt werden. 1. je nachdem, ob man ein 32- oder 64-Bit System einsetzt, im Ordner '''/usr/src/fcpci-VERSION/src/''' eine symbolische Verknüpfung anlegen: {{{#!vorlage Befehl sudo ln -s 32_fcpci-lib.o fcpci-lib.o }}} oder {{{#!vorlage Befehl sudo ln -s 64_fcpci-lib.o fcpci-lib.o }}} 1. Die Datei '''/usr/src/fcpci-VERSION/dkms.conf''' mit Root-Rechten und folgendem Inhalt anlegen [5]: {{{ PACKAGE_NAME=fcpci PACKAGE_VERSION=VERSION ## beispielsweise 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" }}} [[Bild(Wiki/Icons/develop.png, 48, align=right)]] = Verwendung von DKMS = Das Kompilieren mittels DKMS wird mit folgenden Schritten getestet (Beispiel für Ubuntu 10.10 - bitte die Version anpassen): 1. Mit dem Befehl: {{{#!vorlage Befehl sudo dkms add -m fcpci -v 2.6.34 }}} wird das Kompilieren von `fcpci` vorbereitet. 1. Der eigentliche Kompilierungsvorgang wird mit: {{{#!vorlage Befehl sudo dkms build -m fcpci -v 2.6.34 }}} gestartet. 1. Abschließend erfolgt die Installation des Kernelmoduls: {{{#!vorlage Befehl sudo dkms install -m fcpci -v 2.6.34 }}} 1. Nur erforderlich, wenn man das Kernelmodul wieder aus DKMS entfernen möchte: {{{#!vorlage Befehl 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[mark] * dkms: running auto installation service for kernel 2.6.35-27-generic * fcpci (2.6.34)... [ OK ][/mark] ... }}} = Links = * [:Archiv/ISDN-Karten:] {Übersicht} Übersichtsartikel * [:DKMS:] - Grundlagen zum '''D'''ynamic '''K'''ernel '''M'''odule '''S'''upport #tag: Hardware, ISDN, unfreie Software, Server