Merge the following from the English version:

1.100 -> 1.102	books/handbook/kernelconfig/chapter.sgml

Reference:	[doc-jp-work 2178]
This commit is contained in:
Ryusuke SUZUKI 2011-04-30 11:14:25 +00:00
parent 7423ed9031
commit 59e3863dd0
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=37200

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.100
Original revision: 1.102
$FreeBSD$
-->
@ -39,9 +39,9 @@
<secondary>カスタムカーネルの構築</secondary>
</indexterm>
<para>カーネルは FreeBSD オペレーティングシステムの中核をなすもの
<para>カーネルは &os; オペレーティングシステムの中核をなすもの
です。カーネルは、メモリ管理、セキュリティ制御の強制、ネットワー
ク、ディスクアクセスなどを担っています。FreeBSD はどんどん動的に
ク、ディスクアクセスなどを担っています。&os; はどんどん動的に
構成することができるようになっていますが、まだ、時にはカーネルコ
ンフィグレーションをやり直して、再構築する必要があります。</para>
@ -79,7 +79,7 @@
<sect1 id="kernelconfig-custom-kernel">
<title>なぜカスタムカーネルを作るか?</title>
<para>伝統的に、FreeBSD のカーネルは <quote>モノリシック</quote>
<para>伝統的に、&os; のカーネルは <quote>モノリシック</quote>
(monolithic) カーネルと呼ばれるものでした。
これは、カーネルが単一の巨大なプログラムで、
扱えるデバイスは固定されていて、
@ -87,13 +87,13 @@
コンピュータを再起動して新しいカーネルを動かさなれければならなかった
ということです。</para>
<para>今日では FreeBSD は、カーネルの機能のかなりが必要に応じて動
<para>今日では &os; は、カーネルの機能のかなりが必要に応じて動
的にカーネルに組み込んだり外したりできるモジュールにおかれている
モデルへと、急速に移行しています。こうしてカーネルは (ノート PC
の PCMCIA カードのように) 突如使えるようになったハードウェアに対
応したり、カーネルが作成された時点では必要なかった新たな機能を取
り入れられるようになります。くだけた表現では、これは KLD と呼ば
れます。</para>
り入れられるようになります。このようなカーネルはモジュラ (modular)
カーネルと呼ばれます。くだけた表現では、KLD とも呼ばれます。</para>
<para>しかしながら、いまだにいくらかは静的にカーネルを構成する必要
があります。ある場合においては、機能がカーネルとあまりに密接に結
@ -104,7 +104,7 @@
<para>システムに合わせたカーネルの構築はほとんどすべての
Unix ユーザが
避けて通ることのできない最も重要な通過儀礼の1つです。
この作業は、多くの時間を必要としますが、あなたの FreeBSD
この作業は、多くの時間を必要としますが、あなたの &os;
システムに多くの利益をもたらします。
広範囲のハードウェアをサポートしなければならない
<filename>GENERIC</filename>カーネルとは異なり、
@ -166,10 +166,12 @@
日本で普及している PC のための開発ブランチです)のいずれかを表します。
各アーキテクチャのディレクトリ内部にあるファイルはすべて
そのアーキテクチャでのみ使用され、残りのコードは
FreeBSD が他のプラットフォームに移植される際に共有されます。
&os; が他のプラットフォームに移植される際に共有されます。
サポートされているデバイス、ファイルシステム、オプションが、
それぞれ各々のサブディレクトリに分かれている、
という論理的な構成に注意してください。</para>
という論理的な構成に注意してください。&os; 5.X 以降では
<filename>sparc64</filename> に対応しています。
また、その他のアーキテクチャの開発も行われています。</para>
<note>
<para>もし、あなたのシステムに<filename>/usr/src/sys</filename>
@ -185,7 +187,7 @@
の中の <guimenuitem>sys</guimenuitem>
をインストールしてください。
<application>sysinstall</application>
が嫌いで、<quote>公式</quote> FreeBSD CDROM を利用できるなら、
が嫌いで、<quote>公式</quote> &os; CDROM を利用できるなら、
コマンドラインからソースコードをインストールすることもできます。
</para>
@ -205,7 +207,7 @@
&prompt.root; <userinput>cp GENERIC MYKERNEL</userinput></screen>
<para>慣習として、この名前はすべて大文字でつづられます。もし、
いくつかの異なるハードウェアの FreeBSDマシンを扱うなら、
いくつかの異なるハードウェアの &os; マシンを扱うなら、
この名前にホスト名を含めるとよいでしょう。ここでは、例として
<filename>MYKERNEL</filename> と呼ぶことにします。</para>
@ -244,7 +246,7 @@
だけかもしれません。ここでは使い方の説明はしませんが、
<link linkend="bibliography">参考図書</link>
にあるような多くの本で詳しく説明 されていますので、
そちらを参照してください。FreeBSD にはより簡単なエディタとして
そちらを参照してください。&os; にはより簡単なエディタとして
<application>ee</application>
があります。初心者の方であればこちらをエディタに選ぶとよいでしょう。
まずファイルの最初の方のコメント行を編集し、あなたのコンフィグ
@ -264,21 +266,21 @@
</link> の節をゆっくりと注意深く読んでください。</para>
<note>
<para>FreeBSD Project の最新のソースファイルと、<link
<para>&os; Project の最新のソースファイルと、<link
linkend="cutting-edge">あなたのソースツリーを同期させている</link>
場合、アップデートを行う際には、必ず
<filename>/usr/src/UPDATING</filename>
ファイルをチェックしてください。
このファイルには、FreeBSD
このファイルには、&os;
をアップデートする際の重要な問題がすべて書かれています。
<filename>/usr/src/UPDATING</filename> は常にあなたの FreeBSD
<filename>/usr/src/UPDATING</filename> は常にあなたの &os;
ソースファイルのバージョンと同期していますので、
ハンドブックの情報よりも正確なものとなっています。</para>
新しい情報については、ハンドブックよりも正確なものとなっています。</para>
</note>
<para>ここで、カーネルのソースコードをコンパイルしなくてはなりませ
ん。手順は二つあり、どちらを使うかは、なぜカーネルを再構築するか
と、動かしている FreeBSD のバージョンによって決まります。</para>
と、動かしている &os; のバージョンによって決まります。</para>
<itemizedlist>
<listitem>
@ -287,8 +289,8 @@
</listitem>
<listitem>
<para>4.0 より前の FreeBSD を使っていて、
<maketarget>make world</maketarget> を行って FreeBSD&nbsp;4.0
<para>4.0 より前の &os; を使っていて、
<maketarget>make world</maketarget> を行って &os;&nbsp;4.0
以上にアップグレードしないなら、
手順 1 にしたがってください。</para>
</listitem>
@ -317,11 +319,12 @@
</step>
<step>
<para>カーネルを構築するためのディレクトリに移動します。</para>
<para>カーネルを構築するためのディレクトリに移動します。
ディレクトリの場所は、上のコマンドを実行した後に表示されます。</para>
<screen>&prompt.root; <userinput>cd ../compile/<replaceable>MYKERNEL</replaceable></userinput></screen>
<para>5.0 より前のバージョンの FreeBSD では、
<para>5.0 より前のバージョンの &os; では、
かわりに以下を実行してください。</para>
<screen>&prompt.root; <userinput>cd ../../compile/<replaceable>MYKERNEL</replaceable></userinput></screen>
@ -364,7 +367,7 @@
</procedure>
<note>
<para>FreeBSD&nbsp;4.2 とそれ以前の場合は、
<para>&os;&nbsp;4.2 とそれ以前の場合は、
<literal>KERNCONF=</literal>
ではなく
<literal>KERNEL=</literal>
@ -407,7 +410,7 @@
場合のリカバリの方法を注意深く読んでおいてください。</para>
<note>
<para>FreeBSD 5.0 では、カーネルはモジュールとともに
<para>&os; 5.0 では、カーネルはモジュールとともに
<filename>/boot/kernel</filename> にインストールされ、
今までのカーネルは <filename>/boot/kernel.old</filename>
にバックアップされます。
@ -421,7 +424,7 @@
</note>
<note>
<para>FreeBSD&nbsp;4.X 以前のバージョンを使っていて、
<para>&os;&nbsp;4.X 以前のバージョンを使っていて、
(サウンドカードなど) 新しいデバイスを追加した場合は、
使う前に <filename>/dev</filename>
ディレクトリにデバイスノードを追加しなければならないかもしれません。
@ -461,11 +464,18 @@
問を持ったら最初に <filename>LINT</filename>
をチェックしてください。</para>
<note><para>&os; 5.X では <filename>LINT</filename> は存在しません。
アーキテクチャ依存のオプションについては <filename>NOTES</filename>
をご覧ください。
主にアーキテクチャ非依存のいくつかのオプションは
<filename>/usr/src/sys/conf/NOTES</filename> に記載されています。
このファイルにも目を通すことをお奨めします。</para></note>
<important>
<title>数字と二重引用符</title>
<para>
FreeBSD 3.x と、それまでの全てのバージョンの FreeBSD における
&os; 3.x と、それまでの全てのバージョンの &os; における
&man.config.8; は、コンフィグレーションファイル中の
テキストとして使われる数字を含む文字列が
全て二重引用符で括られていなければならないという制限があります。
@ -494,23 +504,23 @@
を参照してください。</para>
<programlisting>#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
# GENERIC -- Generic kernel configuration file for &os;/i386
#
# このファイルについて更に情報が必要なら、ハンドブックのカーネル
# コンフィグレーションファイルのセクションを参照して下さい。
#
# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
# http://www.&os;.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# doc ディストリビューションをインストールした場合、ハンドブックは
# ローカルマシンの /usr/share/doc/handbook でも見ることができます。
# 最新版は FreeBSD の WWW サーバ (http://www.FreeBSD.ORG/) を参照して
# 最新版は &os; の WWW サーバ (http://www.&os;.ORG/) を参照して
# 下さい。
#
# ./LINT コンフィギュレーションファイルには、デバイス行に関する大量の
# オプションと詳細な説明があります。もしある行の目的又は必要性について
# 疑問がある場合はまず LINT をチェックして下さい。
#
# &dollar;FreeBSD: src/sys/i386/conf/GENERIC,v 1.246 2000/03/09 16:32:55 jlemon Exp &dollar;</programlisting>
# &dollar;&os;: src/sys/i386/conf/GENERIC,v 1.246 2000/03/09 16:32:55 jlemon Exp &dollar;</programlisting>
<para>以下は <emphasis>すべての</emphasis> カーネルの構築に
必須のキーワードです:</para>
@ -534,7 +544,7 @@ cpu I486_CPU
cpu I586_CPU
cpu I686_CPU</programlisting>
<para>上記あなたのシステムの CPU タイプを指定します。
<para>上記のオプションは、あなたのシステムの CPU タイプを指定します。
複数の行を書いても構いません。
(例: <literal>I586_CPU</literal> とすべきか
<literal>I686_CPU</literal> とすべきかはっきり分からない場合。
@ -544,7 +554,7 @@ cpu I686_CPU</programlisting>
<filename>/va/run/dmesg.boot</filename>
ファイルを確認して起動メッセージを調べるとよいでしょう。</para>
<note><para>FreeBSD 5.0 では、<literal>I386_CPU</literal>
<note><para>&os; 5.0 では、<literal>I386_CPU</literal>
へのサポートがデフォルトで無効になっています。</para></note>
<indexterm>
@ -552,14 +562,6 @@ cpu I686_CPU</programlisting>
<secondary>cpu type</secondary>
</indexterm>
<para>Alpha アーキテクチャの場合は、
<literal>cpu</literal> に異なった値を用います。</para>
<programlisting>cpu EV4
cpu EV5</programlisting>
<para>もしあなたが Alpha マシンを使っている場合、
上記の内のどれかを指定して下さい。</para>
<indexterm>
<primary>カーネル オプション</primary>
<secondary>ident</secondary>
@ -587,12 +589,12 @@ cpu EV5</programlisting>
この数字はあなたのマシンを同時に使うと思われるユーザー数と
おおよそ等しくするのが良いでしょう。</para>
<para>FreeBSD&nbsp;4.5 からは、これを明示的に <literal>0</literal>
<para>&os;&nbsp;4.5 からは、これを明示的に <literal>0</literal>
に設定すると、システムが設定を自動調整します<footnote>
<para>自動調整アルゴリズムは、<literal>maxuser</literal>
を、最小値が 32、最大値が 384
の間で、システムのメモリ合計と等しく設定します。</para>
</footnote>。それより前のバージョンの FreeBSD
</footnote>。それより前のバージョンの &os;
を使っているか、自分で管理したい場合、特に
X ウインドウシステムを使ったり、ソフトウエアをコンパイルするなら、
<literal>maxusers</literal> は最低 4 にして下さい。
@ -633,7 +635,7 @@ device npx0 at nexus? port IO_NPX irq 13</programlisting>
<para><literal>npx0</literal> はハードウェアコプロセッサか
ソフトウエアエミュレータのどちらかである浮動小数点演算ユニットへの
FreeBSD におけるインタフェースです。
&os; におけるインタフェースです。
これは任意選択では<emphasis>ありません</emphasis>。</para>
<programlisting># Pseudo devices - the number indicates how many units to allocate.
@ -659,7 +661,7 @@ options MATH_EMULATE #Support for x87 emulation</programlisting>
を持っている場合はコメントアウトして下さい。</para>
<note>
<para>FreeBSD の浮動小数点エミュレーションルーチンはあまり正確では
<para>&os; の浮動小数点エミュレーションルーチンはあまり正確では
<emphasis>ありません</emphasis>。
もしあなたが浮動小数点コプロセッサを持っておらず、
かつベストな演算精度が必要であれば、GNU の浮動小数点サポートを
@ -670,8 +672,8 @@ options MATH_EMULATE #Support for x87 emulation</programlisting>
<note><para>浮動小数点演算コプロセッサを搭載していないような古い
CPU は標準ではなくなり、また、そのような CPU に対応するには、多くの場合、
ネイティブの FreeBSD カーネルに対して追加のオプションを設定する必要があるため、
FreeBSD 5.0 では、
ネイティブの &os; カーネルに対して追加のオプションを設定する必要があるため、
&os; 5.0 では、
浮動小数点エミュレーションはデフォルトで無効になっています。</para></note>
<programlisting>options INET #InterNETworking</programlisting>
@ -692,12 +694,12 @@ options FFS_ROOT #FFS usable as root device [keep this!]</programli
<para>これは標準のハードドライブファイルシステムです。
ハードディスクから起動する場合は残して下さい。</para>
<note><para>FreeBSD 5.0 では、<literal>FFS_ROOT</literal>
<note><para>&os; 5.0 では、<literal>FFS_ROOT</literal>
はもう必要ありません。</para></note>
<programlisting>options UFS_ACL #Support for access control lists</programlisting>
<para>このオプションは、現時点で FreeBSD&nbsp;5.0 のみに存在しているもので、
<para>このオプションは、現時点で &os;&nbsp;5.0 のみに存在しているもので、
カーネルのアクセス制御リストのサポートを有効にします。
この機能は拡張属性および UFS2 が有効になっていることに依存し、
<xref linkend="fs-acl"> で機能の説明が行われています。
@ -747,7 +749,7 @@ options MD_ROOT #MD is a potential root device</programlisting>
<para>次に再起動するか、コマンド <command>mount /tmp</command>
を実行して下さい。</para>
<note><para>FreeBSD 5.0 では、メモリファイルシステムとして、MFS に代わり
<note><para>&os; 5.0 では、メモリファイルシステムとして、MFS に代わり
&man.md.4; を使用した UFS ファイルシステムが使われます。
MD を使用したファイルシステムの設定については
&man.mdconfig.8; および &man.mdmfs.8; をご覧ください。
@ -801,7 +803,7 @@ options CD9660_ROOT #CD-ROM usable as root, CD9660 required</programli
ファイルシステムの <quote>ふりをする</quote> もので、
&man.ps.1; のようなプログラムに、どんなプロセスが走っているか
に関するより多くの情報を提供させる事ができます。
FreeBSD 5.0 では、ほとんどのデバッグおよびモニタリングツールが
&os; 5.0 では、ほとんどのデバッグおよびモニタリングツールが
<literal>PROCFS</literal> なしで起動するので、
ほとんどの環境では <literal>PROCFS</literal> を必要としません。
さらに、5.0-CURRENT のカーネルで <literal>PROCFS</literal> を使う場合には、
@ -809,8 +811,8 @@ options CD9660_ROOT #CD-ROM usable as root, CD9660 required</programli
<programlisting>options PSEUDOFS #Pseudo-filesystem framework</programlisting>
<para>FreeBSD 4.X では、<literal>PSEUDOFS</literal> を利用できません。
FreeBSD 4.X とは異なり、FreeBSD 5.0 を新しくインストールした場合には、
<para>&os; 4.X では、<literal>PSEUDOFS</literal> を利用できません。
&os; 4.X とは異なり、&os; 5.0 を新しくインストールした場合には、
プロセスファイルシステムはデフォルトではマウントされません。</para>
<programlisting>options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]</programlisting>
@ -820,10 +822,10 @@ options CD9660_ROOT #CD-ROM usable as root, CD9660 required</programli
この行をコメントアウトするとおかしな動きをするプログラムがあります。
</para>
<programlisting>options COMPAT_FREEBSD4 #Compatible with FreeBSD4</programlisting>
<programlisting>options COMPAT_FREEBSD4 #Compatible with &os;4</programlisting>
<para>このオプションは、FreeBSD 5.0 i386 および alpha システムにおいて、
古いバージョンの FreeBSD でコンパイルされた古いシステムコールインターフェースを用いるアプリケーションを利用する場合に必要とされます。
<para>このオプションは、&os; 5.0 i386 および alpha システムにおいて、
古いバージョンの &os; でコンパイルされた古いシステムコールインターフェースを用いるアプリケーションを利用する場合に必要とされます。
古いアプリケーションを実行するすべての
i386 および alpha システムで、このオプションの利用を推奨します。
5.0 からサポートが開始された ia64 や sparc64 といったプラットフォームでは、
@ -836,7 +838,7 @@ options CD9660_ROOT #CD-ROM usable as root, CD9660 required</programli
あなたが IDE ドライブしか持たないなら無視して結構です。
そうでないなら、起動時間を短くするため、おそらく待つ時間を短く、
5 秒くらいにしたいでしょう。
勿論、そうした場合に FreeBSD が SCSI 機器を認識しなくなった場合は
勿論、そうした場合に &os; が SCSI 機器を認識しなくなった場合は
時間を元に戻す必要があります。</para>
<programlisting>options UCONSOLE #Allow users to grab the console</programlisting>
@ -849,7 +851,7 @@ options CD9660_ROOT #CD-ROM usable as root, CD9660 required</programli
&man.write.1;, &man.talk.1; などのメッセージや、
カーネルからのコンソールメッセージが表示されます。</para>
<note><para>FreeBSD 5.0 では、<literal>UCONSOLE</literal>
<note><para>&os; 5.0 では、<literal>UCONSOLE</literal>
はもう必要ありません。</para></note>
<programlisting>options USERCONFIG #boot -c editor</programlisting>
@ -862,7 +864,7 @@ options CD9660_ROOT #CD-ROM usable as root, CD9660 required</programli
<para>このオプションは起動メニューからビジュアルコンフィグレーション
エディタを起動できるようにします。</para>
<note><para>FreeBSD バージョン 5.0 以降では、新しく &man.device.hints.5;
<note><para>&os; バージョン 5.0 以降では、新しく &man.device.hints.5;
を利用する方法が採用され、userconfig は使われなくなりました。
&man.device.hints.5; に関する詳しい情報は
<xref linkend="device-hints"> をご覧ください。</para></note>
@ -904,7 +906,7 @@ options _KPOSIX_PRIORITY_SCHEDULING</programlisting>
(たとえば <application>Star Office</application>)
はこれを使っています。</para>
<note><para>FreeBSD 5.0 では、
<note><para>&os; 5.0 では、
<literal>_KPOSIX_PRIORITY_SCHEDULING</literal>
オプションがすべての機能を提供しています。
そのため <literal>P1003_1B</literal> はもう必要ありません。</para></note>
@ -922,7 +924,7 @@ options _KPOSIX_PRIORITY_SCHEDULING</programlisting>
サービス不能パケットによる攻撃からマシンを保護するために必要です。
</para>
<note><para>FreeBSD 5.0 では、この機能はデフォルトで有効です。
<note><para>&os; 5.0 では、この機能はデフォルトで有効です。
<literal>ICMP_BANDLIM</literal>
オプションは必要ありません。</para></note>
@ -938,10 +940,10 @@ options _KPOSIX_PRIORITY_SCHEDULING</programlisting>
<programlisting>device isa</programlisting>
<para>FreeBSD がサポートするすべての PC はこれらの内のひとつを
<para>&os; がサポートするすべての PC はこれらの内のひとつを
持っています。
あなたが IBM PS/2 (マイクロチャネルアーキテクチャ)
マシンを持っている場合、FreeBSD
マシンを持っている場合、&os;
は、現時点では限定的な対応を提供しています。
MCA の対応状況に関する詳細は、
<filename>/usr/src/sys/i386/conf/LINT</filename>
@ -1137,7 +1139,7 @@ device sio3 at isa? disable port IO_COM4 irq 9</programlisting>
<note>
<para>もしあなたが内蔵モデムを COM4 に、シリアルポートを COM2
に設定している場合、FreeBSD からアクセスするには、
に設定している場合、&os; からアクセスするには、
(IRQ2=IRQ9 という、不明瞭な技術的理由により) モデムの IRQ を 2
に変更する必要があります。
もしマルチポートシリアルカードを持っていてこれらの設定の正しい
@ -1306,11 +1308,11 @@ device sn0 at isa? port 0x300 irq 10
<para>この行は IPv6 over IPv4 トンネル、IPv4 over IPv6 トンネル、
IPv4 over IPv4 トンネル、IPv6 over IPv6 トンネルを提供します。
FreeBSD&nbsp;4.4 からは、<literal>gif</literal> デバイスは
&os;&nbsp;4.4 からは、<literal>gif</literal> デバイスは
<quote>auto-cloning (自動複製)</quote> しますので、
(<literal>gif</literal> のあとに数値がこない)
はじめの例を使ってください。
それより前のバージョンの FreeBSD では、数値が必要です。</para>
それより前のバージョンの &os; では、数値が必要です。</para>
<programlisting>pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)</programlisting>
@ -1352,7 +1354,7 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
<para>様々なUSBデバイスのサポートです。</para>
<para>より詳細な情報と、FreeBSD によりサポートされる他のデバイスに
<para>より詳細な情報と、&os; によりサポートされる他のデバイスに
ついては <filename>/usr/src/sys/i386/conf/LINT</filename>
を参照して下さい。</para>
</sect1>
@ -1365,7 +1367,7 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
<primary><command>MAKEDEV</command></primary>
</indexterm>
<note><para>FreeBSD&nbsp;5.0 以降を動かしているなら、
<note><para>&os;&nbsp;5.0 以降を動かしているなら、
この節を飛ばして構いません。そのバージョンでは &man.devfs.5;
を用いて、ユーザに意識させずにデバイスノードを割り当てています。</para></note>
@ -1502,9 +1504,9 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
<listitem>
<para>新しいカーネルが起動しなかったり、
デバイスの認識をしない場合でもあわてないでください!
さいわい、FreeBSD
さいわい、&os;
には利用できないカーネルから復帰する洗練されたメカニズムがあります。
それは、FreeBSD
それは、&os;
のブートローダで起動したいカーネルを選択するだけです。
システムが 10 からカウントダウンしている時に、この機能が使えます。
<keycap>Enter</keycap> キー以外の任意のキーを押して、
@ -1560,7 +1562,7 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
<screen>&prompt.root; <userinput>chflags schg /kernel</userinput></screen>
</note>
<note><para>FreeBSD 5.0 では、インストールする際に、カーネルの
<note><para>&os; 5.0 では、インストールする際に、カーネルの
immutable (変更不可) フラグを有効にしませんので、
おそらくこのことは問題の原因ではないでしょう。</para>
</note>