Hersteller von LAN-Karten entwickeln neue LAN-Adapter und veröffentlichen für gewöhnlich mit jedem neuen Adapter auch neue oder aktualisierte Treiber. 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 wird der ältere Treiber geladen, aber die LAN-Karte hat ernste Leistungsprobleme. Für die volle Leistungsfähigkeit einer neuen LAN-Karte müssen Sie den neuen Treiber verwenden.
In den folgenden Abschnitten wird erläutert, wie Treiber bezogen oder kompiliert werden:
Wenn Sie Ihre Treiber mit speziellen Parametern laden müssen, siehe Section E.5.3, Laden von Treibern mit Parametern.
Neue LAN-Treiber sollten vom Hersteller bezogen werden. Die meisten Hersteller von LAN-Karten bieten auf ihrer Website kostenlose Treiberdownloads. 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.
Wenn ein Hersteller einen binären Treiber speziell für die von ZENworks verwendete Kernel-Version kompiliert hat, können Sie den Treiber beziehen und ihn anhand einer der Aktualisierungsmethoden hinzufügen. ZENworks 7 basiert auf SLES 9 SP2, Kernel-Version 2.6.5-7.191. Wenn der Treiber nicht für diese spezifische Version ist, müssen Sie den Quellcode beziehen und für diese Version kompilieren. Weitere Informationen hierzu finden Sie unter Section E.5.2, Erstellen von Treibern.
Nahezu alle Linux-Treiber werden als Quellcode verteilt und müssen kompiliert werden, bevor sie sich benutzen lassen. Folgen Sie den jeweils beigefügten Anleitungen des Herstellers, um das Treibermodul zu erzeugen. Viele Treiber können so erstellt werden, dass sie in den Kernel selbst integriert werden. Es wird jedoch empfohlen, LAN-Treiber als externe Kernel-Module zu erzeugen.
Stellen Sie sicher, dass der Rechner, auf dem Sie Ihre LAN-Treiber erzeugen, denselben Kernel wie die Imaging-Umgebung verwendet. Wenn der LAN-Treiber in Ihrer Imaging-Umgebung nicht geladen wird, bedeutet das in der Regel, dass Ihre Erstellungsumgebung und Ihre Imaging-Umgebung nicht zusammenpassen.
Sie können die aktuelle Kernel-Version Ihrer Linux-Umgebung mithilfe des folgenden Befehls finden:
uname -r
Jedoch müssen Sie eventuell die Ergebnisse des Befehls uname modifizieren, damit Ihre Kernel-Versionen passen. Weitere Informationen hierzu finden Sie unter Section E.6, Verwenden von Uname.
So erstellen Sie Ihre Treiber:
Zum Kompilieren eines Moduls benötigen Sie die Linux-Quellcodestruktur, welche die passende Konfiguration für den ZENworks-Kernel enthält. Wie Sie den erforderlichen Quellcode beziehen, erfahren Sie unter TID 10091818 in der Novell Support-Knowledgebase.
So verwenden Sie die Linux-Quellcodestruktur:
Entpacken Sie die Datei und installieren Sie die Quellcodestruktur im Verzeichnis /usr/src.
Beispielsweise legt die tar-Datei die folgenden Verzeichnisse an:
/usr/src/linux-2.6.5-7.191 /usr/src/linux-2.6.5-7.191-obj
Rufen Sie die korrekte Konfigurationsdatei von einem der folgenden Speicherorte ab:
Kopieren Sie diese Konfigurationsdatei in das Verzeichnis, das in Step 1 angelegt wurde.
Beispiel: /usr/src/linux-2.6.5-7.191.
So erstellen Sie einen Link zur Quellcodestruktur:
Wechseln Sie in das Verzeichnis /usr/src, indem Sie Folgendes eingeben:
cd /usr/src
Wenn das Verzeichnis einen Linux-Softlink enthält, löschen Sie diesen.
Erstellen Sie den Linux-Softlink, z. B.:
ln -s linux-2.6.5-7.191 linux
Nun sind die Linux-Kernel-Quellcodestruktur und der Softlink bereit zur Kompilierung des Moduls. Fahren Sie mit Kompilieren des Moduls fort.
So kompilieren Sie das Modul manuell:
Installieren Sie den Quellcode.
Folgen Sie zur Installation des Quellcodes den Anleitungen des Herstellers.
Für gewöhnlich befindet sich der Modulquellcode in einem Verzeichnis unter /usr/src. Modulquelldateien werden für gewöhnlich in der Form einer gepackten gzip-tar-Datei geliefert (.tar.gz oder .tgz). Es kann auch eine bzip-Datei sein (.bz2).
So kompilieren Sie den Quellcode:
Wechseln Sie in das Verzeichnis des Quellcodes:
Falls Sie uname geändert haben, um zur korrekten Kernel-Version zu wechseln, geben Sie den Befehl make aus.
Wenn Sie Ihr Modul für ZENworks kompiliert haben, nehmen Sie die generierte .ko-Moduldatei (wählen Sie unbedingt den korrekten Modulnamen und nicht eine .ko-Arbeitsdatei) und installieren Sie sie mit der Treiberaktualisierungsmethode oder durch Platzieren im initrd-Dateisystem.
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.
Eventuell müssen Sie einen LAN-Treiber mit speziellen Parametern laden. Dies ist über eine Zeile wie die folgende möglich:
insmod="moduleName parm=xxx"
Diese Art von Zeile wird am häufigsten verwendet, um einen LAN-Treiber mit spezifischen Parametern, etwa Vollduplex, oder mit einer bestimmten Geschwindigkeit zu laden.