FreeBSD on ThinkPad i1620
〜 ThinkPad i1620 で、FreeBSD を使おう 〜


●FreeBSD 導入編   〜ようやくインストール〜


FreeBSD は、インターネット経由でインストールできるのですが、私は常時接続だとか言うような贅沢(?でもないのか、最近は?)な環境を持っていないので、CD-ROMでインストールすることにします。

FreeBSD の CD-ROM は雑誌の付録などで簡単に手に入ります。
代表的な雑誌は、2002年1月現在で

 
UNIX USER 月刊誌 UNIX関連のCD-ROMが毎号ついています。
FreeBSDは、新バージョンがリリースされた1〜2ヶ月後についてくることが多いです。
FreeBSD Press 隔月刊誌? 必ずCD-ROMがついています。ときどき、DVD-ROMがついてくることもあります。
BSDmagazine 季刊誌?? 必ずCD-ROMがついています。が、最低限のものしか入っていないことが多いので、注意。NetBSDやOpenBSDなんかもついてきたりします。
などがあります。

通常、CD-ROM は bootable になっているので、i1620 に ウルトラベースX2 をドッキングさせ、CD-ROM ブートを行います。

ところで、最近の i1620 や X20 系列の場合、ウルトラベースX2が別売になっているんですね……。
USBなフロッピードライブや、USBなCD-ROMが付いていたりするようですが、これらでインストールできるかどうかは私は知りません。
 


インストールしよう

インストールですが、インストール方法は雑誌など、あちこちで紹介されているので、それらにしたがってください。
( 書くのが面倒なだけです m<__>m )

今回は、某雑誌の付録 CD-ROM より、FreeBSD 4.4R をインストールしました。
インストール時の選択肢は、こんな感じで選びました。


X11 を設定する ( XFree86 3.3.6 )


FreeBSD 4.4R の標準のXは、XFree86 3.3.6 です。インストーラで設定しなかったので、インストール後に設定しました。

i1620 に搭載のグラフィックチップは、ATI RAGE Mobility-M (4MB) ですが、XFree86 3.3.6 のMach64 サーバでは、パッチを当てないときちんと動きません。
このパッチについては、

http://home.att.ne.jp/wood/fuyu/freebsd/1620.html#hackingXF86-336
に詳しく説明してあります。
 

が、SVGA サーバを使えば、若干速度が落ちるものの(※)パッチは不要ということなので、今回は SVGA サーバを使うことにします。
インストール時に、配布物の選択を X-Kern-User にしてあれば、すでにSVGAのサーバはインストール済みのはずです。

(※)劇的にXの描画速度を上げる技をネットで見つけました。ここを参照


設定には、XF86Setup を使うのですが、困ったことに、i1620 では うまく動きません。
XF86Setup の起動時に画面が真っ暗になるので、Fn + F8 で切り抜け、各種設定に答えていきます。が、最後の「試しに起動」するところで、再び真っ暗になってしまい、こんどは Fn+F8も効かなくなります。
(OSがフリーズしたわけではないので、ここで、CTRL+ALT+DEL を押したりすると、強制的に終了できます。)

しからば、xf86config を使えばいいのですが、さっぱり使いかたがわかりません。
 

結局、インターネットの情報をもとに、手動でXF86Config を作成しました。
ちなみに、ノートパソコンでのXの設定は、

http://www.sanpei.org/Laptop-X/note-list.html
が、情報量が豊富です。

root になって、このファイルを /etc/XF86Config にコピーしておきます。
そして、/usr/X11R6/bin ディレクトリで、ln -s XF86_SVGA X とします。
あとは、(一般ユーザからでも)、startx でXが起動します。

なお、この設定ファイルの場合、16ビットカラーで起動しますが、

% startx -- -bpp 8
として起動すれば、8ビットカラーでの起動となります。-bpp の指定を変えれば、24、32ビットカラーでの起動も可能です。
 

ところで、Xのマニュアルとかには、

 [Ctrl] + [ALT] + [+(テンキー)] で解像度を上げる
 [Ctrl] + [ALT] + [-(テンキー)] で解像度を下げる
となっているのですが、i1620 では、テンキーの+、- の入力ができない(?)みたいで、解像度変更ができません。
設定ファイルでは、320x200、512x384、640x400、640x480、800x600、1024x768 が扱えるようにしてあるのに、残念です。
誰か、解決方法をしっている人がいたら、教えてください。
追記)
ところで、XFree86 4.1.0 をインストールした時に、CapsLock を有効にする方法を見つけました。3.3.6 でも同じように設定すればCapsLock が有効になるはず。こっちを参照

サスペンドできるようにする

PCCARDが使えるようにする

サウンドが使えるようにする


インストールしたままの状態では、APMも、PCCARDも、サウンドも、使えません
なので、まずはこれらを使えるようにしましょう。
 

/boot/kernel.conf を作成し、
enable apm0
と記述しておきます。
補足)FreeBSD 4.3R 以前のバージョンをインストールした場合は、
pcic0 irq 10
も記述する必要がありましたが、4.4R では、不要になりました。


/etc/rc.conf を編集して、

hostname="hogehoge"
apm_enable="YES"
pccard_enable="YES"
を追加します。それぞれ、こんな意味です。
 
hostname ホスト名の設定です。適当な名前をつけましょう。
apm_enable YESで、APM が有効になります。
pccard_enable YESで、PCCARD が有効になります。
また、このファイルのどこかに
keymap="jp.106"
と記述されていると思いますが、[CTRL] と [CAPS] を入れ替えたい場合、 ここを「jp.106x」に変更しましょう。
 keymap="jp.106x"
