Treiber kompilieren: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(Die Seite wurde neu angelegt: „Bei dem '''Intel Compute Stick''' handelt es sich um eine Serie von Miniaturcomputern der Firma Intel. == WLAN == Um auf Geräten der ersten Serie den WLAN-Ad…“)
 
Zeile 30: Zeile 30:
if [ -z "${1}" ]; then
if [ -z "${1}" ]; then
     KSUFFIX="-ARCH"
     KSUFFIX="-ARCH"
    PKGSUFFIX=""
else
else
     KSUFFIX="-${1}"
     KSUFFIX="-${1}"
    PKGSUFFIX="${PKGSUFFIX}"
fi
fi


cd /usr/src/rtl8723bs || exit 1
cd /usr/src/rtl8723bs || exit 1
#git pull
#git pull
make KVER=$(pacman -Q linux${1} | cut -d " " -f 2)${KSUFFIX} || exit 2
make KVER=$(pacman -Q linux${PKGSUFFIX} | cut -d " " -f 2)${KSUFFIX} || exit 2
make install || exit 3
make install || exit 3
</pre>
</pre>

Version vom 10. Februar 2017, 14:40 Uhr

Bei dem Intel Compute Stick handelt es sich um eine Serie von Miniaturcomputern der Firma Intel.

WLAN

Um auf Geräten der ersten Serie den WLAN-Adapter in Betrieb nehmen zu können, muss der zugehörige Treiber selbst kompiliert werden.

Bei dem Treiber handelt es sich um den rtl8723bs, welcher von GitHub bezogen werden kann.

Treiber bauen

Als Voraussetzung muss das Header-Paket für den aktuell laufenden Kernel installiert sein.

Dies ist linux-headers für den linux Kernel oder linux-lts-headers für den linux-lts Kernel.

cd /usr/src
git clone https://github.com/hadess/rtl8723bs
cd rtl8723bs
make
make install

Treiber automatisch bauen lassen

Um den Treiber für den aktuellen Kernel nach jedem Upgrade neu bauen zu lassen, empfiehlt es sich, ALPM Hooks zu verwenden.

Im folgenden wird davon ausgegangen, dass sich ein geklontes Source-Code Repository unter /usr/src/rtl8723bs befindet.

Build Skript anlegen

Um den Kompilierungsprozess für den ALPM Hook zu automatisieren, legen wir das Shell-Skript /usr/local/bin/mkrtl8723bs.sh an:

#! /bin/bash

if [ -z "${1}" ]; then
    KSUFFIX="-ARCH"
    PKGSUFFIX=""
else
    KSUFFIX="-${1}"
    PKGSUFFIX="${PKGSUFFIX}"
fi

cd /usr/src/rtl8723bs || exit 1
#git pull
make KVER=$(pacman -Q linux${PKGSUFFIX} | cut -d " " -f 2)${KSUFFIX} || exit 2
make install || exit 3

und machen es danach ausführbar

chmod +x /usr/local/bin/mkrtl8723bs.sh

Falls das Git-Repository vor der Kompilierung automatisch aktualisiert werden soll, kann die Zeile #git pull einfach einkommentiert werden.

ALPM Hook anlegen

Nun legen wir den entsprechenden ALPM Hook in der Datei /usr/share/libalpm/hooks/rtl8723bs.hook an.

[Trigger]
Type = Package
Operation = Install
Operation = Upgrade
Target = linux

[Action]
Description = Updating rtl8723bs WIFI driver
When = PostTransaction
Exec = /usr/local/bin/mkrtl8723bs.sh

Beziehungsweise für den LTS Kernel in der Datei /usr/share/libalpm/hooks/rtl8723bs-lts.hook an.

[Trigger]
Type = Package
Operation = Install
Operation = Upgrade
Target = linux-lts

[Action]
Description = Updating rtl8723bs WIFI driver
When = PostTransaction
Exec = /usr/local/bin/mkrtl8723bs.sh lts

Beim Upgrade der entsprechenden Kernel sollte das Modul nun automatisch gebaut werden.