G.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 G.5.3, Laden von Treibern mit Parametern.

G.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. Weitere Informationen finden Sie unter Abschnitt G.5.2, Erstellen von Treibern.

G.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 mithilfe des folgenden Befehls finden:

uname -r

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.

So verwenden Sie den Linux-Quellcodebaum:

  1. Rufen Sie die aktuelle Kernel-Version der Imaging-Distribution ab:

    1. Starten Sie alle Geräte der Verwaltungszone im ZENworks-Imaging-Wartungsmodus.

    2. Führen Sie den Befehl uname -r aus.

      Dieser Befehl zeigt die Kernel-Version der Imaging-Distribution an.

  2. Laden Sie das RPM-Paket mit dem Quellcode der in Schritt 1.b abgerufenen Kernel-Version von der Novell Download-Website herunter.

    Der Dateiname des RPM-Pakets mit dem Quellcode des Kernels hat folgendes Format:

    kernel-source-Kernel_Version.i586.rpm

    kernel-source-2.6.27.29-0.1.i586.rpm enthält zum Beispiel den Quellcode der Kernel-Version 2.6.27.29-0.1-default.

  3. Installieren Sie das heruntergeladene RPM-Paket mit dem Kernel-Quellcode.

    Das RPM-Paket wird im Verzeichnis /usr/src installiert, wobei folgende Unterverzeichnisse erstellt werden:

    • /usr/src/linux-Version_der_Kernel_Quelle

    • /usr/src/linux-Version_der_Kernel_Quelle-obj

    Wenn Sie kernel-source-2.6.27.29-0.1.i586.rpm installieren, werden zum Beispiel die folgenden Unterverzeichnisse erstellt:

    • /usr/src/linux-2.6.27.29-0.1

    • /usr/src/linux-2.6.27.29-0.1-obj

  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 neuen Linux-Softlink, beispielsweise:

      ln -s linux-2.6.27.29-0.1 linux
      

Sobald die Linux-Kernel-Quellcodestruktur und der Softlink bereit zur Kompilierung des Moduls sind, fahren Sie fort unter Modul kompilieren.

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. Wechseln Sie in das Quellenverzeichnis und kompilieren Sie die Quelle gemäß den Kompilierungsanweisungen in der Readme-Datei des Moduls.

  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.

G.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.