- PR -

cardmgrで1スロットのみ管理したい。方法は?

1
投稿者投稿内容
にゃんちゅう
会議室デビュー日: 2004/10/07
投稿数: 2
投稿日時: 2004-10-07 21:10
ICカードスロットが二つあり、ICカードアダプタ付きCF(コンパクトフラッシュ)から
ブートできるインテルアーキボードがあります。これをLinuxで稼動させようとしている
のですが、少し解らないことがあります。

PCMCIAスロットが2つあるのですが、cardmgrで1スロットのみ初期化し、もう片方は
初期化しないようにしたいのですが、そのような方法をご存知の方いらっしゃいませんか。


----------------------------------------------------------------------
こういう状況です。
CFブートするようにBIOS設定しておき、ブートローダ、kernel、ユーザランドを
書いたCFを挿してブートさせると、CFからブートし始めます。この時/dev/hdcが
ブートデバイス(つまりCF)になっています。

Linuxが立ち上がると、cardmgrが/etc/rc5.d/S24pcmciaで走ります。すると、
PCMCIAスロットが初期化され、/dev/hdcにてブートデバイスだったCFが見えなく
なりstallします。

あたりまえといえばあたりまえの動きです。
cardmgrを停止させればよいのですが、するとせっかく2つあるPCMCIAスロットが
全く使えず、宝の持ち腐れになってしまいます。

そこで、CFを挿している側のスロットのみcardmgrで初期化しないようにしたいの
ですが、どうすればよいのでしょうか。



私がテストした内容は以下です。
man pcmciaを見ると、"/etc/pcmcia/config"に"exclude irq are, port kore"
などと書けばよいようです。

Linux boto後CFを差し込み自動認識させたあと、
[]# /sbin/cardctl config
Socket 0:
Vcc 3.3V Vpp1 0.0V Vpp2 0.0V
interface type is "memory and I/O"
irq 5 [execlusive][level]
function 0:
config base 0x0200
option 0x41 status 0x00 pin 0x00 copy 0x00
io 0x0100-0x010f [auto]
Socket 1:
not configured

となり、IRQ=5, port=0x0100-0x010f と考え、
"/etc/pcmcia/config"に"exclude irq 5, port 0x0100-0x010f"を追加
/etc/init.d/pcmcia stopとstartを繰り返したところ、残念ながら
初期化されました。これは期待するものと違いました。
この時cardctl configでみると、ICカードスロットは irq 9 に
なっています。
1

スキルアップ/キャリアアップ(JOB@IT)