FreeBSD 2.1.0R 設定概論第1

Copyright(c) 1996 George(小浜 純). All rights reserved.
Last Update Mar. 10, 1997
FreeBSDページの目次に戻る
ホームページに戻る

FreeBSDをインストールする前に

  1. ハードウェアの設定

    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対応カードを持っていないので詳細は不明である。(^^;)。

  2. SCSIカード(AHA-1542CF)の設定

    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ページの目次に戻る


    ユーザー登録

    FreeBSDでは、インストールプログラムからユーザー登録が行なえるようになっている。 しかし、インストールした後しばらくしてからユーザーを増やしたい場合には、自分でユーザー登録をしなければならない。 ユーザー登録の手順は次のようになる。

    1. vipwコマンドでユーザーを登録する。
      vipwコマンドは、エディタviを使ってテキストファイル形式のユーザー情報ファイル(/etc/passwdファイル)を編集して、編集終了後に自動的にユーザーデータベースに登録してくれるコマンドである。
    2. 必要ならば /etc/group ファイルを編集して、特定のユーザーがどのグループに属するかを指定する。
    3. 適当なディレクトリにユーザーのホームディレクトリを作成する。
    4. 作成したユーザーのホームディレクトリは、chown コマンドを使ってユーザーのものにする。
    5. ユーザーに必要なファイル(例えば .cshrc)をユーザーのホームディレクトリに用意する。
    6. ユーザーに必要なファイルは、chown コマンドを使ってユーザーのものにしておく。
    大体の手順は上の通りだが、いくつかの Tips がある。 そんなわけで、私の主に使っているログイン名は george なのだが、 /etc/group には以下のように記述している。(以下は抜粋)
    wheel:*:0:root,george
    operator:*:5:root,george
    
    記述方法は上記の通り、追加したいグループ名の行に "," でつないでユーザー名を書くだけである。

    FreeBSDページの目次に戻る


    106キーボード対応

    FreeBSDが前提としているキー配列は、アメリカのいわゆるASCIIキーボード(101キーボード)である。 だが、今まで日本のJIS配列(106キーボード、最近のWindowsキーボードは109キーボード)に慣れ親しんでいると、記号文字の配置が異なるので、慣れるまで結構大変である。 そんな場合は、以下のようにして、キーボードをJIS配列に定義し直してしまおう。

    1. /etc/sysconfigの内部で、
      keymap=jp.106
      
      とする。
    2. リブートする。
    以上の方法で、106キーボードが利用できるようになる。 リブートせずに、そのままキーボードの設定を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 も参照して欲しい。

    FreeBSDページの目次に戻る


    カーネルコンフィギュレーション

    話しはいきなり飛んで、カーネルコンフィギュレーションに移る。 カーネルコンフィギュレーションとは、カーネルをローカルマシンのハードウェア構成に合わせて変更することである。 MS-DOSやWindows95などでは、カーネルの部分(例えば msdos.sys)は変更せず、デバイスドライバの追加によって様々なハードウェアに対応していた。 だが、ハードウェアの変更が頻繁でなければ、カーネルにデバイスドライバを組み込んでしまった方が実行効率が良いのである。 そこで、各自のマシン設定にあったカーネルを各自でつくり出すわけである。

    カーネルコンフィギュレーションの方法は次のようになる。

    1. su でスーパーユーザーになる。
    2. cd /usr/src/sys/i386/conf でコンフィギュレーションディレクトリに移動
    3. そのディレクトリにある GENERIC と LINT を参考に、自分専用のコンフィギュレーションファイル(ここでは、ファイル名をGEORGEとしよう)を作成する。
      GENERICというファイルは、ブートフロッピーを作成した時のコンフィギュレーションファイルで、LINTというファイルは、記述できる全てのオプションを記述したコンフィギュレーションファイルである。 サウンドブラスターなどのサポート用オプションは、GENERICの中には無く、LINTの中に設定例と説明が英語で書かれているので、こちらを参照すると良いだろう。
    4. config GEORGE を実行する。
    5. cd ../../compile/GEORGE で、 config コマンドで作成されたコンパイル用ディレクトリに移動する。
    6. make depend ; make でカーネルを作成する。
    7. cp /kernel /kernel.old で、オリジナルの古いカーネルをバックアップする。
    8. cp kernel /kernel で、今作成したカーネルをルートディレクトリにコピーする。
    9. shutdown -r now して、コンピュータを再起動する。
    以上の操作でカーネルのコンフィギュレーションは完了する。 さて、カーネルコンフィギュレーションの方法がわかったところで、実際にどんなことを設定するのかを簡単に説明しよう。
    必要のないデバイスは # でコメントにしてしまう。
    これで、FreeBSDの起動速度が向上する。 削った方が良いデバイスは、持っていない SCSI カードコントローラだろう。 NCR BUSLOGIC ADAPTECと色々なメーカーの SCSI カード用の設定があるので、自分のマシンに使っているもの以外はコメントにしてしまおう。 コンフィギュレーションファイル内部では、ncr0, bt0, ahc0 とか意味不明な名前で記述されているので、何のデバイスかわかりにくい。そんな場合は LINT の中に説明があるので見てみると良い。
    必要なデバイスは LINT から設定をコピーしよう。
    サウンドブラスターやMIDIなどの設定はインストール直後のカーネル(GENERICから作成されたもの)には含まれていない。 LINTには、設定できるデバイスの例がすべて書いてあるので、必要な部分だけカット&ペーストしよう。

    FreeBSDページの目次に戻る


    カーネルコンフィギュレーション(ps/2 mouse)(FreeBSD 2.1.0R)

    私のマシンは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 psmintr
    
    1行目でデフォルトのマウスをコメントにして、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 として利用できるようになる。

    FreeBSDページの目次に戻る


    カーネルコンフィギュレーション(tun device)

    すっかり当初の目標(楽楽インターネット接続)を見失っている感じがするこのホームページであるが、やっとPPP接続に関係する項目までたどり着いたようだ。

    tunデバイスとは、iij-pppを利用するのに必要なトンネルデバイスのことである。 トンネルデバイスとは、通常はカーネルに含まれているデバイスドライバ本体を、ユーザーアプリケーション上に記述するためのもので、文字通りデバイスドライバのふりをする通り穴(すなわちトンネル)のことである。 tunデバイスがアクセスされると、ユーザーアプリケーション上にあるデバイスドライバ(この場合はiij-ppp)にアクセスしたことになるのだ。

    早速インストール方法を解説しよう。 カーネルコンフィギュレーションファイルに以下のように記述して、カーネルを再構築すれば良い。 コンフィギュレーションファイルGENERICには、既に以下のように記述されているので、特に変更する必要はないと思うが、一応確認してみよう。

    # ijppp uses tun instead of ppp device
    #pseudo-device	ppp	1
    pseudo-device	tun	1
    
    tunの右側にある数値は、「同時に使用するtunデバイスの数」を指定する。 私の環境では、FreeBSDが動作しているマシンはスタンドアローンなので1を指定してみた。 以上の操作で、tunデバイスの準備は完了である。

    FreeBSDページの目次に戻る


    スタンドアローンマシンのネットワーク設定

    スタンドアローンのマシンでも(つまり、ネットワークに接続していないマシンでも)、ネットワークに関する設定は必要である。 ここをうまく設定しないと、ローカルマシン内部でのメールが送信できなくなったり、muleの起動が遅くなったりするのだ。 ここで設定するのはループバックデバイスだけである。 ループバックデバイスは、ローカルマシン内部で動作しているプログラム同志でTCP/IP接続を疑似的に行なうためのものだ。 単なる無駄なデバイスのように見えるが、通常はTCP/IPで他のマシンと通信を行なうプログラムでも、全く変更することなしにローカルマシン内部で利用できるという利点がある。 ローカルループバックを有効にするためには、 /etc/sysconfig 内部で以下のように指定する。
    network_interfaces="lo0"
    ifconfig_lo0="inet localhost"
    
    また、FreeBSD 2.1.0Rのインストール直後の/etc/sysconfigの中では、static_routesの指定がされている。 static_routesとは、文字通り「パケットを送る際には、何が何でも絶対に<ここ>にパケットを送れ」という指定であり、スタンドアローンマシンでは全く意味が無いどころか、かえって有害である。 「muleの起動が遅い」「マシン内部ですらメールが送れない」などのヘビーな弊害が出るので、以下のように変更しよう。
    #static_routes="multicast loopback"
    #(元からある static_routes= の行をコメントにしてしまう。)
    
    以上の変更を加えて、マシンをリブートしよう。

    FreeBSDページの目次に戻る


    光磁気ディスクの接続設定

    FreeBSD 2.1.0 Release では、標準では光磁気ディスクドライブ(以下、MOドライブ)を利用することができない。 そこで、カーネルに差分を当てて、MOドライブに対応させる必要がある。 まずは、以下のftp siteからカーネルの差分を入手しよう。 パッチファイルを入手したら、添付のドキュメントにしたがって、カーネルコンフィギュレーションを行うと良い。

    また、不幸にもオリンパスの1Mキャッシュ付きの230 MOドライブを使っている人は、 オリンパスドライブ対応差分 も見て欲しい。

    FreeBSDページの目次に戻る


    home: <george@yk.rim.or.jp> or <GHD00157@niftyserve.or.jp>