Aus EasyLinux 02/2007

Treiber installieren auf der Kommandozeile

Altes Handwerk

Für bestimmte Hardware kommen Sie nicht darum herum, selbst nach Treibern zu suchen und diese zu installieren. Dieser Artikel zeigt Ihnen die wichtigsten Schritte und erklärt, was beim Treiber-Kompilieren genau geschieht.

Der Hardwarekauf sorgt selbst bei erfahrenen Linux-Benutzern noch ab und zu für ein fahles Gefühl in der Magengegend. Sie sollten sich deshalb vor jeder Neuanschaffung im Internet schlau machen, ob es für das Gerät Linux-Treiber gibt. Sind diese vorhanden, können Sie die Treiber im Notfall von Hand installieren. Wie bei jedem Handwerk brauchen Sie dazu Zeit und Geduld.

Der Text zeigt im Folgenden am Beispiel der DVB-T-Sticks Hauppauge HVR-900 und WinTV Nova-T-Stick, wie Sie aus dem Quellcode einen Treiber erzeugen und diesen installieren. Einen allgemeinen Artikel, wie man aus Quellcode ein Programm erstellt, finden Sie in EasyLinux 09/2006 [1]. Auch wenn die einzelnen Schritte bei anderen Geräten nicht genau passen, gilt die generelle Vorgehensweise auch für andere Treiber.

Treiber finden

Linux unterstützt sehr viel Hardware ohne weiteres manuelles Zutun. Bevor Sie sich auf die Treibersuche machen, sollten Sie deshalb einfach ausprobieren, ob das Gerät wie gewünscht funktioniert. Wenn nicht, sollten Sie so viele Informationen zur Hardware wie möglich sammeln. Bei USB-Geräten hilft meistens die Ausgabe des Befehls

/usr/sbin/lsusb

Sie zeigt die Hersteller- und Geräte-ID der Hardware an. Nicht-USB-Geräte zeigt die Ausgabe von

/sbin/lspci

an. Mit diesen Informationen finden Sie im Internet ziemlich schnell Informationen zu eventuellen Linux-Treibern. Eine in jeder Situation passende Herangehensweise für die Treibersuche gibt es nicht, in der Regel erzielen Sie aber bei der Suchmaschine Google mit den Stichworten linux ''Gerät'' ''ID'' die besten Treffer, wobei Sie “Gerät“ durch den Hardwarenamen und “ID“ durch die Hersteller- oder Geräte-ID aus der Ausgabe von lspci beziehungsweise lsusb ersetzen müssen. Unterstützung bei der Treibersuche bieten Ihnen auch die EasyLinux-Mailinglisten [2].

Im Unterschied zu Windows erkennt Linux viele Geräte auch dann, wenn dafür keine Treiber installiert sind. Lassen Sie sich dadurch nicht verwirren. Ob Linux Hardware unterstützt, erkennen Sie meistens an den Systemmeldungen während des Anschließens. Um diese einzusehen, öffnen Sie über [Alt]+ [F2] und den Befehl kdesu konsole ein Terminalfenster mit Root-Rechten und geben danach folgenden Befehl ein:

tail -f /var/log/messages

Bei Geräten, die mit Linux zusammenarbeiten, erscheinen dann im Terminalfenster allerlei Meldungen. Ändert sich an der Ausgabe nichts, hat das System die neue Hardware nicht erkannt. Auch die Meldungen in der Datei /var/log/messages bieten einen guten Ansatz für die Treibersuche im Internet.

Entwicklerwerkzeuge

Bevor Sie einen Treiber aus dem Quellcode übersetzen können, müssen Sie auf Ihrem Linux-System diverse Entwicklerwerkzeuge installieren. Dazu gehören zum Beispiel die Kernelquellen oder zumindest Teile davon, der C-Compiler gcc und das Kompiliertool make. Benutzen Sie Suse Linux oder OpenSuse, starten Sie zur Installation dieser Werkzeuge YaST über [Alt]+ [F2] und den Befehl kdesu yast2. Wählen Sie in YaST das Modul Software / Software installieren oder löschen und stellen Sie den Filter auf Selektionen (bis Suse Linux 10.1) bzw. Schemata (ab OpenSuse 10.2). Markieren sie nun den Eintrag Linux-Kernel-Entwicklung (Suse Linux 10.1) bzw. Kernel-Entwicklung (OpenSuse 10.2) zur Installation und klicken Sie auf Übernehmen. Für die DVB-Treiber benötigen Sie zudem das Paket Mercurial. Sie finden es auf der Heft-DVD.

Unter Ubuntu installieren Sie über die Paketverwaltung folgende Pakete:

  • build-essential: Dieses Paket enthält alle wichtigen Werkzeuge, die Sie brauchen, um aus dem Quellcode ein lauffähiges Programm zu bilden.
  • linux-headers-Versionsnummer: Die so genannten Header-Dateien des Kernels enthalten wichtige Informationen zum benutzten Systemkern. Achten Sie darauf, dass die Versionsnummer mit der Version des benutzten Kernels übereinstimmt. Die passende Nummer gibt Ihnen der Befehl uname -r aus.
  • mercurial: Dieses Paket benötigen Sie in der Regel nicht. Die DVB-T-Module stellen eine Ausnahme dar, da die Entwickler den Programmcode mit dem Mercurial-Tool verwalten.

Auf der Kommandozeile erledigen Sie die Installation dieser Pakete über den Befehl

sudo apt-get install linux-headers-$(uname -r) build-essential mercurial

Benutzen Sie Mandriva Linux 2007, gehen Sie folgendermaßen vor:

  1. Starten Sie die Paketverwaltung über System / Einstellungen / Paketverwaltung / Install, Remove & Update Software.
  2. Wählen Sie den Menüpunkt Betrachten installierbarer Software und installieren von Softwarepaketen.
  3. Finden Sie über die Suchfunktion das Paket kernel-source-stripped und markieren Sie dieses zur Installation.
  4. Klicken Sie auf Anwenden und beantworten Sie Fragen zu Abhängigkeiten jeweils mit Ja.

Mandriva Linux installiert so die Kernelquellen und die wichtigsten Entwicklerwerkzeuge.

Quelltext herunterladen

Sind die Entwicklertools installiert, benötigen Sie den Quelltext des Treibers. Für einige DVB-T-Geräte bringen aktuelle Distributionen bereits Treiber mit, für relativ neue Geräte laden Sie sich den Sourcecode aber am besten neu herunter. Die meisten Softwareprojekte bieten davon täglich aktualisierte Versionen zum Download an. Diese heißen „Daily Snapshot“ oder „CVS-Snapshot“. Für die DVB-Treiber gibt es keinen solchen Code, Sie müssen die Quellen direkt aus dem Versionskontrollsystem des Projekts beziehen. Dazu geben Sie folgenden Befehl ein:

EasyLinux 02/2007 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: