floppyfw

ジャンクで静音PC製作(1)」に全面的に依存しながら、 floppyfw(ipchains対応の1.0.12-3版)を作成した。

条件としては

  1. pppoe対応
  2. pcmcia対応
である。

とりわけ、2.についてはかなり限定されるのだが、 pcmcia-cs.sourceforge.net なんかで調べて、とりあえず、10/100MB対応の、この2枚を使うことにした。

用意するもの

pcmciaモジュールを組み込んだフロッピーを作る

まずは設定以前に、このpppoe版に自分の環境にあったpcmciaドライバを組み込む

  1. RawWrite-windows版から上で落としてきた "floppyfw-1.0.12.3-pppoe.img"をフロッピー(1.44MB)に書き込む
  2. "pcmcia-ffw1.0.12-r1.1.zip"を解凍する
  3. 解凍したディレクトリ"pcmcia-ffw1.0.12-r1.1"中のreadme.txtをよく読む。
    1. windows機には作ったばかりの"floppyfw-1.0.12.3-pppoe"がささっている ことを確認。
    2. "makepcm.bat"をダブルクリック
    3. 自動的にDOSプロンプトが開き、「何かキーを押せ」といわれるので 押す。自動的にフロッピーがpppoe+pcmciaバージョンになる。
    4. "pcmcia-ffw1.0.12-r1.1"内の /pcmcia-cs/ ディレクトリに移動
    5. /pcmcia-cs/ 内にある "config" を開く
    6. 自分の必要とする pcmciaカード用モジュール 以外の記述を消していく。 ちなみに 40k の config が 8k ほどになる [今回のconfig]
    7. 編集が終わったら、上記の \pcmcia-cs\ 内にある
      • cisdat.bz2
      • config (さきほど編集したもの)
      • config.opts
      を floppyfw(フロッピー)の \pcmcia\modules\ にコピーする

実際の作成風景

今回はすべて "/tmp" 以下に落としてきている。


# cd /usr/src
/usr/src# tar jxvf /tmp/linux-2.4.27.tar.bz
/usr/src# ln -s linux-2.4.27 linux
/usr/src# cd linux
/usr/src/linux# 
/usr/src/linux# tar zxvf /tmp/pcmcia-cs-3.2.8.tar.gz 
/usr/src/linux# cp /tmp/config-kernel-2.0.9 /usr/src/linux/.config
/usr/src/linux# make oldconfig
/usr/src/linux# make dep


pcmcia-csをコンパイルするために、カーネルを作成する必要はないが、 依存関係を明示しておかなければならないんだそうだ。
そこで、カーネルソースを展開したディレクトリに移動して、 依存関係を作成しておく作業が必要になる。
その実態が最後の"make dep"だ。

次にPCMCIAのコンパイルを行う。


/usr/src/linux# cd pcmcia-cs-3.2.8/
/usr/src/linux/pcmcia-cs-3.2.8# make config


Linux kernel source directory [/usr/src/linux]: <そのままリターン>

The kernel source tree is version 2.4.27.
  WARNING: the current kernel is version 2.6.10-rc3.
The current kernel build date is Wed Dec 8 18:14:21 2004.

Build 'trusting' versions of card utilities (y/n) [n]: <そのままリターン>
Include 32-bit (CardBus) card support (y/n) [y]: <そのままリターン>
Include PnP BIOS resource checking (y/n) [n]: <そのままリター>
Module install directory [/lib/modules/2.4.27]: <そのままリターン>

/usr/src/linux/pcmcia-cs-3.2.8# make all
"make config"によって、 カーネルの設定が読みとられ、 pcmcia-csのコンパイル環境ができるんだそうだ。(すっげ〜)
でもって、最後の"make all"はコンパイルしろっの指示。

最後に本チャンのpcmciaパッケージを作る。
これはcurrentディレクトリに作った ~/floppyfw 内で行う。

~# mkdir floppyfw
~# cd floppyfw/
~/floppyfw# 

bin,lib(/lib/modules,pcmcia,net),etc(/etc/pcmcia)を作って、 最低限必要なモジュールをぶん投げる。

~/floppyfw# mkdir bin
~/floppyfw# mkdir -p lib/modules/pcmcia
~/floppyfw# mkdir -p lib/modules/net
~/floppyfw# mkdir -p etc/pcmcia

  1. ~/floppyfw# cp /usr/src/linux/pcmcia-cs-3.2.8/cardmgr/cardmgr bin/
  2. ~/floppyfw# cd bin/
  3. ~/floppyfw/bin# ln -s insmod modprobe