F.5 Hinzufügen oder Aktualisieren von LAN-Treibern

Bei der Entwicklung und Herausgabe neuer LAN-Adapter werden von den LAN-Karten-Herstellern in der Regel ebenfalls neue oder aktualisierte Treiber herausgegeben. Manchmal funktioniert die neue LAN-Karte mit einem älteren Treiber korrekt und manchmal erkennt der ältere Treiber die neue LAN-Karte nicht und wird deshalb nicht geladen. Gelegentlich lädt der ältere Treiber, aber die LAN-Karte weist schwere Performance-Probleme auf. Um die volle Leistungsfähigkeit einer neuen LAN-Karte zu sichern, sollten Sie den neuen Treiber laden.

Die folgenden Abschnitte erläutern, wie Treiber bezogen bzw. kompiliert werden:

Informationen, wie Sie Ihre Treiber mit bestimmten Parameter laden, erhalten Sie in Abschnitt F.5.3, Laden von Treibern mit Parametern.

F.5.1 Beziehen von Treibern

Neue LAN-Treiber sollten vom Hersteller bezogen werden. Die Treiber der meisten LAN-Karten-Hersteller können kostenlos von der jeweiligen Website heruntergeladen werden. Einige Treiber stehen bei www.scyld.com/network zur Verfügung und der Quellcode für den Broadcom BCM5700-Treiber kann von http:/www.broadcom.com/drivers/downloaddrivers.php heruntergeladen werden.

Sollte ein Hersteller einen Binärtreiber anbieten, der speziell für die von ZENworks verwendete Kernel-Version kompiliert wurde, sollten Sie sich diesen Treiber beschaffen und mit einer der Aktualisierungsmethoden für das Hinzufügen von Treibern verwenden. ZENworks 7 basiert auf SLES 9 SP2, Kernel-Version 2.6.5-7.191. Wenn der Treiber nicht für diese spezielle Version geeignet ist, müssen Sie den Quellcode bereitstellen und für diese Version kompilieren. Weitere Informationen finden Sie unter Abschnitt F.5.2, Erstellen von Treibern.

F.5.2 Erstellen von Treibern

Nahezu alle Linux-Treiber werden als Quellcode ausgeliefert und müssen vor ihrer Verwendung kompiliert werden. Um das Treibermodul zu erstellen, folgen Sie den Anweisungen des Herstellers, die im Lieferumfang des neuen Treibers enthalten sind. Viele Treiber können so erstellt werden, dass sie in den Kernel integriert werden können. Es wird jedoch empfohlen, LAN-Treiber als externe Kernel-Module zu erstellen.

Beim Erstellen Ihrer LAN-Treiber sollten Sie sicherstellen, dass Ihr Build-Computer den gleichen Kernel wie die Imaging-Umgebung verwendet. Wenn Ihr LAN-Treiber in Ihrer Imaging-Umgebung nicht geladen werden kann, stimmen in der Regel Ihre Build-Umgebung und Ihre Imaging-Umgebung nicht überein.

Sie können die aktuelle Kernel-Version Ihrer Linux-Umgebung mit dem folgenden Befehl ermitteln:

uname -r

Sie müssen ggf. das Ergebnis aus dem Befehl uname ändern, damit die Kernel-Versionen übereinstimmen. Weitere Informationen finden Sie unter Abschnitt F.6, Befehl Uname verwenden.

Weitere Informationen zum Erstellen von Treibern erhalten Sie hier::

Linux-Quellcode-Baum erstellen

Um ein Modul zu kompilieren, benötigen Sie den Linux-Quellcodebaum, in dem die dem ZENworks-Kernel entsprechende Konfiguration enthalten ist. Zur Bereitstellung des erforderlichen Quellcodes laden Sie die Datei mit dem Linux-Quellcode zenimgk2657244.tgz herunter.

So verwenden Sie den Linux-Quellcodebaum:

  1. Dekomprimieren Sie die Datei und installieren Sie den Quellcodebaum im Verzeichnis /usr/src.

    Die tar-Daei erstellt z. B. die folgenden Verzeichnisse:

    /usr/src/linux-2.6.5-7.244
    /usr/src/linux-2.6.5-7.244-obj
    
  2. Sie können die ordnungsgemäße Konfigurationsdatei von den folgenden Orten abrufen:

  3. Kopieren Sie diese Konfigurationsdatei in das in Schritt 1 erstellte Verzeichnis.

    Zum Beispiel: /usr/src/linux-2.6.5-7.244.

  4. So erstellen Sie einen Link zum Quellcodebaum:

    1. Wechseln Sie in das Verzeichnis /usr/src, indem Sie Folgendes eingeben:

      cd /usr/src
      
    2. Wenn sich in dem Verzeichnis ein Linux-Softlink befindet, löschen Sie ihn.

    3. Erstellen Sie den Linux-Softlink, beispielsweise:

      ln -s linux-2.6.5-7.244 linux
      

Sie haben nun den Linux-Kernel-Ursprungsbaum und den Softlink für die Kompilierung des Moduls vorbereitet. Fahren Sie mit Modul kompilieren fort.

Modul kompilieren

Führen Sie folgende Schritte durch, um das Modul manuell zu kompilieren:

  1. Installieren Sie den Ursprung.

    Folgen Sie zur Installation des Quellcodes den Anleitungen des Herstellers.

    Für gewöhnlich befindet sich der Modulquellcode in einem Verzeichnis unter /usr/src. Modul-Ursprungsdateien werden in der Regel als eine mit gzip komprimierte Tar-Datei ausgeführt (.tar.gz or .tgz). Die Datei kann ebenfalls als eine mit bzip komprimierte Datei (.bz2) ausgeführt sein.

  2. Führen Sie Folgendes durch, um den Ursprung zu kompilieren:

    1. Ändern Sie die Verzeichnisse auf den Ursprung.

    2. Wenn Sie uname geändert haben, um zur korrekten Kernel-Version zu wechseln, erstellen Sie einen make-Befehl.

  3. Wenn Sie Ihr Modul für ZENworks kompiliert haben, wählen Sie die erzeugte .ko-Moduldatei aus (stellen Sie sicher, dass Sie den richtigen Modulnamen und nicht eine .ko Arbeitsdatei ausgewählt haben) und installieren Sie diese mit der Treiberaktualisierungsmethode oder stellen Sie sie in das initrd-Dateisystem.

F.5.3 Laden von Treibern mit Parametern

Wenn Sie ein Modul während der linuxrc-Verarbeitungszeit laden möchten und linuxrc nicht erkennt, dass es geladen werden muss oder wenn Sie Ladeparameter angeben möchten, können Sie eine Zeile in die Datei linuxrc.config oder /info eingeben. Diese Datei muss dann im initrd-Dateisystem aktualisiert werden.

Es kann ggf. erforderlich sein, ein LAN-Treibermodul mit speziellen Parametern zu laden. Geben Sie hierfür z. B. folgende Zeile ein:

insmod="moduleName parm=xxx"

Diese Eingabe wird in der Regel vorgenommen, um einen LAN-Treiber mit spezifischen Parametern, wie Vollduplex oder eine spezifische Geschwindigkeit, zu laden.