カーネルの動作確認

  1. モジュール関連の設定

    カーネルの再構築が make modules_install まで終わったら、 次はリブートするのだが、 その前にモジュール関連の設定ファイルの変更を行う。

    /etc/rc.d/rc.modules をviエディタで開き、 使用する LAN I/F に対応する行のコメント(行頭の '#')を削除して有効にする。 ただし、Intel EtherExpress Pro 10/100 およびその互換 I/F を使用する場合、 以下のエントリを追加する。

    /sbin/modprobe eepro100
    
  2. 新しいカーネルの有効化(リブート)

    リブートを行い、新しいカーネルを有効にする。

    hostname:/usr/src/linux# shutdown -r now
    (または [ctrl]+[alt]+[del])
    
  3. イーサネット・カード(LAN ボード)が正しく認識されているか?

    これを確認するためには、以下のコマンドを実行する。

    hostname:~# dmesg|grep eth0
    正常に認識されていれば、以下のように出力される。

  4. イーサネット・カードが認識されていない場合

    使用しているボードのドライバからの正常なメッセージが表示されていない場合、 LANボードが認識されていない。 この場合一番疑わしいのは、 当社の場合ISA-SCSIボードとのIRQの競合である。

    (以下、社内のみ)

    PCI-LAN ボードは、PCI BIOS から自動的に割り振られた IRQ を使用する。 ところが ISA-SCSI のドライバでは現在ヘッダファイル埋め込みで IRQ を決め打ちしており、これが PCI BIOS が割り振る予定の IRQ と競合すると、 先に ISA-SCSI が初期化されるためにこの IRQ が使用中となり、 PCI-LAN ボードが IRQ を取得できなくなってしまうのである。 この障害が発生した場合の IRQ の使用状態は、 たとえば以下のようになっている。

    hostname:~# cat /proc/interrupts
    0:120582762timer
    1:503keyboard
    2:0cascade
    5:0+ wdt0
    13:1math error
    14:776002+ ide0
    15:0+ ide1

    この場合は、ISA-SCSI(wdt0)は IRQ 5 を使用しており、 これが PCI BIOS 側と競合していると考えられるので、 以下の手順により IRQ の競合を回避する。 現状では、ISA-SCSI ドライバ側のヘッダファイルを修正して 再コンパイルすることによりこの現象を回避している。

    1. ヘッダファイルの修正

              hostname:~# cd /usr/src/linux/drivers/char
              hostname:/usr/src/linux/drivers/char# vi wdconf.h
      
      'WD33C_IRQ' の値を競合しない値(この場合は 10 など)に変更して書き込む。(vi の使用方法については、ここを参照のこと)

    2. カーネルへの反映

              hostname:~# cd ../..
              hostname:/usr/src/linux# make zlilo
              hostname:/usr/src/linux# shutdown -r now
      

    これによりLANボードも正しく認識され、 IRQ の使用状況は以下のようになるはずである。

    hostname:~# cat /proc/interrupts
    0:120582762timer
    1:503keyboard
    2:0cascade
    5:03c590 Vortex 10Mbps, 3c590 Vortex 10Mbps
    10:0+ wdt0
    13:1math error
    14:776002+ ide0
    15:0+ ide1

  5. ISA-SCSI は正しく認識されているか?

    これを確認するためには、以下のコマンドを実行する。

    hostname:~# dmesg|grep wdt0
    正常に認識されていれば、以下のように出力される。
    wdt0: wd33c_init(): IRQ:5 DMA:7 IO:0x308 TID:0 BUFSIZE:16384 Addr:0x1c????
    何らかのエラーメッセージが表示されている場合は、ボードの設定をチェックする。