[基本方針]
現状、pcmcia-cs のインストール法としては、次のものが考えられます。
1.カーネルも pcmcia-cs もソースファイルを入手して、自力でコンパイルする。
2.カーネルも pcmcia-cs も人が構築したバイナリ版をいただく。
1.については、いずれご説明します。といいますか、1.ができる方からはご質問をあまりいただかないので、優先度の高い(つまり私がメールの応対に追われている)2.を先にご説明しましょう。ちなみに、1.の場合、カーネルのヴァージョンは 2.2.3ac3 以降をお使いになるか、PPC 版のソースを入手したほうがいいでしょう。また、pcmcia-cs についても、オリジナルのサイトから 3.0.9 を入手する以外に、sunsite.anu.edu.au などから srpm 版を入手して、PPC 向けパッチを当てた 3.0.8 版を使うことも考えられます。
[バイナリ版をインストールする方法]
必要なファイルは、
ftp://sunsite.anu.edu.au/pub/linux/linux-pmac/
以下にあります。
BootX をお使いなら、kernel-binary/v2.2.1 からバイナリの vmlinux をゲットしてシステムフォルダへ。そうでなければ、/boot に vmlinux をコピーします。System.map も /boot に入れておいた方がいいでしょう。
次に同じ場所の modules-2.2.1.tar.gz、RPMS/pcmcia-cs-3.0.8-221.ppc.rpmをインストールします。
tar zxvf /some/where/modules-2.2.1.tar.gz -C /
rpm -Uvh /some/where/pcmcia-cs-3.0.8-221.ppc.rpm
(/some/where/ は、それぞれのファイルのあるディレクトリです)
とりあえずこれで再起動後、カードを挿してみてください。「ピ、ピ」と同じ高さのビープが2回なれば認識成功。「ピ、ブ」と2回目が低い音ならば何らかの理由で認識失敗です。また、カード挿入と同時にカーネルが落ちることもよくあります ;)。そういう時はカードを取り出してから再起動してください。
[種々の設定]
基本的には、/etc/pcmcia/ 以下のファイルを自分の環境に合わせて調整します。設定については (/usr/src/)pcmcia-cs-3.0.8/PCMCIA-HOWTO に詳細に書かれています。
特に PPC 版パッチの当たっていないオリジナルのソースをゲットした場合は、config.opts の中身を、
include port 0x0-0xfff
include memory 0x90000000-0x90ffffff
にします(情報=Tsuneya Watabe 氏)。
pcmcia-cs の挙動について、network カードを例に若干、ご説明しましょう。
pcmcia-cs はネットワーク・カードが挿入されると、/etc/pcmcia/network スクリプトを実行します。これは /etc/pcmcia/network.opts を参照してネットワークの挙動を決定します。まずはこの network.opts をキッチリと設定する必要があります。IPADDR、NETMASK、NETWORK、BROADCAST、GATEWAY、DNS_1 は 最低限必要でしょう。/etc/resolv.conf は pcmcia-cs が自分で書きに行きますから、空にしておいてください(既に設定してある場合は、消去してしまうか、行頭に「#」をつけます)。通常のネットワーク設定で使われる /etc/sysconfig/network は設定しても無意味です。pcmcia-cs は、あくまでも自前の設定ファイルを使います。
[カードが認識されない!]
pcmcia-cs のパッケージに付嘱している SUPPORTED.CARDS や /etc/pcmcia/config ファイルに、自動的に認識されるカードの名前がリストアップされています。ここにリストされているカードなら、「たいていは」動くと思います。ただし、これらは i386 マシン向けのリストであり、i386 マシンで動いても、同様の環境の PPC マシンでは動かないケースがあるようです。実際、私は Motrola Mariner というコンボ・カードを所持していますが、これは i386 ノートでは問題なく動くのに、PowerBook では動きませんでした。
また、CitiDISK などの Fixed ATA カードに関しては、今のところ動かないようです。これに関しては対策を講じているところです。
さて、問題はサポート外のカードを使う場合です。この場合、認識が失敗した時点で、/var/log/messages にログが残されているはずです。ここに残されたカード名などを /etc/pcmcia/config ファイルに加え、適切なドライヴァを書き加えれば動くようになる場合もあります(ドライヴァの存在するカードと同等のチップを使っているなどの場合)。この辺について、モデムとイーサのコンボ・カードを例に若干、書いておきましょう。以下は、ある方のお問い合わせに対する私の解答に若干、手を加えたものです。
pcmcia-cs はカードが挿入されると cardmgr というプログラムが起動し、カードの情報を読みにいきます。そのカード名をキーにして /etc/pcmcia/config リストを検索。マッチするカード名があれば、そこに記載された「bind」以下のドライヴァをカーネル内に読み込みます。
モデムに関しては、たいていの場合、serial_cs をバインドさせるようにすれば動くと思います。
一方、イーサですが、もしお使いのカードのイーサ部分のチップが、既存のイーサ用ドライヴァと互換性のあるものであれば話は簡単で、config リスト内の「bind」以下に、そのドライヴァ名を併記してあげれば動くようになります。
たとえば、TDK でいいますと、私も使っていますが LAC-CD021BX ですと、fmvj18x_cs というドライヴァで動いています。あるいは、比較的多くのイーサカードでは、pcnet_cs というドライヴァが用いられているようです。このほか、イーサ用ドライヴァの名称は、(/usr/doc/)pcmcia-cs*/ 以下にある SUPPORTED.CARDS ファイルに記載されています。
たとえば、これらのドライヴァを config に追記してカードを挿して試みる、というトライ&エラーを重ねて適したドライヴァを見つけ出すというわけです。
もちろん、製造元に問い合わせて、イーサ部分がどこかのカードと互換性があるものかどうか尋ね、そのカードが config リストにあれば、それと同じドライヴァ名を追記するのもいいと思います。(こちらは、あまり期待できない気もしますが ;)
問題の一つは、イーサ部分のドライヴァがどれもマッチしないときです。これは、諦めるか、自分でドライヴァを書くしかないと思います。
カーネルは、バイナリをそのまま使うのもいいのですが、やはり自分で作ったものは愛着もひとしお。ソースを入手して作ってみませんか。手順さえ間違えなければ、実に簡単です。
これで準備が整いました。あとは簡単。
これで、カレントディレクトリに vmlinux ができるはずです。make config では、100 項目以上の質問に答えて、コンパイルの際のオプションを決めます。できあがった vmlinux を / に mv しておしまいです。念のため、古い vmlinux は名前を変えて保存しておきましょう。
更に、モジュールもコンパイルしたいのであれば、次を実行。
ただし、現在のところ、私の環境では、モジュールをコンパイル/インストールすると起動時にエラーがでます。samba.anu.edu.au から ftp してきた 0218 のコンパイル済みモジュールをインストールしています。
多くの方から、ppp の設定について問い合わせがありましたので、説明したいと思います。
ただし、ppp の設定は、正直言って非常に難しいです。それぞれの環境で試行錯誤することになると思います。スクリプト一つとっても、さまざまなやり方があります。
以下のやり方で、私は2つのモデム(いずれもノーブランド品)で動作を確認しています。ただ、冗長な部分もあるでしょうし、「とにかく、少なくとも私の環境では、これで動いている」ものとして、参考程度にお考えください。また、ファイルのリンクは、私のところで動いているファイルをそのままリンクしてあります。ただし、それぞれの方の環境で変えるべき場所は <> で囲んでありますので、適宜修正してください。
また、それぞれのファイルは、ブラウザで参照するのでなく、ブラウザからソースファイルとしてダウンロードしてから、エディタで開いて見てください(Netscape なら、一度リンク先に飛んでファイル・メニューから「save as...」を選ぶか、ホット・ポイントをしばらくクリックしていると出てくるメニューから、「save this link as...」を選び、ファイル・ダイアログで「format」を「source」にしてセーヴします)。
1. ftp.linux.org から 頭に 'kde' とついたファイルと QT をダウンロードしてインストール。
2. シェル変数 KDEDIR を設定(私は /opt/kde としました)。
3. PATH に /opt/kde/bin を加える。
4. .Xclients などに /opt/kde/bin/startkde の起動スクリプトを書き込む。
以上で動くと思います。もう少しいじってから、使用感を書いていきます。
スクリーンショットもご参考に。