65.5 LANドライバの追加または更新

LANカードのメーカーは、新しいLANアダプタを開発およびリリースすると、通常は新規または更新されたドライバもリリースします。新しいLANカードが旧ドライバで適切に動作する場合もあれば、旧ドライバでは新しいLANカードが認識されず、ロードされない場合もあります。また、旧ドライバではロードはされるものの、LANカードで深刻なパフォーマンス上の問題が発生する場合もあります。新しいLANカードのパフォーマンス機能を完全に使用できるようにするには、新しいドライバを使用する必要があります。

次の各節では、ドライバを取得またはコンパイルする方法について説明します。

特定のパラメータでドライバをロードする必要がある場合は、セクション 65.5.3, パラメータによるドライバのロードを参照してください。

65.5.1 ドライバの取得

新しいLANドライバは、メーカーから取得する必要があります。大部分のLANカードメーカーでは、Webサイトからドライバを無料でダウンロードできるようになっています。一部のドライバは、www.scyld.com/networkから取得できます。Broadcom BCM5700ドライバのソースは、http://www.broadcom.com/drivers/downloaddrivers.phpからダウンロードできます。

メーカーがZENworksで使用されるカーネルバージョン用に特別にバイナリドライバをコンパイルしている場合は、そのドライバを取得し、いずれかの更新方法を使用してドライバを追加できます。ZENworks 7はSLES 9 SP2、カーネルバージョン2.6.5~7.191に基づいています。ドライバがこのバージョン専用でない場合は、ソースを取得し、このバージョン用にコンパイルする必要があります。詳細については、セクション 65.5.2, ドライバの構築を参照してください。

65.5.2 ドライバの構築

ほぼすべてのLinuxドライバは、ソースコード形式で配布され、使用前にコンパイルする必要があります。新しいドライバに付属のメーカーの指示に従って、ドライバモジュールを構築してください。多くのドライバは、カーネルそのものに組み込む方法で構築できます。ただし、LANドライバは外部カーネルモジュールとして構築することをお勧めします。

LANドライバを構築する場合は、構築用マシンでイメージング環境と同じカーネルを使用していることを確認してください。イメージング環境にロードされないLANドライバがある場合、通常はビルド環境とイメージング環境が一致していないことを意味します。

Linux環境の現在のカーネルバージョンを確認するには、次のコマンドを使用します。

uname -r

ただし、unameコマンドからの結果を変更して、カーネルバージョンを一致させる必要があります。詳細については、セクション 65.6, unameの使用を参照してください。

ドライバを構築するには、次の操作を行います。

Linuxソースコードツリーの取得

モジュールをコンパイルするには、ZENworksカーネルと一致する設定が含まれているLinuxソースコードツリーが必要です。必要なソースコードを取得するには、Novell Support KnowledgebaseのTID 10091818を参照してください。

Linuxソースコードツリーを使用するには、次の操作を行います。

  1. ファイルを解凍し、ソースコードツリーを/usr/srcディレクトリにインストールします。

    たとえば、tarファイルでは次のディレクトリが作成されます。

    /usr/src/linux-2.6.5-7.191
    /usr/src/linux-2.6.5-7.191-obj
    
  2. 次のいずれかの場所から、適切な設定ファイルを取得します。

  3. この設定ファイルを、ステップ 1で作成したディレクトリにコピーします。

    たとえば、/usr/src/linux-2.6.5-7.191です。

  4. ソースツリーへのリンクを作成するには、次の操作を行います。

    1. /usr/srcディレクトリに移動するには、次のように入力します。

      cd /usr/src
      
    2. ディレクトリ内にLinuxソフトリンクがある場合は削除します。

    3. 次のようなLinuxソフトリンクを作成します。

      ln -s linux-2.6.5-7.191 linux
      

これで、モジュールをコンパイルするためのLinuxカーネルソースツリーおよびソフトリンクの準備ができました。モジュールのコンパイルに進みます。

モジュールのコンパイル

モジュールを手動でコンパイルする

  1. ソースをインストールします。

    メーカーから提供された指示に従ってソースをインストールします。

    通常は、モジュールソースは/usr/srcの下位のディレクトリにあります。通常、モジュールソースファイルはgzipped tarファイル形式(.tar.gzまたは.tgz)で提供されます。ファイルはbzippedファイル(.bz2)である場合もあります。

  2. ソースをコンパイルする

    1. ソースのディレクトリに移動します。

    2. unameを変更して適切なカーネルバージョンに変更した場合は、makeコマンドを発行します。

  3. ZENworks用にモジュールをコンパイルした場合は、生成された.koモジュールファイルを取得し(適切なモジュール名を選択します。動作中の.koファイルは選択しないでください)、ドライバ更新方法を使用してインストールするか、initrdファイルシステム内に保存します。

65.5.3 パラメータによるドライバのロード

linuxrc処理時間中にロードしたいモジュールがあるとき、linuxrcがロード対象を認識しない場合や、ロードパラメータを指定したい場合は、linuxrc.configまたは/infoファイル内に行を入力します。次に、このファイルをinitrdファイルシステム内で更新します。

特定のパラメータを使用して、LANドライバモジュールをロードする必要がある場合があります。それには次のような行を使用します。

insmod="moduleName parm=xxx"

このタイプの行は、特定のパラメータ(全二重、特定の速度など)でLANドライバをロードするために最もよく使用されます。