[Q]
pcmcia-cs 3.0.1 へのバージョンアップの方法は (MLD2)
[A]
以下の手順で行えばうまくいくと思います。
# 日樫さんのメール [mld-ml:833] の引用です。m(_ _)m
- メディアラボさんの ftp server から rpm binary package を取ってきます。
場所は、
ftp://ftp.mlb.co.jp/pub/linux/mld-update/i386/pcmci301.rpm
だと思います。
- root で、
$ rpm -i -U pcmci301.rpm
というようにして、アップグレードインストールすれば良いようです。
この時の注意として、
/usr/doc以下のファイルは MLD では tar + gzip で固められているため、
あらかじめ展開していない場合には、
remove ... というメッセージが表示されるかもしれません。
対策としては、動作には影響ないので無視するか、
あらかじめ展開しておくかのどちらかが良いと思います。
ちなみに、
Windows95/98 でダウンロードする場合は C:\tmp のディレクトリーへファイルをダウンロードし
$ cd /DOS/tmp
$ rpm -i -U pcmci301.rpm
とすれば良いと思います。
- /etc/rc.d/init.d/pcmcia をエディターで以下のように修正して下さい。
24 行目の後に 2 行追加します。
追加の 1 行目は PCMCIA コントローラを教えるためのもので、
いまのノートパソコンでは i82365 コンパチのものが使われているので、
i82365 を使用します。
もう 1 行は IRQ 等のオプションの指定で、
追加する行の irq_mask=0x0800 は 使える IRQ の指定で、
ビットが右から順に IRQ0、IRQ1 ... IRQ15になります。
# 従って、ここでは最も安全なIRQ11を指定していることになります。
# irq_mask について、もうちょっと詳しいことはこちらを参照。
もし Windows95/98 で使用している PCMCIA カードの IRQ がわかっていれば、
irq_mask= でそのIRQを指定します。
カードのプローブもよく問題を起こしますので、IRQ を使わないように
poll_interval も指定します。
まとめると
変更前
# Source PCMCIA configuration, if available
if [ -f /etc/sysconfig/pcmcia ] ; then
. /etc/sysconfig/pcmcia
if [ "$PCMCIA" != "yes" ] ; then exit 0 ; fi
else
変更後
# Source PCMCIA configuration, if available
if [ -f /etc/sysconfig/pcmcia ] ; then
. /etc/sysconfig/pcmcia
PCIC=i82365
PCIC_OPTS="do_scan=0 irq_mask=0x0800 poll_interval=100"
if [ "$PCMCIA" != "yes" ] ; then exit 0 ; fi
else
となります。
- PCMCIA のネットワーク設定をします。
Windows95/98 で IP アドレス等を設定してから MLD2 をインストールした場合には、
既に /etc/pcmcia/network.opts にその設定が書き込まれており、
rpm でアップデートした時に、
このファイルはnetwork.opts.rpmorigにコピーされてしまいます。
そこで、root で
$ cd /etc/pcmcia
$ mv network.opts.rpmorig network.opts
として、設定を戻せば良いと思います。
- PCMCIA カードを挿入せずに Linux を起動して下さい。
ktermから
$ /etc/rc.d/init.d/pcmcia restart
を実行して、PCMCIAサービスを再起動し、
$ dmesg
でログを確認してみてください。
このログの中に
Intel PCIC probe:
Cirrus PD6729 PCI at Oxfcfc ofs 0x00, 2sockets
というような感じの表示があれば PCMCIA ソケットが認識されていると思います。
次に kterm で
$ tail -f /var/log/messages
を実行しておき、PCMCIA カードを挿入します。
カードの認識情報が kterm に表示されますので、
正しく認識されるかどうか確認してみるとよいでしょう。
もし、正しく認識できない場合は、
その内容を mld-ml (LinuxMLD のメーリングリスト) に送ると詳しい方が相談にのってくれるかもしれません。
- 上記のテストで動作が正常であれば、
新しいバージョンが使われるよう変更します。
デフォルトでは起動時に PCMCIA の古いバージョンがラムディスクから起動してしまいますので、以下の手順で LinuxMLD2 が起動してから新しいバージョンの
pcmcia-cs が起動するようにして下さい。
1. Linux MLD2 が内蔵の IDE ハードディスクにインストールしてある必要が
あります。
2. Windows95/98 を起動して下さい。
3. 次に c:\mldload\kernel.par をメモ帳などで開いて下さい。 まずルートデ
バイスを確認して下さい。ルートデバイスはデフォルトで Cドライブの
hda1 に設定されています。インストールしたドライブに合わせて 変更し
て下さい。ルートデバイスのデバイス名は添付の資料を参考にして下さい。
ルートデバイスが /dev/hda1 以外の場合は
root=/dev/hda1
の行を変更して下さい。ここでは例として拡張パーティションの最初の
論理ドライブ (/dev/hda5) にインストールしたとすると、
root=/dev/hda5
に変更します。 次に以下の 2 行をファイルの最後に追加して、pcmcia 設定
をスキップして起動するようにします。
mldpcic=skip
mldprobe=n
保存してメモ帳を終了します。
4. MS-DOSモードから
\mldload\linux
で Linux を起動して下さい。
[Appendix]
********ルートデバイスについて********
o 先頭の 2 文字が IDE ハードディスクの場合は hd、 SCSI ハードディスクの
場合は sd となります。
o 次の 1 文字はディスクの何番目かに当たります。IDE の場合には プライマ
リー IDE ポートのマスタードライブが hda スレーブが hdb セカンダリーのマ
スターが hdc スレーブが hdd となります。SCSI ディスクの場合は認識された
ディスクの SCSI ID の若い番号の順に sda, sdb, ...となります。
(注意: SCSI ID 0 が sda に 1 が sdb にと 2 が sdcにというように固定的に
決まるわけではなく ID が 2 でも 0、1 の ID が使われていなければ sda と
なります。)
o 最後の数字はパーティションの番号を表しています。DOS のプライマリー
パーティションが 1 となり、拡張パーティションは論理ドライブの順で
5、6... となります。
戻る