home> computing> FreeBSD 4.3R on TP560

FreeBSD 4.3R on TP560

前置き

ジャンクショップで購入した IBM ThinkPad 560。スマートなデザインでキータッチも 素晴らしい A4 スリムノート PC である。

店から持ち帰り、とりあえず AC アダプタをつなぎ電源オン。Easy-Setup から システムテスト。さらに FD から DOS を立ち上げる。おー動いた。その丈夫さには 定評のある 560 のボディであるが、なんだかLCD パネル部が歪んでいる。 どういう使い方をしていたんだろう。その割に LCD 自体にはダメージどころか ドット抜けがないのは流石である。バッテリ/充電を示すLED が点かないのでバッテリは ダメかと思っていたら、何時の間にか充電を示すオレンジ色の点灯になっている。 しばらく充電を続けてみると十分に活きていたのは儲けもの。

さて、こうなったら本格的に再生を図ろう。

下準備その1・ハードウェア編

HDD 無し、メモリ 8M (オンボード)ではなんとも苦しい。まぁこれでも PicoBSD や LPR(Linux)で Firewall などとして使えないこともないが、それでもメモリ 8M では 実用ぎりぎりか。とりあえず、現在の Internet サーバ(HTTP,SMTP など)の代替を考えて メモリを増設し、HDD も入れよう。

というわけでスペックはこのようになった。

   IBM ThinkPad 560(Type 2640-FJE)
   LCD:12.1インチ/TFT/SVGA
   CPU:P133MHz
   Memory:40M
   HDD 1.3GB

   * 参考サイト *
   IBM ThinkPad Love   
   http://aichi.to/~thinkpad/

下準備その2・DOS/BIOS 編

ThinkPad の Easy-Setup では BIOS 関連の設定がほとんど何もできない。システム テストの他にはかろうじて時刻合わせとブートデバイスの選択ができる程度だ。 560 において BIOS 設定ユーティリティは Flash ROM には格納されておらず DOS/Windows 用として提供されているので(Linux 用もあるらしいが) FAT16 パーティションを確保し DOS を入れておく。 最小限で済ますならシステムだけ転送して英語版のユーティリティを使えばよい。 DOS パーティション中にハイバネーション領域が確保されるのでメモリ容量分の空きが確保できるように 80MB もあれば間に合うだろう。 Windows とのデュアルブートにする手もあるが、古い PC の倣いで大容量(8GB以上)の HDD を認識できない。 大容量の HDD を使う際には DiskManager という HDD 管理ツールがあるので、 それを使ってフォーマットなどができる。 今回は 1.3GB の HDD を使用したが、テストとパーティション分割、フォーマットに DiskManager を使用した。 HDD を別の PC の増設ドライブとして取り付け、パーティション分割、フォーマットを行なう際には 先頭の 64 セクタをブート用に空けておくことを忘れずに。 DOS を入れた後には MBM(Multiple Boot Manager) を入れる。FreeBSD のブートマネージャは使用しない。 蛇足ではあるが FreeBSD などの OS を入れるパーティションはいわゆる基本領域でなければならない。 DOS/Windows での拡張領域内のパーティションにインストールすることはできないので注意する。

   IBM ThinkPad DOS用ユーティリティ V4.21s
   ftp://ftp.jp.ibm.com/pub/pccsvc/thinkpad/iou103/utilities/1bu601jp.exe
   
   IBM Disk Manager 2000
   http://www.storage.ibm.com/hdd/support/download.htm
   
   MBM (Multiple Boot Manager)
   http://elm-chan.org/fsw/mbm/mbm.html

最新の BIOS は v1.20 だが、FreeBSD の電源管理と相性が悪いらしい。 調子が悪ければ v1.11 に入れ替えたほうが良いらしい。そういうこともあって インストール時には電源管理機能をすべてオフにしておくのが吉だ。 初めはそれに気が付かずにインストール中に謎のリセットがかかったりして故障を疑ってしまった。

FreeBSD 4.3R のインストール

別のマシンで作成した boot/root FD からブート、インストール。 ブート用のカーネルで CD-ROM をうまく認識できない場合にはネットワークインストールが楽だ。 LAN の他のマシンを FTP サーバとしてもよいが、ADSL が使用できるので Internet 経由でのインストールとした。

スワップに 40MB 程度取って残りはすべて / (ルート)パーティションにする。 /usr、/var などを別にする流儀もある。 最初は最低限のインストールにしておいて、無事起動できることを確認してから 追加したほうが無難だ。

XFree86 3.3.5

今回はサーバ用途を考えているので X は必要ないのだが、折角なので入れてしまう。 XFree86 の設定はそれなりに面倒臭い。特殊な構成や新機種でなければ、既に 誰かが使っているのを探して有難く使わせていただこう。

  http://fuki.sakura.ne.jp/~k/k/pc/freebsd/XF86Config

これを /etc にコピー。SVGA 用のサーバを使う。

   # cd /usr/X11R6/bin
   # ln -s XF86_SVGA X
   # xinit

/dev/sysmouse が使えないとエラーメッセージがでて正常に起動しない。 /dev/sysmouse を使うためには Mouse Daemon を動かしておく必要がある。 インストール時、あるいはインストール後に /stand/sysinstall ... configure ... mouse で設定する。

UNIX 使いとしては 'A' の左にある Caps Lock を Ctrl として使いたいので、 XF86Config の Keyboard セクションに XkbOptions を追加する。ちなみに コンソールの場合には /etc/rc.conf で keymap="jp.106x" とする。

   Section "Keyboard"
     Protocol        "Standard"
     XkbRules        "xfree86"
     XkbModel        "jp106"
     XkbLayout       "jp"
     XkbOptions      "ctrl:swapcaps"   .........  ctrl と caps lock を入れ替え
   EndSection

常に 800x600 16bit depth で使うつもりであれば、Moniter/Screen セクションから それ以外のエントリを削除(コメントアウト)してしまってもよい。

suspend / hibernation

サスペンドもハイバネーションも一応動作する。 ただし、ハイバネーションからの復帰後に PCMCIA NIC が使えなくなってしまう。 カードを予め抜いておき、復帰後に挿入しても認識してくれない。 pccardd を再起動させても同じ。BIOS (1.20)の問題だろうか。 サスペンド時にはカードへ電源が供給されており、このような問題は起こらない。 要調査だが、サーバとして使うには BIOS 設定ユーティティでこれらの設定を切っておくので保留しておこう。

後書き

続く ... かも知れない。

2001.12.09 - 不要なデバイスなどを外してカーネルを作り直し、WWW/MAIL サーバにしてみた。

適当なコンフィギュレーションでも /kernel が 1.5MB 程度になるから 3MB 超の GENERIC と比べると特にメモリの少ないマシンでの違いは大きい。 ついでに httpd の類も strip をかけて余計なシンボルは外しておく。

2002.01.09 - これでおよそ一ヶ月の連続稼動になる。NIC は Buffalo の LPC-T (デバイスはおなじく ed1)に 変更した。以前は、まとめて ftp などでデータ転送をすると謎のハングを起こすことがあった。 何のメッセージもログも残さず固まってしまうので、こうなるとリセットするしかない。 使用していた NIC (IBM ETHERNET II CREDIT CARD ADAPTER)の問題か、本体ハードの問題か、 はたまた OS および設定の問題なのか不明のままであるが、カーネルを再構成と NIC を 交換してから症状は再現していない。


home> computing> FreeBSD 4.3R on TP560
last updated on 2002.01.09 since 2001.11.24
email:masato at bird.email.ne.jp