diff --git a/ja_JP.eucJP/books/handbook/kernelconfig/chapter.sgml b/ja_JP.eucJP/books/handbook/kernelconfig/chapter.sgml index 429addbee7..242c54a099 100644 --- a/ja_JP.eucJP/books/handbook/kernelconfig/chapter.sgml +++ b/ja_JP.eucJP/books/handbook/kernelconfig/chapter.sgml @@ -1,1871 +1,1230 @@ FreeBSD カーネルのコンフィグレーション - 寄稿: &a.jehamby;, 1995 年 10 月 6 日. - - 訳: &a.jp.tomo;, &a.jp.yoshiaki;. 1996 年 11 月 2 日. - - この章はシステムに合わせたカーネルの再構築の基礎について - 述べたものです. この章は, システム管理の初心者から Unix - システム管理に十分な経験を積んだ人までを対象としています. + + Synopsis + + 更新/再構成: &a.jim;, 2000 年 3 月. + 寄稿: &a.jehamby;, 1995 年 10 月 6 日. + 訳: &a.jp.tomo;, &a.jp.yoshiaki;. 1996 年 11 月 2 日. + + ハンドブックの以下の章では, 自分のシステムに合わせた + カーネルを構築する方法を知ることができます. + カーネルの再構築によりどんなメリットがあるのか不思議に思っていたり, + 自分用のカーネルを設定し, コンパイルし, インストールする方法を + 知りたいと思っているのなら, この章がお役に立てることでしょう. + + なぜカスタムカーネルを作るか? - システムに合わせたカーネルの構築はすべての - Unixシステム管理者が + システムに合わせたカーネルの構築はほとんどすべての + UNIX ユーザが 避けて通ることのできない最も重要な通過儀礼の1つです. この作業は, 多くの時間を必要としますが, あなたの FreeBSD システムに多くの利益をもたらします. - GENERICカーネルは, - めったに使われることのないハードウェアをサポートするとともに, - 考えられるすべての SCSIカードやネットワークカードをサポート - しなければなりませんが, システムに合わせたカーネルは + 広範囲のハードウェアをサポートしなければならない + GENERICカーネルとは異なり, + システムに合わせたカーネルは あなたの PC のハードウェアのみをサポートします. これは, 次にあげるような利益をもたらします. - あなたが持っていない - ハードウェアについては検出をおこなわな いので, - ブートにかかる時間が短くなります. + 素早くブートします. + カーネルはあなたのシステム上にあるハードウェアしか + 検出を行わないので, + あなたのシステムのブートにかかる時間は劇的に短くなります. + - システムに合わせたカーネルは多くの場合メモリ使用量が - 減ります. カーネルはいつもメモリ上に存在するので, - 不必要なコードがあると本来プログラムが利用できるはずの RAM - (実メモリ) を占めてしまいますのでこれは重要なことだ - といえます. したがって, メモリが少ないシステムでは, + メモリの消費量が減少します. + システムに合わせたカーネルは, 大抵 GENERIC + カーネルより少ないメモリしか消費しません. + カーネルは常にメモリ上に存在するプロセスなので, + このことは重要になります. + したがって, RAM が少ないシステムでは, カーネルの再構築は大変重要です. - 必要に応じていくつかのカーネルオプションは調整すること - ができ, またサウンドカードのような GENERICカーネルには - ない - デバイスドライバをカーネルに含めることが できます. + 追加のハードウェアをサポートします. + システムに合わせたカーネルは, サウンドカードなど + GENERIC カーネルに存在しない + デバイスのサポートを追加することができます. カスタムカーネルの構築とインストール まず, カーネル再構築に必要なディレクトリをざっと見てみましょう. ここではディレクトリはすべて /usr/src/sys 以下の相対位置で示します. また, /sys からもアクセス可能です. ここには, カーネルの各部分を構成するサブディレクトリが いくつもあります. しかし, 私たちの目的で最も重要なのは - arch/conf です. ここで, あなたの + arch/conf です. + ここで, あなたの システムに合わせてカーネルコンフィグレーションを編集します. それから compileディレクトリ, ここはカーネルが作られる 場所です. arch は, i386, alpha, pc98(これは 日本で普及している PC のための開発ブランチです)のいずれかを表します. 各アーキテクチャのディレクトリ内部にあるファイルはすべて そのアーキテクチャでのみ使用され, 残りのコードは FreeBSD が他のプラットフォームに移植される際に共有されます. サポートされているデバイス, ファイルシステム, オプションが, それぞれ各々のサブディレクトリに分かれている, という論理的な構成に注意してください. もし, あなたのシステムに/usr/src/sys 以下のディレクトリがなければ, カーネルのソースが インストールされていません. もっとも簡単な方法は (rootで) /stand/sysinstall を用いて以下のようにします. 設定(Configure) を選んでから 配布ファイル(Distribution) を選択し, src の中の sys をインストールしてください. - つぎに, arch/confに移動して, + つぎに, + arch/confに移動して, GENERIC コンフィグレーションファイルをカーネルに与えたい名前に コピーしてください. たとえば次のようにします. &prompt.root; cd /usr/src/sys/i386/conf &prompt.root; cp GENERIC MYKERNEL 慣習として, この名前はすべて大文字でつづられます. もし, いくつかの異なるハードウェアの FreeBSDマシンを扱うなら, この名前にホスト名を含めるとよいでしょう. ここでは, 例として MYKERNEL と呼ぶことにします. この作業は root権限でおこなう必要があります. そうでなければ, permission deniedというエラーが出ます. - + では, MYKERNEL をあなたの好きなエディタで編集してください. もし, システムをインストールしたばかりならば, 利用できるエディタは viだけかもしれません. ここでは使い方 の説明はしませんが, 参考図書 にあるような多くの本で詳しく説明 されていますので, そちらを参照してください. FreeBSD にはより簡単なエディタとして “ee&rdquo があります. 初心者の方であればこちらをエディタ に選ぶとよいでしょう. まずファイルの最初の方のコメント行を編集し, あなたのコンフィグ レーションに合せて変更した点などを記述して GENERIC と区別がつく ようにしておきましょう. もし SunOSや他の BSDオペレーティングシステムでカーネルの 再構築をしたことがあれば, このファイルはとても親しみ やすいでしょう. しかし, DOSのようなその他の オペレーティングシステムしか知らない人から見れば, GENERIC コンフィグレーションファイルはとても - なじみにくいものかもしれません. そのような場合は, コンフィグレーションファイル + なじみにくいものかもしれません. そのような場合は, + コンフィグレーションファイル の節をゆっくりと注意深く読んでください. 古いバージョンの FreeBSD からアップグレードを おこなう場合, 新しいカーネルソースを得た場所より新しいバージョンの - &man.config.8; を取ってくる必要があるかもしれません. これは + &man.config.8; を取ってくる必要があるかもしれません. これは /usr/src/usr.sbinにあります. したがってこれらのソースをダ ウンロードする必要があります. 次のコマンドを実行する前に (configを)作りインストールをしておいてください. 編集し終ったら, 次のコマンドによってコンパイル, インストール を行ってください. &prompt.root; /usr/sbin/config MYKERNEL &prompt.root; cd ../../compile/MYKERNEL &prompt.root; make depend &prompt.root; make &prompt.root; make install 新しいカーネルはルートディレクトリに /kernelという 名前でコピーされ, 今までのカーネルは /kernel.old という名前へ変更されます. では, システムをシャットダウン, リブー トして新しいカーネルを使ってください. うまく行かない場合は, - この章の終りの 問題が起きた場合には - を参照してください. この章の新しい カーネルがブートしない + この章の終りの + 問題が起きた場合には + を参照してください. この章の新しい + カーネルがブートしない 場合のリカバリの方法を注意深く読んでおいてください. (サウンドカードのような)新しいデバイスを 追加した場合は, 使う前に /devディレクトリで デバイスノードを追加しなければならないかもしれません. 詳しくは, デバイスノード を読んでください. コンフィグレーション ファイル コンフィグレーション ファイルの一般的なフォーマット はとてもシンプルです. 各行は1つのキーワードと1つ以上の 引数を含んでいます. 見やすくするために, ほとんどのキーワードは 引数を1つしか書いてありません. #に続くものはすべてコメントとして扱われ, 無視されます. ここでは, それぞれのキーワードについて だいたい GENERIC に出てくる順番で説明します. しかし, お互いに関係のあるキーワードは, 実際には GENERIC ファイル上に バラバラに現れていても, (ネットワーキングのように)1つにまとめ てあります. おびただしい数の オプションの一覧が GENERICと同じディレクトリの LINT コンフィグ レーションファイルにあります. もし, ある行の目的や必要性に疑 問を持ったら最初に LINT をチェックしてください. - + 数字と二重引用符 FreeBSD 3.x と, それまでの全てのバージョンの FreeBSD における - &man.config.8; は, コンフィグレーションファイル中の + &man.config.8; は, コンフィグレーションファイル中の テキストとして使われる数字を含む文字列が 全て二重引用符で括られていなければならないという制限があります. - - 数字が文字列ではなく数字として使われている場所, - 例えば maxusers 64 のような場合は, - 二重引用符を付けてはいけません. - + この制限は (このハンドブックが対象としている) + 4.X ブランチでは取り除かれました. + 4.X 以前のシステムを使っている場合には, + サンプルとしてシステム上の + /usr/src/sys/i386/conf/LINT と + /usr/src/sys/i386/conf/GENERIC + を参照してください. + - - この制限は, FreeBSD 4.x ブランチで取り除かれました. - + 以下は必要に応じてコメントを追加した + GENERIC カーネルの + コンフィグレーションファイルです. + この設定例は /usr/src/sys/i386/conf/GENERIC + に極めて近いものになっているはずです. + その他に指定可能なカーネルオプションについては, + /usr/src/sys/i386/conf/LINT + を参照してください. + + +# +# GENERIC -- Generic kernel configuration file for FreeBSD/i386 +# +# このファイルについて更に情報が必要なら, ハンドブックのカーネル +# コンフィグレーションファイルのセクションを参照して下さい. +# +# http://www.freebsd.org/handbook/kernelconfig-config.html +# +# doc ディストリビューションをインストールした場合, ハンドブックは +# ローカルマシンの /usr/share/doc/handbook でも見ることができます. +# 最新版は FreeBSD の WWW サーバ (http://www.FreeBSD.ORG/) を参照して +# 下さい. +# +# ./LINT コンフィギュレーションファイルには, デバイス行に関する大量の +# オプションと詳細な説明があります. もしある行の目的又は必要性について +# 疑問がある場合はまず LINT をチェックして下さい. +# +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246 2000/03/09 16:32:55 jlemon Exp $ + + 以下は すべての カーネルの構築に + 必須のキーワードです: + + machine i386 + + マシンのアーキテクチャです. + これは i386, alpha, + pc98 のいずれかでなければなりません. + + +cpu I386_CPU +cpu I486_CPU +cpu I586_CPU +cpu I686_CPU + + 上記はあなたのシステムの CPU タイプを指定します. + 複数の行を書いても構いません. + (例: I586_CPU とすべきか + I686_CPU とすべきかはっきり分からない場合. + しかしながら, カスタムカーネルを作る場合, あなたの持つ CPU + だけを指定するのがベストです. + もしあなたがどのタイプの CPU を使っているか分からない場合, + dmesg を使ってブートメッセージを + 調べるとよいでしょう. + + The Alpha architecture has different values for + cpu_type. They include: + Alpha アーキテクチャの場合は, + cpu_type に異なった値を用います. - - ここにある例は二重引用符(") - が使われています. もし, -current のシステムでカーネルを構築する場合は, - 引用符を削除しなければなりません. - - - - 必須キーワード + +cpu EV4 +cpu EV5 + + もしあなたが Alpha マシンを使っている場合, + 上記の内のどれかを指定して下さい. + + ident GENERIC + + ここはカーネルの識別名を書きます. + あなたがカーネルに付けたい名前に書き換えて下さい + (MYKERNELのように). + ident に書いた名前はカーネルをブートする時に + 表示されるので, + 普段使っているカーネルと区別したいときは違う名前を付けると + 良いでしょう(例: 実験的なカーネルを構築する場合). + + maxusers 32 + + maxusers オプションは重要なシステムテーブルの + サイズを決定します. + この数字はあなたのマシンを同時に使うと思われるユーザー数と + おおよそ等しくするのが良いでしょう. + しかしながら, 通常は X ウインドウシステムを使ったり, + ソフトウエアをコンパイルするでしょうから, その場合は + maxusers は最低 4 にして下さい. + その理由は, maxusers によって計算される最も + 重要なテーブルがプロセスの最大数で, それは + 20 + 16 * maxusers となります. + もし, maxusers を 1 にすると, + 同時に 36 プロセスしか利用できなくなりますが, + システムは起動時に 18 ほどのプロセスを立ち上げ, + X ウインドウシステムは 15 ほどのプロセスを立ち上げるので, + man コマンドのような単純な仕事でさえフィルタ, 展開, 表示に 9 + 個のプロセスを利用するために, プロセス数不足になります. + maxusers を 64 に設定すると, + 1044 個のプロセスを同時に利用することができるので, + 殆どのユーザには充分でしょう. + もしあなたが別のプログラムを立ち上げる時, + 恐れられている proc table full エラーが + 発生する場合や, ftp.FreeBSD.org + のように多数のユーザにより + 同時に利用されるサーバを動かしている場合には, + この数字を増やしてカーネルを再構築することができます. - ここにあるキーワードはカーネルの構築に必要不可欠です. + + maxusers はあなたのマシンにログインする + ユーザ数を制限するものでは ありません. + それは単に, あなたのシステムを使うであろうユーザの最大数や + それぞれのユーザがどれくらいのプロセスを走らせるかに + 合わせて各種テーブルの大きさを設定するだけです. + 同時にリモートログインする最大ユーザ数を制限するキーワードは + + pseudo-device pty 16 です. + - - machine arch - - 最初のキーワードは machineです. - FreeBSD は Intel の 386(とその互換)チップ, - DEC の alpha プロセッサ, そして PC98(訳注: NEC の PC-98 - シリーズおよびその互換機のこと. 以下 PC98 - という表現はすべてこれを指します)上でのみ動作するため, - i386 か - alpha を指定します. - - - - - cpu "cpu_type" - - 次のキーワードは cpuです. - FreeBSDでサポートしている CPUの中から記述します. - i386 もしくは PC98 システムで cpu_type - として指定可能な値は, 次のとおりです. - - - - I386_CPU - - - - I486_CPU - - - - I586_CPU - - - - I686_CPU - - - - Alpha システムでは指定可能な - cpu_type は - 次の通りです: - - - - EV4 - - - - EV5 - - - - GENERIC カーネルのように - cpuの行の - cpu_type - が異なった値を持つものが 複数あってもかまいません. - カスタムカーネルでは, あなたが持っている - cpuを1つだけ指定するのが 一番です. 例えば, もし Intelの - Pentiumを持っていれば, - cpu_typeには, - I586_CPU を使ってください. - - - - ident machine_name - - 次は, - カーネルの識別名となる ident です. - GENERIC - からあなたがカーネルに与えたい名前に 変えてください. - ここでは, MYKERNEL とします. - ident に与えた名前はカーネルの - ブート時に表示されるので, 普段のカーネルとは別に - カーネルに違う名前を与えたいとき(例えば, - 実験用のカーネルを作りたい時など)に便利でしょう. - - - C コンパイラに - スイッチで渡されるので, - DEBUGのような名前にしたり, - vax - といった他のCPUの名前など紛らわしい名前にしないで - ください. - - - - maxusers number - - これは, 重要なシステムテーブルのサイズを決めます. - ここ - で与えられる数字はマシンに同時にログインすると考えられ - るおよそのユーザ数です. しかし, 通常の使用環境であれば, - 特に X Window System を立ち上げたり, ソフトウェアを - コンパイルするような使用であれば - maxusers には少なくとも - 4 以上を指定したほうがいいでしょう. - その理由は, maxusers - で決るテーブルで最も重要なものはプロセス - の最大数であるからです. プロセス最大数は 20 + - 16 * maxusersで与えられ, - maxusers1 - にすると 36 プロセスしか同時には持てません. この中にはブー - ト時にシステムによって起動する18個ぐらいのプロセス, X を - 起動する時の 15 程度のプロセスも含みます. - マニュアルページを読むという 1 つのタスクでさえ, - フィルタやファイル伸長, 表示のために 9 - つのプロセスを起動します. maxusers - を 64 にすれば, 同時に 1044 - 個のプロセスを持つことができるので, - どんな人でも十分な数だといえるでしょう. - それでも他のプログラムを起動した場合に, - あるいは, (Walnut Creek CDROMのFTPサイトのように) - 同時に多くのユーザを抱えるサーバを運用していて, - proc table full - というおぞましいエラーが起きる場合は, - この値を増やしてカーネルを再構築してください. - - - maxusers はあなたのマシン - にログインできるユーザの数を制限するものでは - ありません. 単に, - あなたのシステムに - ログインするユーザ数の最大値と各々のユーザが - いくつのプロセスを走らせるかを考慮することに - よってさまざまなテーブルの値を適切な値に設定 - するだけです. これに対し, pseudo-device pty - 16の remote - logins というキーワードは - 同時にリモートログインできるユーザ数を制限 - します. - - - - - config kernel_name root on root_device - - これはカーネルの位置と名前を特定します. - 伝統的にカーネルは - vmunixと呼ばれますが, FreeBSDでは - kernelとふさわしい名前になりました. - kernel_nameにはいつも - kernel を 使ってください. - 名前を変えると多くのシステム - ユーティリティが使えなくなります. 2番目の部分は - ルートファイルシステムとカーネルのあるディスクと - パーティションを指定してください. - SCSIドライブでなければ, wd0を, - SCSIドライブならば da0です. - - - - - - - 一般的なオプション - - 以下はカーネルのサポートするさまざまなファイルシステムおよ - びその他のオプションです. + 以下に続くすべては大体において追加設定項目です. + 詳細は各項目の次に書かれている注意書きを参照して下さい. - - カーネル構築の際, オプションに対応する各 #ifdef - は, config - コマンドによってコンパイルディレクトリに作成された - opt_foo.h - 宣言ファイルから指定されたオプションを認識します. - config に有効なオプションは, - 二つのファイルに存在します. アーキテクチャに依存しないものは - /sys/conf/options であり, - アーキテクチャ依存のものは - /sys/archconf/options.arch です. - + +#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +options MATH_EMULATE #Support for x87 emulation + + This line allows the kernel to simulate a math co-processor if + your computer does not have one (386 or 486SX). If you have a + 486DX, or a 386 or 486SX (with a separate 387 or 487 chip), or + higher (Pentium, Pentium II, etc.), you can comment this line + out. + この行では, あなたのコンピュータが浮動小数点演算コプロセッサを + 持たない場合(CPU が 386 又は 486SX), + カーネルにシミュレートさせるよう設定します. + あなたが 486DX, 又は (387 や 487 チップを別途搭載した) 386, 486SX + 又は更に上位 (Pentium, Pentium II, 他) を持っている場合は + コメントアウトして下さい. + + + FreeBSD の浮動小数点エミュレーションルーチンはあまり正確では + ありません. + もしあなたが浮動小数点コプロセッサを持っておらず, + かつベストな演算精度が必要であれば, GNU の浮動小数点サポートを + 利用する GPL_MATH_EMULATION を使ってみて下さい. + このオプションはライセンス上の理由によりデフォルトでは + 含まれていません. + + + +options INET #InterNETworking + + Networking support. Leave this in, even if you do not plan to + be connected to a network. Most programs require at least loopback + networking (i.e., making network connections within your PC), so + this is essentially mandatory. + ネットワーキングサポート. + ネットワークに接続する予定がなくてもこのオプションは残して下さい. + 殆どのプログラムは少なくともループバックネットワーキング + (あなたの PC の中でのネットワーク接続) を必要としますのでこの行は + 本来必須です. + + + +options INET6 #IPv6 communications protocols + + このオプションは IPv6 コミュニケーションプロトコルを + 利用可能にします. + + +options FFS #Berkeley Fast Filesystem +options FFS_ROOT #FFS usable as root device [keep this!] + + これは基本のハードドライブファイルシステムです. + ハードディスクからブートする場合は残して下さい. + + +options MFS #Memory Filesystem +options MD_ROOT #MD is a potential root device + + これはメモリ上にマップされたファイルシステムです. + これは基本的に一時ファイルの高速格納用の RAM ディスクであり, + あなたが有効に利用したい大量のスワップスペースを持っている + 場合には有用でしょう. + 多くのプログラムが一時データをここに保存することから, + MFS パーティションをマウントする最適な場所は /tmp + ディレクトリです. + MFS RAM ディスクを /tmp にマウントするには + 次の行を /etc/fstab に追加して下さい: + + + /dev/ad1s2b /tmp mfs rw 0 0 + + + 次にリブートするか, コマンド mount /tmp + を実行して下さい. + + +options NFS #Network Filesystem +options NFS_ROOT #NFS usable as root device, NFS required + + ネットワークファイルシステム. + UNIX ファイルサーバから TCP/IP を介してパーティションを + マウントするのでない限り, これらの行をコメントアウトして下さい. + + +options MSDOSFS #MSDOS Filesystem + + MS-DOS ファイルシステム. + ブート時に DOS でフォーマットされたハードドライブを + マウントするのでない限り, この行は安全にコメントアウトできます. + この機能は最初に DOS パーティションをマウントする時に自動的に + ロードされます. + 又, 優秀な mtools + (Ports コレクションにあります) を使ってもマウント, + アンマウントすることなしに DOS フロッピーにアクセスすることができます. + (MSDOSFS は必要としません) + + +options CD9660 #ISO 9660 Filesystem +options CD9660_ROOT #CD-ROM usable as root, CD9660 required + + CD-ROM 用の ISO 9660 ファイルシステム. + もしあなたが CD-ROM ドライブを持っていないか, + 時々データ CD をマウントするだけならこの行をコメントアウトしても + 大丈夫です (データ CD を最初にマウントする時, 自動的にロードされます). + 音楽 CD はこのファイルシステムを必要としません. + + +options PROCFS #Process filesystem + + プロセスファイルシステム. + これは /proc にマウントされる, + ファイルシステムの ふりをする もので, + &man.ps.1; のようなプログラムに, どんなプロセスが走っているか + に関するより多くの情報を提供させる事ができます. + + +options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] + + 4.3BSD とのコンパチビリティ. + 有効なままにして下さい. + この行をコメントアウトするとおかしな動きをするプログラムがあります. + + + +options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI + + この行は, カーネルがそれぞれの SCSI 機器をプローブする前に + 15 秒間待つようにします. + あなたが IDE ドライブしか持たないなら無視して結構です. + そうでないなら, ブート時間を短くするため, おそらく待つ時間を短く, + 5 秒くらいにしたいでしょう. + 勿論, そうした場合に FreeBSD が SCSI 機器を認識しなくなった場合は + 時間を元に戻す必要があります. + + +options UCONSOLE #Allow users to grab the console + + ユーザにコンソールを所有することを許可します. + X のユーザには役に立ちます. + たとえば xterm -C とコマンドを打つことにより, + コンソール xterm を起動することができます. + ここにはカーネルからのあらゆるコンソールメッセージとともに, + write, talk による + あらゆるメッセージを表示します. + + + +options USERCONFIG #boot -c editor + + このオプションはブートメニューからコンフィグレーションエディタ + を起動することができるようにします. + + +options VISUAL_USERCONFIG #visual boot -c editor + + このオプションはブートメニューからビジュアルコンフィグレーション + エディタを起動できるようにします. + + +options KTRACE #ktrace(1) support + + この行はデバッギングに役立つカーネルプロセスのトレースを + 可能にします. + + +options SYSVSHM #SYSV-style shared memory + + このオプションは System V 共有メモリを提供します. + この機能の最も一般的な使用方法は X における XSHM 拡張です. + 多くのグラフィックス重視のプログラムではこの機能を自動的に + 描画のスピードアップに利用します. + X を使っているなら, これを含めておいた方がいいでしょう. + + +options SYSVSEM #SYSV-style semaphores + + System V セマフォのサポート. + あまり使われませんが, カーネルサイズは数百バイト大きくなるだけです. + + + +options SYSVMSG #SYSV-style message queues + + System V のメッセージのサポート. + これもカーネルサイズを数百バイト大きくするだけです. + + + &man.ipcs.1; コマンドを実行するとこれらの System V + 機能を使っているプロセスのリストを表示します. + + + +options P1003_1B #Posix P1003_1B real-time extentions +options _KPOSIX_PRIORITY_SCHEDULING + + リアルタイム拡張が 1993 POSIX に追加されました. + Ports コレクションの内のいくつかのアプリケーション + (例えば Star Office) はこれを使っています. + + +options ICMP_BANDLIM #Rate limit bad replies + + このオプションは ICMP エラー応答のバンド幅制限を可能にします. + サービス不能パケットによる攻撃からマシンを保護するために必要です. + + + +# To make an SMP kernel, the next two are needed +#options SMP # Symmetric MultiProcessor Kernel +#options APIC_IO # Symmetric (APIC) I/O + + 上の行は両方とも SMP サポートのために必要です. + + +# Optionally these may need tweaked, (defaults shown): +#options NCPU=2 # number of CPUs +#options NBUS=4 # number of busses +#options NAPIC=1 # number of IO APICs +#options NINTR=24 # number of INTs + + これらは追加の SMP オプションです. + + device isa + + FreeBSD がサポートするすべての PC はこれらの内のひとつを + 持っています. + あなたが IBM PS/2 (マイクロチャネルアーキテクチャ) + マシンを持っている場合, FreeBSD は現時点では動作しません + (サポートには取組中です). + + device eisa + + あなたが EISA マザーボードを持っている場合, + この行を含めて下さい. これは EISA バスに接続されているすべての + デバイスの自動検出と設定を可能にします. + + device pci + + あなたが PCI マザーボードを持っている場合, この行を含めて下さい. + これは PCI カードの自動検出と PCI から ISA バスへのゲートウエイを + 可能にします. + + +# Floppy drives +device fdc0 at isa? port IO_FD1 irq 6 drq 2 +device fd0 at fdc0 drive 0 +device fd1 at fdc0 drive 1 + + これはフロッピーディスクコントローラです. + fd0A: + フロッピードライブ, fd1 は + B: ドライブです. + + device ata + + このドライバはすべての ATA と ATAPI デバイスをサポートします. + 最近のマシンでは device ata 行を 1 行書くだけで + すべての PCI ATA/ATAPI デバイスを検出することができます. + + +device atadisk # ATA disk drives + + ATAPI ディスクドライブには device ata + と共にこの行が必要です. + + +device atapicd # ATAPI CDROM drives + + ATAPI CDROM ドライブには device ata + と共にこの行が必要です. + + +device atapifd # ATAPI floppy drives + + ATAPI フロッピードライブには device ata + と共にこの行が必要です. + + +device atapist # ATAPI tape drives - - - 現在のオプション設定のための構成は, 3.x で導入されました. - 伝統的に, コンフィグレーションファイルにある各オプションは, - 単純にカーネルの Makefile 内の CFLAGS 行における - オプションスイッチに変換されます. - これは, 実際にどのオプションがどのファイルで参照されているのかという - 情報を持たないため, 予期しないオプション設定(creeping - optionism)を引き起こす可能性があります. - - - - - - options MATH_EMULATE - - これは, 数値演算コプロセッサがない コンピュータ - (386や486SX) で数値演算コプロセッサ - のエミュレーションを可能にします. もし, Pentiumや 486DX, - あるいは387や487があれば, コメントアウト - できます. - - - FreeBSD付属の数値演算 - コプロセッサエミュレータはあまり正確では - ありません. - 非常に正確な計算をおこないたい ならば, より優れた - GNUのエミュレータである - GPL_MATH_EMULATEに変えることを - おすすめします. これはライセンスの関係でデフォルトでは - 含まれていません. - - - - - options "COMPAT_43" - - 4.3BSDとの互換性のためのオプションです. - そのままにしておいてください. コメントアウトすると, - いくつかのプログラムで動作がおかしくなります. - - - - options UCONSOLE - - ユーザがコンソールを横取り (grab) - できるようにします. これは X Window System - 上で便利です. 例えば, コ ンソール xtermを xterm - -Cとタイプして作ると, そこに - write, talk - などのメッセージがカーネルからコ - ンソールへ送られるメッセージと同じように表示されます. - - - - - options SYSVSHM - - このオプションは System V の共有メモリを提供します. - X Window System の XSHM拡張での利用がもっとも一般に見 - られる例で, 多くのグラフィックを多用したプログラム - (movie player の Xanimや Linux DOOMなど) ではこれを - 利用することで速度が増加するというメリットがあります. X - Window System を利用するのであればこれは間違いな - く含めたくなるでしょう. - - - - options SYSVSEM - - System V のセマフォをサポートします. - 一般的に利用される - ことは少ないですがカーネルサイズの増加は数百バイトだ - けです. - - - - options SYSVMSG - - System V のメッセージをサポートします. - これを指定した場 - 合もカーネルサイズの増加は数百バイトだけです. - - - &man.ipcs.1; コマンドは これらの System V - の機構を利用しているプロセスを表示し ます. - - - - 訳注: 共有メモリ, セマフォ, - メッセージ(メッ セージキュー) は System V系 - で一般的なプロセス間通信の機 構です. くわしくは System - Vのプロセス間通信に関する文 献, 「詳解 - UNIXプログラミング」 (ソフトバンク) , 「UNIXネッ - トワークプログラミング」 (トッパン) - などを参照してくださ い. - - - - - - - - ファイルシステムオプション - - これらのオプションはさまざまなファイルシステムへのサポート - を追加します. 少なくともブートするためのデバイスのサポートを含 - める必要があります. 標準的にはハードディスクからブートするので - あれば FFS , - ディスクレスワークステーションとしてイー - サネットからブートするのであれば NFSです. - 一般的に利用される他のファイルシステムをカーネルに含め, あまり - 利用しないファイルシステム (多分 MS-DOSファイルシステム?) - のサポー トをコメントアウトすることができます. これは - Kernel Module ディレクトリ /modules から, - 最初にそのタイプのファイ ルシステムがマウントされる時に - 動的にドライバがロードされるからです. - - - options FFS - - 基本的なハードドライブ ファイルシステムです. - ハードディ - スクからブートする場合は残しておいてください. - - - - options NFS - - ネットワーク ファイルシステムです. Ethernet経由で - Unixファ - イルサーバからパーティションをマウントする予定がない場 - 合はコメントアウトすることができます. - - - - options MSDOSFS - - MS-DOS ファイルシステムです. ブート時に - DOSフォーマット のハード - ドライブをマウントする予定のない場合はコメン - トアウトしても安全です. 先に示したように, DOSパーティ - ションをマウントする時に自動的にロードされます. また - (ports コレクションにある) - mtools という素晴 - らしいソフトウェアにより mount , unmountなしで DOSフロッ - ピーにアクセスすることができます (これは MSDOSFSも必要 - ありません). - - - - options "CD9660" - - CD-ROMのための ISO 9660 ファイルシステムです. - CD-ROMを 持っていないか, 時々 データ - CDをマウントするだけならコ メントアウトしましょう - (データ CDを最初にマウントする - 時に動的にロードされます). オーディオ CDはこのファイル - システムは必要ありません. - - - - options PROCFS - - プロセス ファイルシステムです. - これは疑似的なファイルシ ステムで - /proc にマウントされ, - &man.ps.1; などのプロ - グラムがプロセスに関してより詳しい情報を与えてくれるよ - うになります. - - - - options MFS - - メモリマップド ファイルシステムです. - これは基本的に一時 ファイルを記憶するための高速な - RAMディスクで, 大きな swap領域がある場合に有効です. - MFSパーティションをマウ - ントするに適した場所は多くのプログラムが一時ファイルを - 置く /tmpです. MFS RAMディスクを - /tmp にマウントするには以下の内容を - /etc/fstabに追 加してリブートするか - mount /tmpとタイプします. - - -/dev/wd1s2b /tmp mfs rw 0 0 - - - /dev/wd1s2bをあなたが使用して - いるswap パーティションに置き換えてください. これは以 - 下のように /etc/fstab - に書かれているでしょう. - - - -/dev/wd1s2b none swap sw 0 0 - - - - また, MFS ファ - イルシステムは動的にロードすることは - できません . - したがって使いたい場合はコンパイル時に カーネルに - 含める必要があります. - - - - - options "EXT2FS" - - Linux のファイルシステム. ext2fs のサポートにより, - Linux パーティションを読み書きすることができます. - これは, FreeBSD と Linux - のデュアルブートシステムにおいて - 両者でデータを共有したい場合に有用です. - - - - options QUOTA - - ディスククォータを有効にします. - アクセスが公開されてい るシステムで (一人のユーザが) - /homeパーティショ ン (全体) - をあふれさせることができないようにそれぞれのユーザ - にディスククォータを発行することができます. - ディスククォータについての詳しい内容はディスク - クォータの章を見てください. - - - - - - - 基本的なコントローラとデバイス - - この節では FreeBSDでサポートされているディスク, テー プ, - CD-ROMコントローラについて示します. SCSI コントローラと ネットワーク - カードについ ては別の節になっています. - - - controller isa0 - - FreeBSD のサポートするすべての PCで必要です. IBM - PS/2 (マイ クロチャネルアーキテクチャ) では現時点では - FreeBSDは動 きません. - - - - - controller eisa0 - - EISA バスを持つマザーボードの場合に追加して下さい. - このオプションは, EISA バス上に存在する全てのデバイスの自動検出, - 設定をサポートします. - - - - controller pci0 - - PCIバスを持つマザーボードの場合は含めます. - これにより PCIカードの自動認識と PCIから - ISAバスへのゲートウェイが 可能になります. - - - - controller fdc0 - - フロッピードライブコントローラです. - fd0A: - ドライブで fd1 は - B: ドライブです. - ft0 は - フロッピーコントローラに接続する QIC-80 テープドライブで - す. 対応するデバイスがない場合はそれぞれの行をコメント - アウトしてください. - - - QIC-80テープのサポートは別に - &man.ft.8; というフィルタプログラムが必要です. - くわしくはマニュアルページを見てください. - - - - - controller wdc0 - - プライマリIDEコントローラです. - wd0 と - wd1はそれぞれマスタ, - スレーブドライブで す. wdc1 は - セカンダリの IDEコントローラで3台 目, - 4台目のハードディスクまたは IDE CD-ROMのある場合に - 使います. 利用しない行はコメントアウトしてください (例え - ば, SCSIハードディスクのみを使う場合は6行全部をコメント - アウトしてもよいかもしれません). - - - - device acd0 - - このデバイスは IDE CD-ROMのサポートをします. - wdc0を有効にしておく必要があり, もし - 2つ以上の IDE コントローラがあり, そのうちの - 2つ目のカードに CD-ROMを接 続する場合 - wdc1 も必要です. また - options ATAPI - を書いておく必要もあります. - - - - device npx0 at isa? port "IO_NPX" irq 13 vector npxintr - - npx0 は FreeBSD - ハードウェアコプロセッサとソフト - ウェアエミュレータ両方の浮動小数点演算ユニットへのインタ - フェースです. これは 不可欠 - です. - - - - device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr - - Wangtek と Archive の QIC-02/QIC-36 - テープドライブのサポートです. - - - - Proprietary CD-ROM support - - 以下のようなドライブを - proprietary(独自の) CD-ROM - ドライブと呼ぶことにします. これらのドライブは専 - 用のコントローラを持つか, サウンドブラスタ16などのサウ - ンドカードに接続します. これらは IDEでも - SCSIでもあ りません. - 多くの標準速や2倍速の古い CD-ROMはこれら - のインタフェースを持っていますが, - 新しいものはほとんど - IDE か - SCSI - になっています. - - - device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr - - ミツミ製 CD-ROM (LU002, - LU005, FX001D)です. - - - - device scd0 at isa? port 0x230 bio - - ソニー製 CD-ROM (CDU31,CDU33A)です. - - - - controller matcd0 at isa? port ? bio - - 松下/パナソニック製 CD-ROM (サウンドブラスタ用 - クリエィティブ ラボ製として販売されていました) - です. - - - - - - - - - - SCSI デバイスのサポート - - この節では FreeBSDのサポートするいろいろな SCSIコント - ローラとデバイスのサポートについて書きます. - - - SCSI コントローラ - - 以下の十数行は異る種類の - SCSIコントローラのサポートです. - 使用しているもの以外の部分は - コメントアウトしてください. - - - controller bt0 at isa? port "IO_BT0" bio irq ? vector btintr - - ほとんどの Buslogic社のコントローラです. - - - - controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr - - UltraStor 14F と 34F です. - - - - controller ahc0 - - Adaptec 274x/284x/294x です. - - - - controller ahb0 at isa? bio irq ? vector ahbintr - - Adaptec 174x です. - - - - controller aha0 at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr - - Adaptec 154x です. - - - - controller aic0 at isa? port 0x340 bio irq 11 vector aicintr - - Adaptec 152x や - サウンドカードなどに使われている Adaptec AIC-6360 - チップです. (slow!) - - - - controller nca0 at isa? port 0x1f88 bio irq 10 vector ncaintr - - NCR 5380を使っている ProAudioSpectrum や - Trantor T130 で す. - - - - controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr - - Seagate ST01/02 8 ビットコントローラです. - (slow!) - - - - controller wds0 at isa? port 0x350 bio irq 15 drq 6 vector wdsintr - - Western Digital WD7000コントローラです. - - - - controller ncr0 - - NCR 53C810, 53C815, 53C825, 53C860, 53C875 - チップを使った PCI SCSI コントローラです. - - - これにより Diamond FirePort コントローラも - サポートします. - - - - - - - - - - options "SCSI_DELAY=15000" - - このオプションによりカーネルはそれぞれの - SCSIデバイスをプローブする前に 15秒間待ちます. - IDEドライブのみを使用している場合は無視して構いません. - ブートを速くするためにこの数値を - 5秒ぐらいまで小さくしたいでしょう. そうした場合, - FreeBSDが SCSIデバイスを認識しにくくなるかもしれません. - その時は, もちろんこのオプションの値は元に戻 - さないといけません. - - - - controller scbus0 - - SCSIコントローラがある場合, この行で - SCSI全般のサポー トを与えます. SCSIのない場合, - この行と以下の3つの行をコメ - ントにすることができます. - - - - device da0 - - SCSIハードディスクのサポートです. - - - - device sa0 - - SCSIテープドライブのサポートです. - - - - device cd0 - - SCSI CD-ROM のサポートです. - - - - - device ch0 - - - テープライブラリなどの SCSI - メディアチェンジャのサポート. - - - - - device pass0 - - - CAM パススルードライバ. - - 上のエントリについている - 0はいくらか誤解を招き - やすいかもしれません. これらのデバイスはすべてカーネルが - 見つけた時に割り当てがおこなわれ, - SCSIバスに何台つながってい るか, ターゲット - IDが何番であるかはここの記述とは関係あ りません. - - 明示的に “固定的な”ターゲット - IDの特定のデバイスへの 割り当てをおこないたい場合は - LINT - カーネルコンフィグレーションファイルの - 該当する部分の説明を参照してください. - - - - - - - コンソール, バスマウス, キーボード, Xサーバのサポート - - 2 つのタイプのコンソールからどちらか 1 - つを選ぶ必要があります. 標準ではない方の vt220 - コンソールを選んだ場合, X Window System を利用するには XSERVER - オプションを有効にする必要があります (訳注: sc0 には XSERVER - オプション相当の機能が始めから入っています). - またバスマウスと PS/2 マウスのオプションもあります. - - - device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr - - sc0 - はデフォルトのコンソールドライバで SCOコン - ソールに似ています. このデバイス, あるいは VT220コンパ - チブルドライバの - vt0いずれを使う場合もほとんど - のフルスクリーンプログラムは - termcapなどのターミナルデータベース - ライブラリを通してアクセスしますので, - あまり違いはないでしょう. - このコンソールを使う場合でフルスクリーンプログラムでト - ラブルが起きる場合にはログインした時に - TERM変数の値を - “scoansi”にしてください. - - - - - controller atkbdc0 at isa? port IO_KBD - tty - - - atkbdc はキーボードコントローラで - ATキーボードと PS/2タイプのポインティングデバイスを - サポートします. このコントローラはキーボードドライバの - atkbd と PS/2 ポインティングデバイス - ドライバのpsmが必要とします. - - - - - options - "KBD_RESETDELAY=X", options - "KBD_MAXWAIT=Y" - - - キーボードドライバの atkbd - とポインティングデバイスドライバの psm - はブート処理を行なっている - 時にデバイスのリセットを行なうために - atkbdc に要求を出すでしょう. - デバイスがリセットコマンドに対して応答を返すまでに - 長い時間がかかる場合があります. これらのオプション - は atkbdc がどれだけの時間待つか - を制御します — ドライバは最大 - X * - Y ミリ秒待ちます. - もし, ドライバがデバイスを見つけることが - できないようであれば, これらの値を増やすことが - できます. デフォルト値は - X - が 200m秒で Y は5回です. - - - - - options - "KBDIO_DEBUG=N" - - - デバッグレベルを N - に設定します. - デフォルト値は 0 で, デバッグ出力は全て抑制されます. - - - - - - - atkbdcデバイスはシステム中 - 設定できるのは一つだけです. - - - - - - - device atkbd0 at isa? tty irq 1 - - - atkbd ドライバは, - atkbdc コントローラと一緒に利用され, - ATキーボードコントローラに接続された AT 84 キーボードや - AT拡張キーボード のアクセスを提供します. - - - - - device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint - - - これはVT-220コンパチブルコンソールドライバで - VT100/102の 上位互換です. これは - sc0の使えない種類のラッ - プトップ機でもうまく動きます. ログイン時に - TERM変数の値 を>vt100 - か vt220にしてください. また, - このドラ - イバはネットワークを介して多くの異るマシンから接続する - 場合も便利です. - sc0デバイスのための - termcapや - terminfoエントリは必ずしも - 利用できるわけではありませんが — - vt100はいずれの - プラットフォームでも利用可能でしょう. - - - options "PCVT_FREEBSD=210" - - vt0 - コンソールドライバを使う場合に必要で す. - - - - options XSERVER - - vt0 - コンソールドライバを使う時のみ有効です. これは - vt0 コンソールドライバのもとで - XFree86 X - サーバを動かすのに必要なコードを含めます. - - - - - - - device mse0 at isa? port 0x23c tty irq 5 vector ms - - Logitech や - ATIのバスマウス入力カードを利用する場合のデ - バイスです. - - - シリアルマウスを使う場合にはこれら2つ - の行(バスマウスとPS/2マウスに関する行) は無視して, - 代わりに シリアル - ポート(おそらくはCOM1)を有効にしてくだ さい. - - - - - device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr - - このデバイスは - PS/2マウスポートにマウスを接続する場合に - 使います. - - - - - - - シリアル, パラレルポート - - ほとんどすべてのシステムにこれらはあります. - プリンタを接続す る場合は プリンタの利用の章が非常 - に役に立つでしょう. モデムを使う場合は ダイヤルアップ アクセス - に非常に詳しいシリアルポートの設定とデ - バイスの使い方があります. - - - - device sio0 at isa? port "IO_COM1" flags 0x10 tty - irq 4 - - sio0からsio3は - MS-DOSにおける COM1から - COM4に相当する4本のシリアルポートです. - COM4に内蔵モデムがあり COM2を使う場合, FreeBSDからアク - セスするためにはモデムのIRQを2へ変更する必要があるとい - うことを注意しておきます (技術的な理由より IRQ 2 = IRQ - 9となります). - マルチポートシリアルカードを使う場合にマニュアルページ - の &man.sio.4; にはこのオプションで使う値などのよ - り多くの情報があります. ビデオカードの中には (特に S3 - チップベースのものには) IOアドレスの - 0x*2e8から を利用するものがあり, - また多くの安価なシリアルカードは - IOアドレス空間を16-bitフルデコードしていませんので, こ - れらのカードは衝突します. この場合 COM4ポートは実質上 - 利用できません. - - それぞれのシリアルポートは - (割込みの共有をサポートした - マルチポートカードを利用していないのであれば) 別々の IRQ - を割り当てる必要がありますので COM3と COM4のデフォルトの - IRQは利用できません. - - - - - controller ppbus0 - - - パラレルポートバスのサポートを提供します. - - - - - device ppc0 at isa? port? tty irq 7 - - - ISA バスのパラレルポートインターフェイスです. - - - - - device lpt0 at ppbus? - - パラレルポートのプリンタのサポートを提供します. - - - パラレルポートプリンタのサポートを有効化するには, - 上記の三つの項目が全て指定されている必要があります. - - - - - - - - ネットワーク - - FreeBSDでは他の一般的な - Unixと同様にネットワークが非常に - 重視されています. イーサネットカードが - なくても必須のオプションとダイヤルアップ ネットワークのサポー - トに注意してください. - - - options INET - - ネットワーキングのサポートです. - ネットワークに接続する予定がな - くても残しておいてください. - 多くのプログラムは少なくともループ - バックネットワーキングが必要です(つまり, - PCの中でネットワーク コネクションをおこないます). - したがってこのオプションは本質的 に不可欠です. - - - - Ethernet cards - - 以下にさまざまなイーサネットカードを - 有効にするオプショ ンを示します. - ネットワークカードがなければこれらすべてを - コメントアウトすることができます. そうでなければ利用す - る特定のイーサネットカードをサポートするオプションを残 - しておきます. - - - - device cs0 - - - IBM Etherjet 及び クリスタル・セミコンダクタ社 - の CS89x0ベースのアダプタです. - - - - device de0 - - DECの DC21040, DC21041, DC21140チップを使った - PCIイーサネットアダプタです. - - - - device fxp0 - - Intel EtherExpress Pro/100B - 高速イーサネットカード です. - - - - device vx0 - - 3Com の 3C590, 3C595です (いくらか - bugがあります). - - - - device cx0 at isa? port 0x240 net irq 15 drq 7 vector cxintr - - Cronyx/Sigma の - マルチポート同期/非同期カードです. (with Cisco or - PPP framing) - - - - device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr - - Western Digital と SMC の 80xx, 8216 Elite - Ultra ; ノベル NE1000, NE2000; 3Com の 3C503; - HPの PC Lan Plus (HP27247B とHP27252A) - です. - - - - device el0 at isa? port 0x300 net irq 9 vector elintr - - 3Com の 3C501 です. (slow!) - - - - device eg0 at isa? port 0x310 net irq 5 vector egintr - - 3Com の 3C505です. - - - - device ep0 at isa? port 0x300 net irq 10 vector epintr - - 3Com の 3C509 です(バグがあります). - - - - device fe0 at isa? port 0x240 net irq ? vector feintr - - 富士通 MB86960A/MB86965A - ベースのイーサネットカード です. - - - - device fea0 at isa? net irq ? vector feaintr - - DEC DEFEA EISA FDDI アダプタです. - - - - device ie0 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr - - AT&T StarLAN 10 と EN100; 3Com の 3C507; - NI5210; Intel EtherExpress 16 です. - - - - device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr - - DEC の EtherWorks 2 and EtherWorks - 3 (DEPCA, DE100, DE101, DE200, DE201, DE202, - DE203, DE204, DE205, DE422)です. - - - - device lnc0 at isa? port 0x300 net irq 10 drq 0 vector lncintr - - Lance/PCnet カード (Isolan, Novell NE2100, - NE32-VL)です. - - - - device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr - - IBM/ナショナルセミコンダクタの PCMCIA - イーサネット コントローラです. - - - - device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr - - 3Com の PCMCIA Etherlink III です. - - - - - - いくつかのカードでは (特に NE2000では) - “標準値” がありませんので - IOポートやIRQの値を変更す - る必要がある場合があります. - - - - - pseudo-device loop - - loop は - TCP/IPの一般的なループバックデバイスで す. telnet や - FTPを localhost (127.0.0.1) - に対して行なうとこの疑似デバイスを通して帰ってきます. - 不可欠です. - - - - pseudo-device ether - - ether - はイーサネットカードがある場合のみ必要で - 一般的なイーサネットプロトコルを含めます. - - - - pseudo-device sl number - - sl は SLIP (Serial Line Internet - Protocol) をサポー トします. これはほとんど完全に, - より簡単に設定ができ, モ デム to モデム接続に適した, - よりパワフルな PPPに取って代 わられています. - slの後の - number は同 時にいくつの - SLIPセッションをサポートするかを示します. - SLIPの設定のより詳しい情報はこのハンドブックの - 「PPPとSLIP」の章の SLIPクライアントのセットアップ - と SLIP - サーバのセットアップ方法 - について書かれた節にあります. - - - - pseudo-device ppp number - - pppはダイヤルアップ - インターネット接続のための カーネルモード PPP - (Point-to-Point Protocol) をサポート します. - ユーザアプリケーションとしてtun - を 利用する PPPの実装もあり, - こちらはより柔軟性がありデマ - ンドダイアリング(プログラムが接続要求を出した時に自動 - 的にダイヤルをおこなう)などの機能もあります. それでもこ - の PPPドライバを利用したい場合は カーネル PPP の設定 - の節を読んでください. - slデバイスと同じように - numberは同時 に - PPP接続できる数を示します. - - - - pseudo-device tun number - - tun はユーザモード - PPPソフトウェアが利用しま す. - このプログラムは設定が簡単で非常に高速です. - また自動ダイヤル オン デマンドなどの機能を持ちます. - tunの後のnumber - は同時におこなうことのできる - PPPセッションの数を示します. ユーザ PPP のセットアップ - の節により多くの情報があ ります. - - - - pseudo-device bpfilter number - - バークレイ パケットフィルタです. - この疑似デバイスはネッ トワークインタフェースを無差別 - (promiscuous) モードにし てネットワーク - (例えば単一のイーサネット) にブロードキャス - トされるすべてのパケットを取り入れることを可能にします. - こ れらのパケットはディスクに取り入れられたり - &man.tcpdump.1; によって検査されます. この機能の実現 - はネットワーク全体のセキュリティとの微妙な妥協点であるこ - とに注意してください. bpffilter の後の - numberは同時に検査することの - できるインタフェースの数を示します. - 危険の可能性について十分解っている場合を除いてこのオプ - ションは奨めません. すべてのネットワークカードでこの機能 - をサポートをしてはいません. - - - - - - - サウンドカード - - ここは - GENERIC カーネルに含まれていない最初のセクションです. - サウンドカードのサポートをするためには LINT コンフィグレーショ - ンファイル(これは すべての - デバイスをサポートします)か - ら以下のような適切な行をコピーする必要があります. - - - controller snd0 - - サウンドドライバ一般のコードです. - pcapcm, - を除く以下のすべてのサウンドカードで必要で す. - - - - device pas0 at isa? port 0x388 irq 10 drq 6 vector pasintr - - ProAudioSpectrum のオーディオ と MIDI です. - - - - device sb0 at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr - - SoundBlaster です. - - - SoundBlaster の IRQが標準と異る値, 例えば - 5になっている場合, irq - 7irq 5に書き換え, - キーワード conflictsを - 削除してください. - - - - - device sbxvi0 at isa? drq 5 - - SoundBlaster 16 の 16-bit オーディオです. - - - SB16の DMAチャネルが標準と異っている( 例えば - 6か7) 場合, キーワード drq 5 - を適切な値に書き直してください. - - - - - - device sbmidi0 at isa? port 0x330 - - SoundBlaster 16 の MIDI インタフェースです. - SoundBlaster 16を使う場合必ずこの行を含めてコンパイル - してください. - - - - device gus0 at isa? port 0x220 irq 10 drq 1 vector gusintr - - Gravis Ultrasound です. - - - - device mss0 at isa? port 0x530 irq 10 drq 1 vector adintr - - Microsoft Sound System です. - - - - device opl0 at isa? port 0x388 conflicts - - AdLib FMシンセサイザオーディオです. AdLib, - SoundBlaster, ProAudioSpectrum を使い - playmidi (ports にあります) - などのプログラムで - MIDIの演奏をしたい場合にこの行を含めます. - - - - device mpu0 at isa? port 0x330 irq 6 drq 0 - - Roland MPU-401 カードです. - - - - device uart0 at isa? port 0x330 irq 5 vector "m6850intr" - - MIDIインタフェースの 6850 UART です. - - - - device pca0 at isa? port "IO_TIMER1" tty - - PC のスピーカーを使ったオーディオです. - これは非常に品質 が悪く, CPUの性能, - 負荷に強く依存します, と言っておき ます - (サウンドカードは必要ありませんが). - - - - - device pcm0 at isa? port ? tty irq 10 drq 1 flags 0x0 - - - - pcm ドライバは WSS/MSS, Sound - Blaster Pro , Sound Blaster 16 などのいろいろな種類の - ISA サウンドカードをサポートします. - 詳細は, &man.pcm.4 のマニュアルページを参照して下さい. - - - - - - - 追加のドキュメントが - /usr/src/sys/i386/isa/sound/ と - /usr/src/sys/i386/isa/snd/ - にあります. また, これらのデバイスを追加する場合は, - サウンドデバイスノード - を作る必要があり ます. - - - - - 疑似デバイス - - 疑似デバイスドライバはデバイスドライバと同様に働きますがマ - シン上に対応する実際のハードウェアがないカーネルの部分です. - ネットワーク関連の - 疑似デバイスはそちらのセクションに示しました. ここでは残りにつ - いて示します. - - - pseudo-device gzip - - gzipは - gzipによって圧縮された FreeBSDの - プログラムを実行できるようにします. /standにあるプログ - ラムは圧縮されているのでカーネルにこのオプションをつけ - ておくのはいい考えでしょう. - - - gzip は現在 a.out バイナリに - 対してのみ動作します. - - - - - pseudo-device pty number - - pty - は“仮想ターミナル”や仮想ログインポート です. - 外部からの telnetや - rloginセッ ション, xterm, - emacsなどのアプリケーションが使います. - numberは作ることのできる - ptyの数を示 します. - GENERICのデフォルトは16で, 同時の - xtermウィンドウやリモー - トログインのために増やす場合は最大で 64までです. - - - - pseudo-device snp number - - スヌープデバイスです. - この疑似デバイスはあるターミナル セッションが - &man.watch.8; command によって他のター - ミナルを監視することを可能にします. この機能の実現はセ - キュリティとプライバシに対して極めて微妙な関係があり - ます. snp の後の number - は同時におこなうことのでき - るスヌープセッションの総数です. 選択可能です. - - - - pseudo-device vn - - V ノードドライバです. ファイルを &man.vnconfig.8; - コマンドによって - デバイスとして取り扱うことを可能にします. - このドライバによりフロッピーディスクイメージを - 操作したりファ イルをスワップデバイスとして (MS - Windowsのスワッ プファイルなどを)用いることができます. - 選択可能です. - - - - pseudo-device ccd number - - ccd (concatenated - disk)デバイスはいくつかのディスクパーティ - ションを融合して大きなディスクのように - 見せることができます. ccdの後の - number - は同時に作ることのできる疑似ディスクの数です. - (詳しいことは &man.ccd.4; と &man.ccdconfig.8; のマニュ - アルを参照してください.) 選択可能です. - - - - - - - ジョイスティック, スピーカー, その他 - - この節は FreeBSDのここまでに示した以外のハードウェア - デバイスへのサポートについて示します. これらは GENERICカーネル - には含まれませんのでこのハンドブックや LINT (このファイルには - すべてのデバイスのサポートが含まれます) - からコピーする必 要があります. - - - device joy0 at isa? port "IO_GAME" - - PC のジョイスティックです. - - - - pseudo-device speaker - - IBM BASIC スタイルの PC内蔵スピーカーのサポートです. - シェルスクリプトで簡単な演奏をする - /usr/sbin/spkrtest - やキーボードを使って単純なピ - アノのように演奏することができる - /usr/games/piano - (gamesパッケージをイ - ンストールした場合にはあります) のようないくつかのプロ - グラムで使われます. また素晴らしいテキストロールプレイ - ングゲームである NetHack - (ports コレクションにあります) - はゲーム中の楽器の演奏でこのデバイスを使うように設定を - することができます (訳注:日本語化されたJNetHackもportsに - あります). - - pca0 デバイスの - 項も参照してください. - - - - + ATAPI テープドライブには device ata + と共にこの行が必要です. + + +options ATA_STATIC_ID #Static device numbering + + この行はコントローラ番号を (古いドライバのように) 静的に + 割り当てます. そうでない場合, デバイス番号は動的に割り当てられます. + + + +#options ATA_ENABLE_ATAPI_DMA #Enable DMA on ATAPI devices + + この行は ATAPI デバイス上での DMA を可能にします. + 多くの ATAPI デバイスは DMA をサポートすると表明していても + 実際には機能しないので, デフォルトでオフにされています. + + +# ATA and ATAPI devices +device ata0 at isa? port IO_WD1 irq 14 +device ata1 at isa? port IO_WD2 irq 15 + + 上の行は古い, PCI ではないシステムの場合の形式です. + + +# SCSI Controllers +device ahb # EISA AHA1742 family +device ahc # AHA2940 and onboard AIC7xxx devices +device amd # AMD 53C974 (Teckram DC-390(T)) +device dpt # DPT Smartcache - See LINT for options! +device isp # Qlogic family +device ncr # NCR/Symbios Logic +device sym # NCR/Symbios Logic (newer chipsets) + +device adv0 at isa? +device adw +device bt0 at isa? +device aha0 at isa? +device aic0 at isa? + + SCSI コントローラです. + あなたのシステムにないデバイスはコメントアウトして下さい. + もし IDE しかないシステムならこれらすべてを削除できます. + + +# SCSI peripherals +device scbus # SCSI bus (required) +device da # Direct Access (disks) +device sa # Sequential Access (tape etc) +device cd # CD +device pass # Passthrough device (direct SCSI +access) + + SCSI 周辺機器です. + あなたが持っていないデバイスはコメントアウトして下さい. + もし IDE しか持っていないならこれらを完全に削除できます. + + +# RAID controllers +device ida # Compaq Smart RAID +device amr # AMI MegaRAID +device mlx # Mylex DAC960 family + + サポートされる RAID コントローラです. + これらのどれも持っていない場合, すべてをコメントアウト又は + 削除することができます. + + +# atkbdc0 controls both the keyboard and the PS/2 mouse +device atkbdc0 at isa? port IO_KBD + + キーボードコントローラ (atkbdc) + は AT キーボード及び PS/2 スタイルポインティングデバイスの + I/O サービスを提供します. + キーボードドライバ (atkbd) と PS/2 + ポインティングデバイスドライバ (psm) + はこのコントローラを必要とします. + + +device atkbd0 at atkbdc? irq 1 + + atkbd ドライバ. + atkbdc コントローラと協調して動作し, + AT キーボードコントローラに接続された AT 84 キーボードや + AT 拡張キーボードへのアクセスを提供します. + + +device psm0 at atkbdc? irq 12 + + あなたのマウスが PS/2 マウスポートに接続するタイプなら + このデバイスを使って下さい. + + device vga0 at isa? + + ビデオカードドライバです. + + +# splash screen/screen saver +pseudo-device splash + + 起動時に画面がはじけます. + スクリーンセーバもこのデバイスを必要とします. + + +# syscons is the default console driver, resembling an SCO console +device sc0 at isa? + + sc0 はSCOに類似したデフォルトの + コンソールドライバです. + 殆どのフルスクリーンのプログラムは termcap + のようなターミナルデータベールライブラリにアクセスするので, + sc0 を使うか VT220 + 互換のコンソールドライバである vt0 + を使うかは重要ではありません. + ログイン時, このコンソールでフルスクリーンプログラムが動かないときは + TERM 変数を scoansi に設定して下さい. + + + +# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver +#device vt0 at isa? +#options XSERVER # support for X server on a vt console +#options FAT_CURSOR # start with block cursor +# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines +#options PCVT_SCANSET=2 # IBM keyboards are non-std + + これは VT220 互換のコンソールドライバで, + VT100/102 と後方互換性があります. + sc0 とハード的に互換性がないラップトップでも + 問題なく動きます. + ここでもログイン時に TERM 変数を + vt100 又は vt220 + と設定して下さい. + このドライバは、sc0 デバイス用の + termcapterminfo + のエントリが無い, ネットワーク上の多くの異なったマシンに + 接続する際にも有用です — vt100 + は仮想的にすべてのプラットフォームで有効であるべきです. + + +# Floating point support - do not disable. +device npx0 at nexus? port IO_NPX irq 13 + + npx0 は FreeBSD における + 浮動小数点演算ユニットへのインターフェースで, それは実際には + コプロセッサ又はソフトウエアエミュレータです. + これはオプションではありません. + + +# Power management support (see LINT for more options) +device apm0 at nexus? disable flags 0x20 # Advanced Power Management + + 先進的な電源管理機能 (APM) のサポート. + ラップトップでは役に立つでしょう. + + +# PCCARD (PCMCIA) support +device card +device pcic0 at isa? irq 10 port 0x3e0 iomem 0xd0000 +device pcic1 at isa? irq 11 port 0x3e2 iomem 0xd4000 disable + + PCMCIA サポート. ラップトップにインストールする時は必要です. + + +# Serial (COM) ports +device sio0 at isa? port IO_COM1 flags 0x10 irq 4 +device sio1 at isa? port IO_COM2 irq 3 +device sio2 at isa? disable port IO_COM3 irq 5 +device sio3 at isa? disable port IO_COM4 irq 9 + + これらは MS-DOS/Windows の世界では COM1からCOM4 と呼ばれている + 4 つのシリアルポートです. + + + もしあなたが内蔵モデムを COM4 に, シリアルポートを COM2 + に設定している場合, FreeBSD からアクセスするには, + (IRQ2=IRQ9 という, 不明瞭な技術的理由により) モデムの IRQ を 2 + に変更する必要があります. + もしマルチポートシリアルカードを持っていてこれらの設定の正しい + 数値に関する情報がほしい場合はマニュアルページ &man.sio.4; + を参照して下さい. + ビデオカードのいくつかは (S3 チップベースのものは特に) IO + アドレスを 0x*2e8 と言う形式で表現する一方, + 多くの安価なシリアルカードは 16 ビットの IO アドレスを完全に + デコードしないので, これらのカードを使った場合衝突が起こり, + 事実上 COM4 ポートを使用不可能にします. + 各々のシリアルポートは (共有割り込み番号をサポートする + マルチポートカードを使っていない限り) 固有の IRQ を必要とします. + 従って COM3 と COM4 用のデフォルト IRQ は利用できません. + + + +# Parallel port +device ppc0 at isa? irq 7 + + ISA バスパラレルポートインターフェースです. + + +device ppbus # Parallel port bus (required) + + パラレルポートバスのサポートを提供します. + + +device lpt # Printer + + パラレルポートプリンタのサポートです. + + + 上の 3 つはすべてパラレルプリンタを利用可能にするために + 必要です. + + + +device plip # TCP/IP over parallel + + パラレルネットワークインターフェース用のドライバです. + + +device ppi # Parallel port interface device + + 汎用I/O (geek port) + IEEE1284 I/O です. + + +#device vpo # Requires scbus and da + + Iomega の Zip ドライブ用です. scbus + と da サポートが必要です. + EPP 1.9モードを使うと最高の性能が得られます. + + +# PCI Ethernet NICs. +device de # DEC/Intel DC21x4x (Tulip) +device fxp # Intel EtherExpress PRO/100B (82557, 82558) +device tx # SMC 9432TX (83c170 EPIC) +device vx # 3Com 3c590, 3c595 (Vortex) +device wx # Intel Gigabit Ethernet Card (Wiseman) + + PCI ネットワークカードのドライバです. あなたのシステムに + ないものはコメントアウトするか削除して下さい. + + +# PCI Ethernet NICs that use the common MII bus controller code. +device miibus # MII bus support + + MII バスサポートはいくつかの PCI 10/100 イーサネット NIC, + すなわち MII に従うトランシーバや MII のようなトランシーバ制御 + インターフェースを実装するもの, に必要となります. + カーネルコンフィギュレーションに device miibus + を追加することで, 汎用 miibus API のサポートと, + 特定のドライバを必要としない場合に利用される汎用のものを含む + すべての PHY ドライバが導入されます. + + +device dc # DEC/Intel 21143 and various workalikes +device rl # RealTek 8129/8139 +device sf # Adaptec AIC-6915 (Starfire) +device sis # Silicon Integrated Systems SiS 900/SiS 7016 +device ste # Sundance ST201 (D-Link DFE-550TX) +device tl # Texas Instruments ThunderLAN +device vr # VIA Rhine, Rhine II +device wb # Winbond W89C840F +device xl # 3Com 3c90x (Boomerang, Cyclone) + + MII バスコントローラコードを利用するドライバです. + + +# ISA Ethernet NICs. +device ed0 at isa? port 0x280 irq 10 iomem 0xd8000 +device ex +device ep +# WaveLAN/IEEE 802.11 ワイヤレス NIC. +# 注: WaveLAN/IEEE は PCMCIA デバイスとしてしか実在しません. +# なので ISAア タッチメントは必要なく, リソースは常に PC カードコードに +# より動的に割り当てられます. +device wi +# Aironet 4500/4800 802.11 ワイヤレス NIC. +# 注: 下の宣言は ISA PnP モード (工場出荷時設定) のISAカード, PCMCIA +# 及び PCI カードにのみ働きます. もし, ISA カードの I/O アドレスと IRQ +# を手動で設定している場合は, ここでそれらのパラメータを指定しなく +# てはいけません. +device an +# これらの検出順序は現在 i386/isa/isa_compat.c により決められます. +device ie0 at isa? port 0x300 irq 10 iomem 0xd0000 +device fe0 at isa? port 0x300 +device le0 at isa? port 0x300 irq 5 iomem 0xd0000 +device lnc0 at isa? port 0x280 irq 10 drq 0 +device cs0 at isa? port 0x300 +device sn0 at isa? port 0x300 irq 10 +# requires PCCARD (PCMCIA) support to be activated +#device xe0 at isa? + + ISA イーサネットドライバです. + どのカードがどのドライバによりサポートされているかは + /usr/src/sys/i386/conf/LINT を参照して下さい. + + +# Pseudo devices - the number indicates how many units to allocated. +pseudo-device loop # Network loopback + + TCP/IP の汎用ループバックデバイスです. + localhost (すなわち + 127.0.0.1) に対して telnet や FTP + を使う場合, この疑似デバイスを通して戻ってきます. + これは 必須 です. + + +pseudo-device ether # Ethernet support + + ether はイーサネットカードを持っている場合に + のみ必要です. 汎用イーサネットプロトコルコードを含みます. + + +pseudo-device sl 1 # Kernel SLIP + + sl は SLIP サポートを行います. + SLIP は設定のより簡単な, モデム-モデム間の接続にはより適していて + より高機能な PPP に殆ど取って代わられています. + sl に続く 数字 + には同時に持てる SLIP セッション数を指定します. + + +pseudo-device ppp 1 # Kernel PPP + + これはダイアルアップ接続用のカーネル PPP サポートです. + 他にも tun を利用し, デマンドダイアリングのような + 柔軟性と機能を提供するユーザーランドのアプリケーションとして + 実装された PPP が存在します. ppp に続く + 数字 には同時に持てる PPP セッション数を + 指定します. + + +pseudo-device tun # Packet tunnel. + + これはユーザーランド PPP ソフトウエアにより利用されます. + tun に続く 数字 + には同時に持てる PPP セッション数を指定します. + 詳細はこの本の PPP セクションを + 参照して下さい. + + +pseudo-device pty # Pseudo-ttys (telnet etc) + + これは 疑似ターミナル 或いはシミュレートされた + ログインポートです. + これは入ってくる telnet と + rlogin セッション, xterm + やその他の emacs のような + アプリケーションにより利用されます. + 数字 は生成される pty + の数を示します. もし同時にデフォルトの 16 より多くの + xterm ウィンドウやリモートログインが + 必要な場合, 必要に応じてこの数字を増やして下さい. + 最大は 256 です. + + +pseudo-device md # Memory disks + + メモリディスク疑似デバイス. + + +pseudo-device gif 4 # IPv6 and IPv4 tunneling + + この行は IPv6 over IPv4 トンネル, IPv4 over IPv6 トンネル, + IPv4 over IPv4 トンネル, IPv6 over IPv6 トンネルを提供します. + + +pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation) + + この疑似デバイスは自分宛に送られたパケットを受け取り, + IPv4/IPv6 変換デーモンに渡します. + + +# The `bpf' pseudo-device enables the Berkeley Packet Filter. +# Be aware of the administrative consequences of enabling this! +pseudo-device bpf # Berkeley packet filter + + これはバークレーパケットフィルタです. + この疑似デバイスはネットワークインターフェースを, イーサネットのような + ブロードキャストネットワーク上ですべてのパケットを拾うことのできる + promiscuous モードに設定できるようにします. + これらのパケットはディスクに取り込むこともできますし, + &man.tcpdump.1; を使ってチェックをすることもできます. + + +# USB support +#device uhci # UHCI PCI->USB interface +#device ohci # OHCI PCI->USB interface +#device usb # USB Bus (required) +#device ugen # Generic +#device uhid # Human Interface Devices +#device ukbd # Keyboard +#device ulpt # Printer +#device umass # Disks/Mass storage - Requires scbus and da +#device ums # Mouse +# USB Ethernet, requires mii +#device aue # ADMtek USB ethernet +#device cue # CATC USB ethernet +#device kue # Kawasaki LSI USB ethernet + + 様々なUSBデバイスのサポートです. + + より詳細な情報と, FreeBSD によりサポートされる他のデバイスに + ついては /usr/src/sys/i386/conf/LINT + を参照して下さい. デバイスノードを作る カーネル内のほとんどすべてのデバイスは対応する “node” エント リが /dev ディレクトリにあります. これらのノードは普 通のファイルのように見えますが, 実際にはプログラムがデバイスに アクセスするのに用いるカーネル内への特別なエントリです. シェルスクリプトである /dev/MAKEDEVはオペレーティング システムを最初にインストールする時に実行され, サポートされてい る大部分のデバイスのノードを作ります. しかし, すべての ノードが作られるわけではありませんので 新しいデバイスのサポートを加える時は対応するエントリがこのディ レクトリにあるかどうか確認してもしなければ, 作ってください. 以下に例を示します. IDE CD-ROMのサポートをカーネルに加えるとします. 次の行 を加えます. device acd0 これにしたがって, /devディレクトリに acd0で始ま るエントリを捜してください. 1文字が後ろにつくかもしれません. 後 ろについた文字が cであるか先に rのつくエントリは “raw”デバ イスを示します. それらのファイルがないことが明らかになったとします. そこで /dev ディレクトリに移動して次のようにタイプします. &prompt.root; sh MAKEDEV acd0 スクリプトの実行が終ったら /devacd0cracd0c エントリがあることを確認してください. これによ り正しく実行されたことがわかります. - サウンドカードの場合のコマンドは次の通りです. + サウンドカードの場合, 以下のコマンドで対応する + エントリが作成されます: &prompt.root; sh MAKEDEV snd0 - これにより対応するエントリが作られます. - サウンドカードのようなデバイスのノードを作る場合で, もし他 の人がマシンにアクセスするようであれば, そのデバイスを /etc/fbtab ファイルに追加して外部からのアクセスから 保護するのが望ましいでしょう. このファイルの詳細については - man fbtab を参照してください. + &man.fbtab.5; を参照してください. GENERIC に含まれていないデバイスはエントリがありませんから,以上 の簡単な手順をおこなうことになります. すべての SCSI コントローラは同じ /dev の エントリを使用しますのでノードを作る必要はありません. またネッ トワークカードと SLIP/PPP 疑似デバイスは /dev にはエント リがありませんのでこれらについても作る必要がありません. 問題が起きた場合には カスタムカーネルを作る場合に起きるトラブルは, 次の 4 種類に分けられます. - Config コマンドの失敗 + config コマンドの失敗 カーネルコンフィグレーションファイルに設定を行なってから config コマンドが失敗したのであれば, おそらくファイルのどこかに単純な間違いがあります. さいわい, config はトラブルの起きた行番号を出力しますので vi で素早く見つけることができます. - 例えば, 次のように出力された場合 + 例えば, 次のように出力された場合 config: line 17: syntax error - vi のコマンドモードで + vi のコマンドモードで 17G とタイプすれば, 問題のところへ飛ぶことができます. GENERIC カーネルのファイルや, 他のリファレンスと比較して注意深く修正してください. - Make コマンドの失敗 + make コマンドの失敗 make コマンドが失敗した場合には, カーネル設定で config がとらえられなかったような間違いをしていることが多いようです. もう一度コンフィグレーションファイルを見直してください. それでも問題を解決することができなければ, &a.questions; へあなたのカーネルコンフィグレーションファイルをつけてメールしてください. 誰かが素早く間違いを見つけてくれるでしょう. カーネルが起動しない 新しいカーネルが起動しなかったり, デバイスの認識をしない場合でもあわてないでください! さいわい, BSDは 利用できないカーネルから復帰する 洗練されたメカニズムがあります. それは, FreeBSD のブートローダで起動したいカーネルを選択する (例えば boot kernel.old) だけです. カーネルの再設定をおこなう場合にはいつも, 確実に動くことが分かっているカーネルを用意しておくようにすると良いでしょう. 問題のないカーネルでブートした後に あなたのコンフィグレー ションファイルを調べ, 再び構築を試みてください. /var/log/messages ファイルにはすべての成功した ブートのカーネルのメッセージやその他の記録があり, これ は助けになる情報の一つでしょう. また, &man.dmesg.8; コマンドは現在のブート時のカーネルメッ セージを出力します. カーネルの構築中にトラブルが起きた時に使うために GENERICや他のカーネルを次の構築で消されない ように異る名前で保存するようにしてください. kernel.old は新しいカーネルをインストールする 時に, その一つ前にインストールしたうまく動かないかもしれ ないカーネルで上書きされてしまいますので当てにできませ ん. またできる限り早く動作しているカーネルを本来の kernelの位置に移動させてください. そうしないと &man.ps.1; のようなコマンドが正しく動きません. make でインストールされたカーネルのファイルを (別のカーネルに戻すために) “アンロック” するための特別 のコマンドは &prompt.root; chflags noschg /kernel です. また, 新しい置き換えたカーネルあるいは重要ファイ ルを動かしたり変更されないように “ロック” するには 次のようにします. &prompt.root; chflags schg /kernel カーネルは動くが ps は動かない! システムユーティリティと異る バージョンのカーネルをインストールした場合, 例えば - 実験的に “FreeBSD 4.x” のカーネルを FreeBSD 3.x + 4.x のカーネルを 3.x システム上にインストールするような場合, &man.ps.1; や &man.vmstat.8; のような多くの システムステータスコマンドは動かなくなります. libkvm を再コンパイルして, これらのユーティリティを作りなおす必要があります. これは, カーネルとそれ以外で異なるバージョンを組み合わせて オペレーティングシステムを使用することが推奨されない理由の 一つとなっています.