IDE接続のHDDにFreeBSDをインストールしている場合は特に問題はないと思う。 だが、SCSI接続のHDDにFreeBSDをインストールしている場合は、できるだけSCSIカードのIRQやDRQ(DMA チャンネルの設定)をSCSIカードの出荷時の設定に戻しておいた方がいいだろう。 SoundBlaster16シリーズとAdaptec AHA-1542シリーズは、工場出荷時の設定が衝突していることで有名だが、変更する場合はSoundBlasterの方を変えるべきである。 サウンド機能がなくともFreeBSDは起動できるが、SCSIが読めないとFreeBSDは起動できないからである。 また、SCSIカードのI/OアドレスやIRQ,DRQ,サウンドカードのBASE I/O アドレスやIRQ,DRQはメモして保存しておこう。 自動ハードウェア検出機能(Plug & Play)はある程度信用できるが、完全ではない。 機械を使うのは、人間の知恵と勇気なのだ。(フォワードとバックアップは一心同体かどうかは定かではない)
最近の拡張カードの多くは、大体PnP(Plug & Play)対応になっているのだが、FreeBSDとは相性が悪い。 できればPnPではない古いカードを利用するのが良いのだが、最近はPnPカードしか売っていないのである。 対応策は、PnP機能をオフにできるカードならオフにして、手動で設定するのが良い。 PnP機能をオフにできないカードでは、付属の設定ソフト(DOSで動作するだろう)を使って、あらかじめカードの設定を変更しておくしか方法が無いと思う。
Windows95とFreeBSDを交互に起動した場合、Windows95が勝手にカードのコンフィギュレーションを変更してしまう場合がある。 この場合はほとんど処置無しのように思うが、私はISAのPnP対応カードを持っていないので詳細は不明である。(^^;)。
AHA-1542CFに限らず、多くのSCSIカードの設定には「enable over 1GB」という項目がある。 この項目をenableにしている場合は、ハードディスクのアクセス方法が通常の方法とは多少異なるので、インストール前にCD-ROMに入っているpfdisk.exeでハードディスクのジオメトリを調べておいてメモしておく必要がある。 ちなみに、うちのHDDのIBM DPES-31080Sの設定では以下のように表示された。
heads 131 cylinders 255 sectors 63この値はFreeBSDのインストールで、Disk partition を設定するときにSet Disk Geometryコマンドで設定しなければならない。 FreeBSDページの目次に戻る
ホスト名とは、自分のマシンの名前のことである。 これは、自分の趣味でつけてかまわないだろう。 多くのホストが惑星の名前(marcury)とか登場人物の名前(asuka)とか登場コンピュータの名前(magi,hal)など、趣味的な名前をつけているのだ。 ただし、半角アルファベットの小文字で最大8文字以内に設定するのが吉である。 これは、uucpなどの一部のアプリケーションが扱えるホスト名の長さに制限がある(uucpは8文字まで)ことに起因している。 FreeBSD 2.1.0 では、ホスト名は /etc/sysconfig ファイル内部の hostname= の部分を書き換えて指定する。 インターネットプロバイダでPPP接続を行なう予定があるなら、ホスト名は適当に付けて、ドメイン名はプロバイダのドメイン名にしておく方が賢明かもしれない。
賢明な例(プロバイダはリムネット横浜(yk.rim.or.jp)の場合) hostname=magi.yk.rim.or.jp domainname=yk.rim.or.jpちなみに、うちの設定は以下のようになっている。 (/etc/sysconfigより抜粋)
hostname=magi.nerv.jp domainname=nerv.jpうーん。とっても恥ずかしいホスト名だ。 FreeBSD 2.1.0はBSD 4.4ベースなので、ホスト名には magi.nerv.jp、ドメイン名には nerv.jp のように指定するらしい。(最近知った....) このホスト名は /etc/hosts にも下記のように指定する必要がある。
127.0.0.1 magi.nerv.jp magi localhostここには、ローカルホスト名をスペースで区切って必要なだけ並べて記述する。 ローカルホスト名 localhost は削除してはならない。かなり多くのソフトが、デフォルトでこの名前を利用するからだ。 ちなみに、ここに変更後のホスト名設定しないと、sendmailがローカルメールを送信できなくなるのである。
余談だが、多くのUNIXなシステムでは /etc/myname というファイルにホスト名を書き込むことによって指定する。 SUN OS を使っていて「sysconfigファイルが無いよー」と泣くと恥ずかしいので注意が必要である。 なお、SUN OSはBSD 4.3ベースなので、ホストの名前だけを /etc/myname に指定すること。(例えば magi)ドメイン名の方に(例えば nerv.jp)のように指定する。 さらに余談だが、SUN OS 4では /etc/myname は無くて、/etc/hosts にゴリゴリ指定するだけで良いらしい。
FreeBSDでは、インストールプログラムからユーザー登録が行なえるようになっている。 しかし、インストールした後しばらくしてからユーザーを増やしたい場合には、自分でユーザー登録をしなければならない。 ユーザー登録の手順は次のようになる。
wheel:*:0:root,george operator:*:5:root,george記述方法は上記の通り、追加したいグループ名の行に "," でつないでユーザー名を書くだけである。
FreeBSDが前提としているキー配列は、アメリカのいわゆるASCIIキーボード(101キーボード)である。 だが、今まで日本のJIS配列(106キーボード、最近のWindowsキーボードは109キーボード)に慣れ親しんでいると、記号文字の配置が異なるので、慣れるまで結構大変である。 そんな場合は、以下のようにして、キーボードをJIS配列に定義し直してしまおう。
keymap=jp.106とする。
kbdcontrol -l /usr/share/syscons/keymaps/jp.106.kbdとする。
また、 /usr/share/syscons/keymap/ には、様々なキーマップファイルがあるが、jp.106x.kbdファイルは、CAPS LOCKとCTRLキーを入れ換えた設定となっているものだ。 利用方法は上述の操作で、``jp.106''を``jp.106x''に変えれば良い。
以上の操作でコンソールモードのキーボード配列は106キーボードに対応させることが出来る。 X Window System では、さらに設定が必要なので、 FreeBSD X 概論第1 も参照して欲しい。
話しはいきなり飛んで、カーネルコンフィギュレーションに移る。 カーネルコンフィギュレーションとは、カーネルをローカルマシンのハードウェア構成に合わせて変更することである。 MS-DOSやWindows95などでは、カーネルの部分(例えば msdos.sys)は変更せず、デバイスドライバの追加によって様々なハードウェアに対応していた。 だが、ハードウェアの変更が頻繁でなければ、カーネルにデバイスドライバを組み込んでしまった方が実行効率が良いのである。 そこで、各自のマシン設定にあったカーネルを各自でつくり出すわけである。
カーネルコンフィギュレーションの方法は次のようになる。
私のマシンはPS/V Master なので、マウスはPS/2タイプである。 FreeBSD 2.1.0Rでは、カーネルコンフィギュレーションでデフォルトのシリアルマウスを外してPS/2マウスのサポートを入れる必要がある。以下は変更後のコンフィギュレーションファイル GEORGE から抜粋したものである。
#device mse0 at isa? port 0x23c tty irq 5 vector mseintr device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr1行目でデフォルトのマウスをコメントにして、2行目にPS/2マウスを追加している。 色々と長く書いてあるが、自分ではLINTからカット&ペーストしただけなので内容についてはよく知らないが、PS/2 mouseのirqはどのマシンでも変更されていないようなので、このまま設定すれば大丈夫だろう。
カーネルコンフィギュレーション の項目の方法で、カーネルを再構築しよう。 カーネルの再構築が終了したら、新しく作成したカーネルを使うため、一度リブートする。
続いて、デバイスファイルを作成する必要がある。 デバイスファイルとは、/devディレクトリの下にあるファイルのことで、unix系統のOSでは、デバイスファイルを通して外部とのデータのやりとりをすることになっているらしい。 作成方法は簡単で、
cd /dev ./MAKEDEV psm0を実行すればよい。 ついでに、/dev/psm0 を /dev/mouse でもアクセスできるように、シンボリックリンクを作成しておこう。
cd /dev ln -s psm0 mouse以上の操作で、/dev/psm0 と /dev/mouse はどちらも PS/2 mouse として利用できるようになる。
すっかり当初の目標(楽楽インターネット接続)を見失っている感じがするこのホームページであるが、やっとPPP接続に関係する項目までたどり着いたようだ。
tunデバイスとは、iij-pppを利用するのに必要なトンネルデバイスのことである。 トンネルデバイスとは、通常はカーネルに含まれているデバイスドライバ本体を、ユーザーアプリケーション上に記述するためのもので、文字通りデバイスドライバのふりをする通り穴(すなわちトンネル)のことである。 tunデバイスがアクセスされると、ユーザーアプリケーション上にあるデバイスドライバ(この場合はiij-ppp)にアクセスしたことになるのだ。
早速インストール方法を解説しよう。 カーネルコンフィギュレーションファイルに以下のように記述して、カーネルを再構築すれば良い。 コンフィギュレーションファイルGENERICには、既に以下のように記述されているので、特に変更する必要はないと思うが、一応確認してみよう。
# ijppp uses tun instead of ppp device #pseudo-device ppp 1 pseudo-device tun 1tunの右側にある数値は、「同時に使用するtunデバイスの数」を指定する。 私の環境では、FreeBSDが動作しているマシンはスタンドアローンなので1を指定してみた。 以上の操作で、tunデバイスの準備は完了である。
network_interfaces="lo0" ifconfig_lo0="inet localhost"また、FreeBSD 2.1.0Rのインストール直後の/etc/sysconfigの中では、static_routesの指定がされている。 static_routesとは、文字通り「パケットを送る際には、何が何でも絶対に<ここ>にパケットを送れ」という指定であり、スタンドアローンマシンでは全く意味が無いどころか、かえって有害である。 「muleの起動が遅い」「マシン内部ですらメールが送れない」などのヘビーな弊害が出るので、以下のように変更しよう。
#static_routes="multicast loopback" #(元からある static_routes= の行をコメントにしてしまう。)以上の変更を加えて、マシンをリブートしよう。
また、不幸にもオリンパスの1Mキャッシュ付きの230 MOドライブを使っている人は、 オリンパスドライブ対応差分 も見て欲しい。