Linux Driver Setup Guide for REX-CB32 for Linux kernel 2.2.x 11/Oct./2001 RATOC Systems,Inc. ---------------------------------------------------------------- This document is written in the Japanese character. If you want to read English version, refer to README-E1-cb32. ■はじめに 本ドキュメントでは、RedHat 6.1 での Setup手順を例に説明してい きます。 kernel 2.4.x の場合は、README-J2-cb32 をご覧ください。 kernel 2.4.x update + RedHat 7.0 の場合は、README-J3-cb32 をご覧く ださい。 Redhat 6.1での Kernel および PCMCIA-CS の Version は以下となっ ています。 Kernel version 2.2.12 PCMCIA-CS version 3.0.14 これらの環境で 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用の記述サンプルが格納されています。 ■ RedHat6.1 でのREX-CB32用ドライバ登録手順 【 Step1 】ドライバソースファイル (cb32_cb.c) のコピー ドライバソースファイル (cb32_cb.c)を PCMCIA用Clientドライバ のソースが入ったディレクトリへコピーします。 # cd /usr/src/linux-2.2.12/pcmcia-cs-3.0.14/clients # 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 をコンパイルするため、以下の7行を Makefile へ追加します。 cb32_cb.o: cb32i850.c cb32scsi.c cb32i850.h cb32scsi.h load_fw.o $(CC) -MD -c $(XFLAGS) $(CPPFLAGS) cb32i850.c -o cb32i850.o @mkdir -p .depfiles ; mv cb32i850.d .depfiles $(CC) -MD -c $(XFLAGS) $(CPPFLAGS) cb32scsi.c -o cb32scsi.o @mkdir -p .depfiles ; mv cb32scsi.d .depfiles $(LD) -r -o $@ cb32i850.o cb32scsi.o load_fw.o rm -f cb32i850.o cb32scsi.o ; chmod -x $@ samples/2.2.x の Makefile を参照してください。 【 Step3 】proc_fs.h の編集 include/linux のディレクトリへ移動します。 # cd /usr/src/linux-2.2.12/include/linux proc_fs.h ファイルを編集して、[ PROC_SCSI_INIA100, ] の次の行に [ PROC_SCSI_CB32, ] と記述した行を挿入します。 samples/2.2.x の proc_fs.h を参照してください。 さらに、/usr/include/linux にも proc_fs.h があるので同様の修正を行い ます。 【 Step4 】make の実行 make を実行して cb32_cb をコンパイルします。 # make cb32_cb.o (注意) 以下のエラー表示の場合 Makefile:8: ../config.mk:No such file or directory make: *** No rule to make target '../config.mk'. Stop. 1つ上の階層へ移動し、「make config」を実行すると config.mk が 作成されます。 再度、clients ディレクトリへ移動し make を実行してください。 【 Step5 】module (cb32_cb.o) のインストール 作成された module (cb32_cb.o) を PCMCIA関連の module が格納 されているディレクトリにコピーします。 # cp cb32_cb.o /lib/modules/2.2.12-32/pcmcia/. 【 Step6 】PCMCIA のデータベース (/etc/pcmcia/config) の編集 REX-CB32 を認識させて module がロードされるように以下の5行 を追加します。 device "cb32_cb" class "scsi" module "cb_enabler", "cb32_cb" card "RATOC CardBus UltraWideSCSI CB32" version "RATOC Systems,Inc.", "UltraWIDE SCSI CB32" bind "cb32_cb" samples の config を参照してください。 【 Step7 】Restart PC 更新した情報を有効にするため、システムを再起動します。 # reboot ■ REX-CB32用ドライバ起動の確認 pcmciaのモジュールが起動している状態でカードを装着すると、 ピポッという認識音のあと画面に以下のメッセージが表示されます。 scsi0: RATOC CB32 SCSI device driver : Revision: x.xx scsi: 1 host PCMCIA のデータベース(/etc/pcmcia/config)が間違っていたり。カードが 正常に認識されない場合、ブーという音がなります。 /var/log/messages にエラー内容が表示されるので確認してください。 /END