Linux Driver Setup Guide for REX-PCICA1 for Linux kernel 2.4.x 27/Sep./2001 RATOC Systems,Inc. ----------------------------------------------------------------------------- ■はじめに 本ドキュメントでは Linux kernel 2.4 環境での Setup手順を例に説明しています。 REX-PCICA1 は、TexasInstrument製のPCMCIAコントローラ PCI1420 を搭載してい ます。そして、Linux kernel 2.4以降では、PCMCIAのサポートがkernelに組み込ま れており、REX-PCICA1 は装着するだけでPCMCIAスロットとして認識されます。 また、各ディストリビューションの kernel および pcmcia-cs のバージョンは以下の とおりです。 RedHat Linux 7.1J kernel 2.4.2-2, pcmcia-cs 3.1.22 (build-in) Kondara MNU/Linux 2.0 kernel 2.4.4-18K, pcmcia-cs 3.1.22 (build-in) Turbo linux 7 kernel 2.4.5-3, pcmcia-cs 3.1.27 (module) Turbo linux 7 のみ pcmcia-cs が build-in でないため、pcmcia を build-in と するためのカーネル再構築が必要です。 また、REX-PCICA1でメモリカード(ATA Card)を使用する場合、下記の手順で ATA Card用のドライバ(ide-cs)にパッチを行ってカーネルを再構築する必要があります。 メモリカード系以外については、各カードメーカが提供しているLinuxに関する情報 にしたがってください。 以下では、RedHat 7.1J の環境を例にメモリカードを使用するためのカーネル再構築手 順について説明します。 提供されるパッチは、kernel 2.4.x にのみ対応しています。kernel 2.3.x 以前には 対応しておりませんのでご注意ください。 あらかじめ ROOT ユーザでログインしてください。 ここでは、/root ディレクトリにダウンロードしたファイルが解凍されていることを 前提に説明しています。 ファイルを解凍すると、[ pcica1 ] というディレクトリの下に[patch] [sample] というディレクトリができます。 [ patch ] にはドライバモジュールを作成するためのkernel ソースの修正用パッチ ファイルが格納されています。 [ sample ] にはpatchにより修正された結果のソースファイル例が格納されています。 ■ REX-PCICA1用ATA Cardドライバ(ide-cs)登録手順 2つのパッチファイル ide-cs.patch, ide-header.patch によりkernelソース ide-cs.c および ide.h を修正します。 以下での説明では、2つパッチファイルが /root にコピーされているものとして 説明していきます。 【 Step1 】ide-cs.c, ide.h のパッチ ATA Card用ドライバのソース(ide-cs.c)が入ったディレクトリ ( drivers/ide ) へ 移動し patch を実行します。 # cd /usr/src/linux-2.4.2/drivers/ide # patch -p1 ] を選択します。 ATA/IDE/MFM/RLL Support から [ IDE, ATA and ATAPI Block devices ] を 選択します。 次の画面が表示されたら [ < > PCMCIA IDE support ] へカーソルを移動させ ます。 スペースバーを押して、先頭の < > を <*> へ変更して built-in に設定しま す。 [ Exit ] を押して画面を戻って行くと最後に [ Do you wish to save your new kernel configuration ? ] というの確認画面が表示されるので、 を選択して menuconfig を終了し ます。 【 Step4 】kernel の再構築 (No.2) 以下のコマンドを実行して Kernel をコンパイルします。 # make dep # make bzImage 以上で REX-PCICA1用ATA Cardドライバおよびそれを組み込んだ Kernel が作成され ます。 【 Step5 】作成した kernel への変更 作成した kernel (bzImage) が正常に起動するか確認してください。 LILO へ作成した kernel を追加して、ブートで選択してください。 【 Step6 】 ATA Cardの認識の確認 ( ide-cs ) ATA Cardを装着するとカードを認識音とともに 以下のメッセージが表示されます。 Bad boy: ide-cs (at 0xc01e885f ) called us with out a dev_id! hde: LEXAR ATA FLASH, ATA DISK drive ide2 at 0x100-0x107, 0x10e on irq10 1行目の [Bad boy ... ] というメッセージが表示されますが、特に問題はありま せん。 以下のコマンドを入力して CF用のマウントポイントを作成して、mount を実行してみます。 # mkdir /mnt/cf0 # mount -t msdos /dev/hde /mnt/cf0 これで、CFメディアを通常のストレージデバイスと同様にアクセス可能となります。 【 Step7 】ATA Card の取外し mount 済の ATA Card を取り外す場合は、取り外す前に必ず umount を実行してく ださい。 # umount /mnt/cf0 ide2: unexpected interrupt, status=0xff, count=1 Trying to free free IRQ10 以上正常に起動していることが確認されたら、標準で起動する Kernel に設定してくだ さい。 ■ Kondara MNU/Linux 2.0 でのREX-PCICA1を使用する場合 RedHat 7.1J の場合と全く同様のSetup手順となります。 ■ Turbo Linux 7 でのREX-PCICA1を使用する場合 TurboLinux 7 では、インストール直後はカーネルに搭載されてている pcmciaド ライバではなく pcmcia-cs モジュールの 3.1.27 が組み込まれますが、この状 態では、REX-PCICA1 は正常に動作しません。 カーネルに搭載されてている pcmciaドライバが動作するようにカーネルを再構築 する必要があります。 ・PCMCIAをbuild-in にする make menuconfig を実行で PCMCIA を Build-in に設定する必要があります。 mainmenu から [ General Setup --> ] を選択します。 サブメニューから [ PCMCIA/CardBus support --> ] を選択します。 [ < > PCMCIA/CardBus support ] を <*> に設定します。 [ [ ] CardBus support (NEW) ] を [*] に設定します。 ※ REX-PCICA1 は、CardBus はサポートしていませんが、PCMCIAコントロー ラがCardBus対応コントローラのため、この項目を有効にする必要がありま す。 次に、ATAカード用のドライバが "ide_cs" から "ide-cs" に変わるため、 /etc/pcmcia/config のATAカード用設定の変更が必要です。 - device "ide-cs" の追加 device "ide-cs" class "ide" modules "ide-cs" - ATA/IDE Fixed Disk の bind を "ide_cs" から "ide-cs" へ変更 card "ATA/IDE Fixed Disk" function fixed-disk bind "ide-cs" これ以外については、RedHat 7.1J の場合と同様のSetup手順となります。 ■ REX-PCICA1用ATA Cardドライバ(ide-cs)の制限 ・本ドライバは、kernel 2.4.x 専用です。kernel 2.3.x 以前はサポートしてい ません。 ・本ドライバでは、ATAカードを同時に2枚以上装着しての使用はサポートしていま せん。 ・カードを取り外した時に、スロットのインジケータランプが点灯したままになり ますが問題ありません。 以上 /END