Linux Driver Setup Guide for REX-CB32 for Linux kernel 2.4.x 10/Oct./2001 RATOC Systems,Inc. ---------------------------------------------------------------- This document is written in the Japanese character. If you want to read English version, refer to README-E2-cb32. ■はじめに 本ドキュメントでは、RedHat7.1環境での Setup手順を例に説明していき ます。 kernel 2.2.x の場合は、README-J1-cb32 をご覧ください。 RedHat7.1 Kernel および PCMCIA-CS (built-in) の Version は以下と なっています。 Kernel version 2.4.2-2 PCMCIA-CS version 3.1.22 (built-in) これらの環境で REX-CB32 を使用する場合、下記の手順でREX-CB32用の ドライバをコンパイルして登録する必要があります。 あらかじめ ROOT ユーザでログインしてください。 ここでは、/root ディレクトリにダウンロードしたファイルが解凍され ていることを前提に説明しています。 ファイルを解凍すると、[cb32] というディレクトリの下に [ src ] [ lib ] [ samples ] というディレクトリができます。 [ src ] にはドライバモジュールのソースファイルが格納されています。 [ lib ] にはドライバ作成時にリンクするファイルが格納されています。 [ samples ] には、ドライバモジュールを作成するために編集する各種 ファイルの記述サンプルが格納されています。 このなかの [ 2.2.x ] にはkernel 2.2.x用が、[ 2.4.x ] にはkernel 2.4.x用の記述サンプルが格納されています。 ■ RedHat7.1 でのREX-CB32用ドライバ登録手順 【 Step1 】ドライバソースファイルのコピー scsi/pcmcia のディレクトリへ移動します。 # cd /usr/src/linux-2.4.2/drivers/scsi/pcmcia ドライバソースファイル (cb32_cb.c)を PCMCIA用Clientドライバ のソースが入ったディレクトリへコピーします。 # cp /root/cb32/src/* . # cp /root/cb32/lib/* . cb32i850.c, cb32i850.h, cb32scsi.c, cb32scsi.h, load_fw.o の 5つのファイルがコピーされます。 【 Step2 】Makefile の編集 make で cb32_cb をコンパイルするため Makefile を編集します。 ターゲットの記述を追加します。 obj-$(CONFIG_PCMCIA_CB32_CB) += cb32_cb.o list-multi に cb32_cb.o を追加します。 list-multi := qlogic_cs.o fdomain_cs.o aha152x_cs.o cb32_cb.o cb32用のオブジェクトファイルの記述を追加します。 cb32_cb-objs := cb32i850.o cb32scsi.o load_fw.o cb32_cb-objs : $(cb32_cb-objs) $(LD) -r -o $@ $(cb32_cb-objs) samples/2.4.2 の Makefile を参照してください。 【 Step3 】Config.in の編集 dep_tristate ' Qlogic PCMCIA support .... の次へ以下を追加します。 'RATOC CB32 CardBus support' CONFIG_PCMCIA_CB32_CB m if [ "$CONFIG_PCMCIA_QLOGIC"... "$CONFIG_PCMCIA_NINJA_SCSI" = "y" ] の中に 以下を追加します。 "$CONFIG_PCMCIA_CB32_CB"="y" = 0 samples/2.4.x の Config.in を参照してください。 【 Step4 】kernel の再構築 (1) menuconfig の実行 # cd /usr/src/linux-2.4.2 # make manuconfig [ Linux kernel vx.x.x Configuration ... ]という画面が起動します。 MainMenuから [SCSI Support -> ] を選択します。 SCSI Support から [PCMCIA SCSI adapter support] を選択します。 [ < > PCMCIA SCSI adapter support ] へカーソルを移動させます。 スペースバーを押して、先頭の < > を <*> へ変更して built-in に設定 します。さらに、[ < > RATOC CB32 CardBus support ] へカーソルを移動 させます。スペースバーを押して、先頭の < > を へ変更します。 [ Exit ]を押して画面を戻って行くと最後に[ Do you wish to save your new kernel configuration ? ]という確認画面が表示されるので、 を選択して menuconfig を終了します。 (2) module の作成 # make dep # make modules # make modules_install 作成された module (cb32_cb.o) が PCMCIA関連の module が格納 されているディレクトリ(/lib/modules/2.4.2/pcmcia)にコピーさ れます。 【 Step5 】Restart PC 更新した情報を有効にするため、システムを再起動します。 # reboot ■ REX-CB32用ドライバ起動の確認 REX-CB32 は、kernel 2.4 以降は、カーネルに新しく追加された Hotplug という 機能により認識されます。 カードを装着すると、ピポッという認識音のあと画面に以下のメッセージが表示されます。 kernel: got res[d800:d8ff] for resource 0 of PCI device 1195:0851 kernel: PCI: Failed to allocate resource 1 for PCI device 1195:0851 kernel: PCI: Failed to allocate resource 6 for PCI device 1195:0851 kernel: PCI: Enabling device 03:00.0 (0200 -> 0203) kernel: cb32_cb: Total Adapters = 1 カードが正常に認識されない場合、ブーという音がなります。 /var/log/messages にエラー内容が表示されるので確認してください。 /END