これでOK。

/boot/loader.conf を編集して、

snd_cs4281_load="YES"
を追加します。
これは、起動時に、(i1620に搭載されている) CS4281 のサウンドドライバを組み込む設定です。
補足)サウンドの対応は、4.3R からです。


これで準備OK。早速再起動してみましょう。
 

おまけ)
hostname を設定したら、/etc/hostsにも反映させておきましょう。
/etc/hosts を修正して、「localhosts.my.domain」「myname.my.domain」の箇所を、/etc/rc.confで設定したhostnameに変更しておきましょう。
ところで、最近の雑誌のインストール関連の記事では、hostnameの設定なんか載ってませんね。不要なんでしょうか?  昔からの癖で、必ず名前を付けてしまうのですが…。

APM を使う前に・・・

サスペンドには、zzz コマンドを使います。(または、apm  -z でもOK)
が、このコマンドはoperator グループに属するユーザしか使えません。

/etc/group ファイルを適宜、編集しておきましょう。

また、Fn + F4 でサスペンド、Fn + F12 でハイバネーションが出来ます。
(注意 ハイバネーションをするためには、前準備が必要です。ここを参照)


PCCARD を使う前に・・・

普段よく使っているPCCARDは大抵、スロットに挿すと認識してくれます。

私がよく使っている、コンパクトフラッシュや、XPressDoc は、挿入すると ata4 として認識されます。
これらを使うためには、マウントする必要があるので、設定しておきます。

 まず ata4 のデバイスファイルを作成します。

 # cd /dev
 # ./MAKEDEV ad8
 次に、マウントポイントを作成
 # mkdir /flash
 /etc/fstab を編集して、
 /dev/ad8s1      /flash      msdos    rw,noauto    0    0
 を追加します。
 これで以下のようにすれば、マウントできます
 # mount /flash

サウンドを使う前に・・・

/etc/fbtab を編集し、「#/dev/ttyv0  0600  /dev/pcaudio:/dev/pcaudioctl」の行の先頭の「#」を削除しておきます。
詳細はよく知りません。^_^;;; (不要ですか?)

内蔵モデムを使えるようにする

i1620 には、Lucent製 のモデムが内蔵されています。
が、周知のとおり、このモデムは WinModem という、Windows でしか利用できないソフトウェアモデムです。
当然、FreeBSD では動きません。

・・・が、Linux では、この手のソフトウェアモデムを動かそうという試みがあり、i1620のモデムが動くドライバがあるそうです。Linux では動くのに、FreeBSD では動かないなんて、悲しい・・・と思っていたら、なんと、FreeBSD の Linux Emulator 機能を使って、この Linux 用のドライバを動かした人がいました。

http://www.geocities.com/wtnbkysh/
ここには、4.3R のバイナリが置いてあります。4.4R では動くかどうか知りませんが、いずれにせよ、ドキュメントに従い、コンパイルすれば 4.4R でもOKです。
なお、カーネルモジュールになっているので、カーネル自体の再構築は不要です。

ドキュメントどおりにコンパイル、インストールに成功すれば、/dev/cual0 というデバイスが出来ています。早速動作確認してみましょう。
(ドキュメントを読んで、/etc/ppp/ppp.conf にパッチを当てておきましょう。)
 

モジュールをロードします。
# kldload ltmdm.ko
ppp で動作確認しましょう。
# ppp
(…いろいろメッセージが表示される)
term と入力します。
ppp> term
AT と入力して、OK が表示されれば正常に動いています。
適当にダイアルして、ちゃんとつながることを確認しましょう。
 
AT
OK
ATDT117
(時報のダイアルにかかるはず)
~. を入力して終了し、quit を入力して、ppp を終了します。
ppp> quit
#
正常動作が確認できたら、起動時にこのカーネルモジュールを自動的にロードするようにしましょう。
/boot/loader.conf を編集して、
ltmdm_load="YES"
を追加しておきます。
追記)
いつのまにか、この ltmdm は、ports / packages になっていますね。私が今見たところ、最新は 「ltmdm-1.4」となっています。これを入れれば、カーネルを構築しなおさなくても、簡単にインストールできます。


その他のデバイスはつかえない? (USB・IEEE1394・などなど)

i1620 には、他にもいくつかのデバイスがあります。

1. USB
インストールしたままの状態で、USBは使用可能になっています。
手持ちのUSBマウスは、差し込むと即座に使えました。
フロッピーディスク、CD-R、スキャナも持っているのですが、これらはどうすれば使えるのかが分かりませんでした。
ま、いずれも普段はほとんど使っていないので、また暇を見て使えるどうかみてみます。

2. IEEE1394
これにつながるデバイスを一切持っていないのでパス。多少は使えるらしいですが。

3.コンパクトフラッシュ専用スロット
これはPC-CARDと同じように使えています。

4. Card-Bus
これはまだ未対応のようです。カードを挿すと、対応してないとか何とかメッセージがでます。

5.ウルトラベースX2
電源ON時に接続しておけば問題なく使えるのですが、ホットスワップは予想通りできませんでした。
むりやり外すとハングしてしまいます。

ちなみに、サスペンドしてから外してレジュームすると、一応切り離すことはできるみたいです。(復帰時に時間がかかるが)
また、サスペンドしてから接続してレジュームすると、FDDだけは使える見たいです。スピーカーもステレオで鳴っています。ただし、CDの方は使えませんでした。

「ホームページ」に戻る


Showzoh Fukunaga
メールはこちら……… fukuchan@mh1.117.ne.jp