[[Vorlage(archiviert)]]

{{{#!vorlage Wissen
[:Pakete installieren: Installation von Programmen]
[:Paketinstallation_DEB: Ein einzelnes Paket installieren]
[:Terminal: Ein Terminal öffnen]
[:sudo: Root-Rechte]
[:Editor: Eine Datei mit einem Editor erstellen]
}}}
[[Inhaltsverzeichnis(1)]]

Die Übersetzung (Kompilierung) des von manchen älteren Notebooks zum Ein-/Auschalten des WLAN-Adapters benötigten Kernelmoduls [:Archiv/Acer_Hotkeys:] (`acerhk`) muss bei jedem Kernelupdate wiederholt werden. Die folgende Anleitung soll dabei helfen, diesen Vorgang mit Hilfe von [:DKMS:] zu automatisieren.

Damit sollte auch die Situation, dass nach einem Kernelupdate kein WLAN mehr zur Verfügung steht, der Vergangenheit angehören.

{{{#!vorlage Hinweis
Der Quelltext des Kernelmoduls ist ausschließlich für 32-bit-Systeme gedacht. Benutzer eines 64-bit-Systems müssen andere Wege gehen (siehe [:Archiv/Acer_Hotkeys:Hauptartikel]). Hinweise zur Konfiguration und Nutzung des Kernelmoduls sind ebenfalls dem Hauptartikel zu entnehmen.
}}}

= Installation =
Neben dem Paket für DKMS [1]

{{{#!vorlage Paketinstallation
dkms
}}}
werden weitere Komponenten benötigt. Diese sind evtl. schon installiert, wenn man der im Hauptartikel genannten Anleitung gefolgt ist. Hier nochmal der Vollständigkeit halber die Liste der notwendigen Pakete:

{{{#!vorlage Paketinstallation
build-essential
module-assistant 
debhelper
}}}
Außerdem wird das Paket '''linux-headers''' passend zur eigenen Kernel-Version und -Architektur (`-generic`, `-386`, `-generic-pae` usw.) benötigt. Dieses Paket lässt sich über den folgenden Befehl installieren:

{{{#!vorlage Befehl
sudo apt-get install linux-headers-$(uname -r)
}}}

== Quelltext ==
Dann wird noch ein an Ubuntu angepasster Quelltext des Kernelmoduls benötigt. Dieser ist prinzipiell zwar bis einschließlich Ubuntu 11.10 in den offiziellen Paketquellen vorhanden, aber fehlerhaft und damit unbrauchbar. Daher muss man auf ein "Personal Package Archiv" (PPA) ausweichen. Ein fehlerbereinigtes Quelltextpaket kann manuell heruntergeladen und installiert werden [2] ('''XX''' steht für die jeweils aktuelle Version):

 * ab [:Raring:Ubuntu 13.04]: [launchpad:~gruenertee/+archive/+packages:acerhk-source_0.5.35-XX-2~ubuntuVERSION_all.deb] {dl}
 * bis [:Quantal:Ubuntu 12.10]: [launchpad:~cogito-16/+archive/ppa/+packages:acerhk-source_0.5.35-XX_all.deb] {dl}

[[Vorlage(Fremd, Paket, "")]]

{{{#!vorlage Experten
Das [:Paketquellen_freischalten/PPA:Einbinden] des PPAs in die eigenen Paketquellen – wie sonst üblich – ist ausnahmsweise nicht erforderlich (würde aber auch nicht schaden).
}}}

= Vorbereitung =
Das Paket aus dem PPA legt den benötigten Quelltext als '''/usr/src/acerhk.tar.bz2''' ab. Diese Archivdatei muss nun zuerst entpackt werden [3][4]:

{{{#!vorlage Befehl
cd /usr/src/
sudo tar -xjf acerhk.tar.bz2
}}}
Dann benennt man den entstandenen Ordner '''/usr/src/modules''' in '''/usr/src/acerhk-0.5.35''' um (der ab Ubuntu 13.04 notwendige Quelltext erstellt den Ordner '''/usr/src/modules/acerhk'''):

{{{#!vorlage Befehl
sudo mv modules acerhk-0.5.35
}}}
Nun fehlt noch eine Datei '''/usr/src/acerhk-0.5.35/dkms.conf'''. Diese wird mit einem Editor [5] und Root-Rechten erstellt:

{{{
PACKAGE_NAME=acerhk
PACKAGE_VERSION=0.5.35

DEST_MODULE_LOCATION=/extra
BUILT_MODULE_NAME=acerhk
BUILT_MODULE_LOCATION=acerhk/

MAKE="'make' -C acerhk/ all"
CLEAN="'make' -C acerhk/ clean"
AUTOINSTALL="yes"
}}}

= Durchführung =
Das Kompilieren mittels DKMS wird mit folgenden Schritten getestet:

 1. Mit dem Befehl: {{{#!vorlage Befehl
sudo dkms add -m acerhk -v 0.5.35
}}} wird das Kompilieren von `acerhk` vorbereitet.
 1. Der eigentliche Kompilierungsvorgang wird mit: {{{#!vorlage Befehl
sudo dkms build -m acerhk -v 0.5.35
}}} gestartet.
 1. Abschließend erfolgt die Installation des Kernelmoduls: {{{#!vorlage Befehl
sudo dkms install -m acerhk -v 0.5.35
}}} Zukünftig wird nun bei jedem Kernel-Update das Kernelmodul `acerhk` automatisch neu kompiliert.
 1. Nur erforderlich, falls man die automatische Kompilierung wieder entfernen möchte: {{{#!vorlage Befehl
sudo dkms remove -m acerhk -v 0.5.35 --all
}}}

= Links =
 * [:Archiv/Acer_Hotkeys:] - Hauptartikel
 * [:DKMS:] - Kernelmodule automatisch erstellen

#tag: WLAN, Hardware, System, nach-trusty-ins-archiv