Merge the following from the English version:

1.61 -> 1.69	handbook/eresources/chapter.sgml
  1.46 -> 1.89	handbook/kernelconfig/chapter.sgml

Submitted by:	Hiroo Ono <hiroo _at_ jp dot FreeBSD dot org>
This commit is contained in:
Hideyuki KURASHINA 2006-03-16 15:15:22 +00:00
parent 378c53ae65
commit 666df396b4
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=27355
2 changed files with 492 additions and 210 deletions
ja_JP.eucJP/books/handbook
eresources
kernelconfig

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project The FreeBSD Japanese Documentation Project
Original revision: 1.61 Original revision: 1.69
$FreeBSD$ $FreeBSD$
--> -->
@ -16,7 +16,7 @@
それだけしかない、というわけではありませんが、 それだけしかない、というわけではありませんが、
最新情報を入手する方法としては電子的なリソースがベストです。 最新情報を入手する方法としては電子的なリソースがベストです。
FreeBSD はボランティアの努力によって、ユーザコミュニティ自体が、 FreeBSD はボランティアの努力によって、ユーザコミュニティ自体が、
一種の<quote>テクニカルサポート部門</quote>としての役割も通常果たしており、 一種の <quote>テクニカルサポート部門</quote> としての役割も通常果たしており、
電子メールや Usenet 電子メールや Usenet
のニュースがこれらのコミュニティにたどり着く最も効果的な方法になっています。</para> のニュースがこれらのコミュニティにたどり着く最も効果的な方法になっています。</para>
@ -30,12 +30,12 @@
<sect1 id="eresources-mail"> <sect1 id="eresources-mail">
<title>メーリングリスト</title> <title>メーリングリスト</title>
<para>多くのFreeBSDの開発メンバはUSENETを読むことができますが、 <para>多くの FreeBSD の開発メンバは USENET を読むことができますが、
もし、<literal>comp.unix.bsd.freebsd.*</literal> もし、<literal>comp.unix.bsd.freebsd.*</literal>
のグループの一つに質問を投稿したとしても のグループの一つに質問を投稿したとしても
タイムリにその質問を受け取るということは保証できません。 タイムリにその質問を受け取るということは保証できません。
質問を適切なメーリングリストに投稿すれば、 質問を適切なメーリングリストに投稿すれば、
私たちかFreeBSDの関係者から、よりよい 私たちか FreeBSD の関係者から、よりよい
(そして少なくともより早い) (そして少なくともより早い)
反応がいつでも得られることでしょう。</para> 反応がいつでも得られることでしょう。</para>
@ -65,7 +65,7 @@
<para><emphasis>一般的なメーリングリスト:</emphasis> <para><emphasis>一般的なメーリングリスト:</emphasis>
以下のものは誰でも自由に参加できる (そしておすすめの) 以下のものは誰でも自由に参加できる (そしておすすめの)
一般的なものです:</para> 一般的なものです</para>
<informaltable frame="none"> <informaltable frame="none">
<tgroup cols="2"> <tgroup cols="2">
@ -186,6 +186,11 @@
<entry>FreeBSD の Alpha への移植</entry> <entry>FreeBSD の Alpha への移植</entry>
</row> </row>
<row>
<entry>freebsd-arm</entry>
<entry>FreeBSD の ARM プロセッサへの移植</entry>
</row>
<row> <row>
<entry>freebsd-atm</entry> <entry>freebsd-atm</entry>
<entry>FreeBSD での ATM ネットワーク使用に関する話題</entry> <entry>FreeBSD での ATM ネットワーク使用に関する話題</entry>
@ -196,6 +201,16 @@
<entry>ソースコード監査プロジェクト</entry> <entry>ソースコード監査プロジェクト</entry>
</row> </row>
<row>
<entry>freebsd-binup</entry>
<entry>バイナリアップデートシステムの設計と開発</entry>
</row>
<row>
<entry>freebsd-cluster</entry>
<entry>FreeBSD のクラスタ環境での利用</entry>
</row>
<row> <row>
<entry>freebsd-database</entry> <entry>freebsd-database</entry>
<entry>FreeBSD <entry>FreeBSD
@ -295,6 +310,11 @@
<entry>FreeBSD の PowerPC への移植</entry> <entry>FreeBSD の PowerPC への移植</entry>
</row> </row>
<row>
<entry>freebsd-qa</entry>
<entry>品質保証 (通常はリリースの保留) についての議論</entry>
</row>
<row> <row>
<entry>freebsd-realtime</entry> <entry>freebsd-realtime</entry>
<entry>FreeBSD 用のリアルタイム拡張の開発に関する話題</entry> <entry>FreeBSD 用のリアルタイム拡張の開発に関する話題</entry>
@ -468,7 +488,7 @@
</tgroup> </tgroup>
</informaltable> </informaltable>
<para><emphasis>CVSメーリングリスト:</emphasis> <para><emphasis>CVS メーリングリスト:</emphasis>
以下のメーリングリストはソースツリーの 以下のメーリングリストはソースツリーの
さまざまな場所の変更のログメッセージを見ることに さまざまな場所の変更のログメッセージを見ることに
興味のある人向けです。 興味のある人向けです。
@ -499,8 +519,8 @@
<sect2 id="eresources-subscribe"> <sect2 id="eresources-subscribe">
<title>参加方法</title> <title>参加方法</title>
<para>どのメーリングリストも<hostid <para>どのメーリングリストも
role="fqdn">FreeBSD.ORG</hostid>にあるので、 <hostid role="fqdn">FreeBSD.ORG</hostid> にあるので、
メーリングリストにメールを送るには、ただ メーリングリストにメールを送るには、ただ
&lt;<replaceable>listname</replaceable>@FreeBSD.org&gt; &lt;<replaceable>listname</replaceable>@FreeBSD.org&gt;
にメールを送るだけです。すると、 にメールを送るだけです。すると、
@ -512,8 +532,8 @@
<programlisting>subscribe &lt;listname&gt; [&lt;optional address&gt;]</programlisting> <programlisting>subscribe &lt;listname&gt; [&lt;optional address&gt;]</programlisting>
という内容をメッセージの本文に含むメールを &a.majordomo; という内容をメッセージの本文に含むメールを &a.majordomo;
に送ります。えば、<literal>freebsd-announce</literal> に送ります。たとえば、<literal>freebsd-announce</literal>
に参加したい場合は次のようにします:</para> に参加したい場合は次のようにします</para>
<screen>&prompt.user; <userinput>mail majordomo@FreeBSD.org</userinput> <screen>&prompt.user; <userinput>mail majordomo@FreeBSD.org</userinput>
subscribe freebsd-announce subscribe freebsd-announce
@ -533,7 +553,7 @@ subscribe freebsd-announce local-announce@somesite.com
<para>最後に、majordomo に対して <para>最後に、majordomo に対して
他のタイプのコントロールメッセージを送ることで 他のタイプのコントロールメッセージを送ることで
メーリングリストから脱退したり、 メーリングリストから脱退したり、
メーリングリストの他のメンバのリストを 得たり、 メーリングリストの他のメンバのリストを得たり、
再びメーリングリストのリストを見たりすることも可能です。 再びメーリングリストのリストを見たりすることも可能です。
利用できるコマンドの完全なリストを入手するには、 利用できるコマンドの完全なリストを入手するには、
次のようにします: </para> 次のようにします: </para>
@ -552,18 +572,18 @@ help
<sect2 id="eresources-charters"> <sect2 id="eresources-charters">
<title>メーリングリストの憲章</title> <title>メーリングリストの憲章</title>
<para><emphasis>て</emphasis> FreeBSD <para><emphasis>すべて</emphasis> FreeBSD
メーリングリストは誰でもそれらを利用することに メーリングリストは誰でもそれらを利用することに
固守しなければいけないという一定の簡単なルールがあります。 固守しなければいけないという一定の簡単なルールがあります。
これらのルー ルに従わないと、結果として FreeBSD の Postmaster これらのルールに従わないと、結果として FreeBSD の Postmaster
<email>postmaster@FreeBSD.org</email>から 2 回までは警 <email>postmaster@FreeBSD.org</email>から 2 回までは警
告を受けます。3回違反すると、 告を受けます。3 回違反すると、
投稿者は全てのFreeBSDのメーリングリストから削除され、 投稿者はすべての FreeBSD のメーリングリストから削除され、
そのメーリングリストへのさらなる投稿から締め出されるでしょう。 そのメーリングリストへのさらなる投稿から締め出されるでしょう。
これらのルールや対策が必要なのは残念です。 これらのルールや対策が必要なのは残念です。
しかし、今日のインターネッ しかし、今日のインターネッ
トはずいぶんいやらしい環境になっており、一般の人々は、 トはずいぶんいやらしい環境になっており、一般の人々は、
その(対策の) メカニズムがいかにもろいかという事すら その (対策の) メカニズムがいかにもろいかという事すら
認識する事が出来ていないと思われます。</para> 認識する事が出来ていないと思われます。</para>
<para>道標</para> <para>道標</para>
@ -571,11 +591,11 @@ help
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>いかなる投稿記事もそのメーリングリストの <para>いかなる投稿記事もそのメーリングリストの
基本的な憲章を守るべきです。えば、 基本的な憲章を守るべきです。たとえば、
そのメーリングリストが技術的な問題に関するものであれば、 そのメーリングリストが技術的な問題に関するものであれば、
技術的な議論を含む投稿でなければなりません。現在継続中の 技術的な議論を含む投稿でなければなりません。現在継続中の
不適切な憲章やフレイムは、 不適切な憲章やフレイムは、
所属しているての人に対してメーリングリスト 所属しているすべての人に対してメーリングリスト
の価値を下げてしまうだけですし、 の価値を下げてしまうだけですし、
許される行為ではないでしょう。 許される行為ではないでしょう。
とくに話題のない自由形式の議論に対しては freebsd-chat とくに話題のない自由形式の議論に対しては freebsd-chat
@ -591,7 +611,7 @@ help
つのメーリングリストには双方に明確な必要性がある場合にのみ つのメーリングリストには双方に明確な必要性がある場合にのみ
投稿すべきです。どのリストに対しても、 投稿すべきです。どのリストに対しても、
(メーリングリストの)参加者は (複数のメーリングリ (メーリングリストの)参加者は (複数のメーリングリ
ストに)重複して参加しており、関連する部分が少ない (えば、 ストに)重複して参加しており、関連する部分が少ない (たとえば、
"-stable と -scsi")メーリングリストを除いては、 "-stable と -scsi")メーリングリストを除いては、
一度に複数のメーリングリストに投稿する理由は全くありません。もし、 一度に複数のメーリングリストに投稿する理由は全くありません。もし、
<literal>Cc</literal> に複数の メーリングリストがそのような形で現れて、 <literal>Cc</literal> に複数の メーリングリストがそのような形で現れて、
@ -605,7 +625,7 @@ help
<listitem> <listitem>
<para>ユーザであれ開発者であれ、(議論の中で) <para>ユーザであれ開発者であれ、(議論の中で)
個人を攻撃したり冒涜した りすることは許されません。 個人を攻撃したり冒涜したりすることは許されません。
個人的なメールを引用したり再投稿したり 個人的なメールを引用したり再投稿したり
する許可をもらえなかったり、もらえそうにない時に、 する許可をもらえなかったり、もらえそうにない時に、
それをおこなう ようなネチケット (訳注: それをおこなう ようなネチケット (訳注:
@ -709,7 +729,21 @@ help
これは、その修正パッチにあるバグがシステムの完全性に悪い影響を与える これは、その修正パッチにあるバグがシステムの完全性に悪い影響を与える
可能性があるような箇所を扱う場合は特に必要になります。</para> 可能性があるような箇所を扱う場合は特に必要になります。</para>
<!-- I can't actually find a charter for this, but there's this e-mail: http://www.freebsd.org/cgi/getmsg.cgi?fetch=223347+225804+/usr/local/www/db/text/2000/cvs-all/20001210.cvs-all --> <!-- I can't actually find a charter for this, but there's this email: http://www.freebsd.org/cgi/getmsg.cgi?fetch=223347+225804+/usr/local/www/db/text/2000/cvs-all/20001210.cvs-all -->
</listitem>
</varlistentry>
<varlistentry>
<term>FREEBSD-BINUP</term>
<listitem>
<para><emphasis>FreeBSD バイナリアップデートプロジェクト</emphasis></para>
<para>このメーリングリストは、バイナリアップデートシステム
(または binup) に関する議論の場を提供します。設計上の問
題、実装の詳細、パッチ、バグ報告、状況報告、機能の要望、
コミットログ、その他 binup に関連するもろもろが格好の話
題となります。</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -751,7 +785,7 @@ help
<listitem> <listitem>
<para><emphasis>FreeBSDコアチーム</emphasis></para> <para><emphasis>FreeBSDコアチーム</emphasis></para>
<para>これは、コアメンバが使う内部メーリングリストです。 <para>これは、コアメンバが使う内部メーリングリストです。
FreeBSDに関連する深 刻なやっかい事の裁定や FreeBSDに関連する深刻なやっかい事の裁定や
ハイレベルな綿密な調査を要求するときに、このメー ハイレベルな綿密な調査を要求するときに、このメー
リングリストにメッセージを送る事が出来ます。</para> リングリストにメッセージを送る事が出来ます。</para>
</listitem> </listitem>
@ -784,8 +818,8 @@ help
メーリングリストのダイジェスト版です。 メーリングリストのダイジェスト版です。
このダイジェストは freebsd-current このダイジェストは freebsd-current
に送られたすべてのメッセージをまとめたものを、 に送られたすべてのメッセージをまとめたものを、
1つのメールにして送り出します。 1 つのメールにして送り出します。
このメーリングリストは <emphasis>読み専用</emphasis>です。 このメーリングリストは<emphasis>読み専用</emphasis>です。
メールを送るような事はしないでください。</para> メールを送るような事はしないでください。</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -797,8 +831,8 @@ help
<para>このメーリングリストは FreeBSD <para>このメーリングリストは FreeBSD
向けの文書の作成に関連する事柄やプロジェクトについて議論を行なうためのものです。 向けの文書の作成に関連する事柄やプロジェクトについて議論を行なうためのものです。
このメーリングリストに参加しているメンバは、 このメーリングリストに参加しているメンバは、
<quote>FreeBSD <quote>FreeBSD ドキュメンテーションプロジェクト</quote>
ドキュメンテーションプロジェクト</quote>に参加していることになります。 に参加していることになります。
このメーリングリストは公開されているので、 このメーリングリストは公開されているので、
参加や投稿は自由に行なうことができます。</para> 参加や投稿は自由に行なうことができます。</para>
</listitem><!-- kuriyama - strange translation --> </listitem><!-- kuriyama - strange translation -->
@ -807,7 +841,7 @@ help
<varlistentry><term>FREEBSD-FS</term> <varlistentry><term>FREEBSD-FS</term>
<listitem> <listitem>
<para><emphasis>ファイルシステム</emphasis></para> <para><emphasis>ファイルシステム</emphasis></para>
<para>FreeBSDのファイルシステムに関する議論 <para>FreeBSD のファイルシステムに関する議論
これは技術的なメーリングリストなので、 これは技術的なメーリングリストなので、
完全に技術的な内容を要求します。</para> 完全に技術的な内容を要求します。</para>
</listitem> </listitem>
@ -850,9 +884,9 @@ help
<varlistentry><term>FREEBSD-JAVA</term> <varlistentry><term>FREEBSD-JAVA</term>
<listitem> <listitem>
<para><emphasis>Javaの開発</emphasis></para> <para><emphasis>Java の開発</emphasis></para>
<para>このメーリングリストは、FreeBSD <para>このメーリングリストは、FreeBSD
向けの重要なJavaアプリケーションの開発や、JDK 向けの重要な Java アプリケーションの開発や、JDK
の移植やメンテナンスの の移植やメンテナンスの
議論をする人のためのものです.</para> 議論をする人のためのものです.</para>
</listitem> </listitem>
@ -861,7 +895,7 @@ help
<varlistentry><term>FREEBSD-HACKERS</term> <varlistentry><term>FREEBSD-HACKERS</term>
<listitem> <listitem>
<para><emphasis>技術的な議論</emphasis></para> <para><emphasis>技術的な議論</emphasis></para>
<para>これはFreeBSDに関する技術的な議論のための <para>これは FreeBSD に関する技術的な議論のための
フォーラムです。 フォーラムです。
これは最もテクニカルなメーリングリストです。 これは最もテクニカルなメーリングリストです。
このメーリングリストは、FreeBSD このメーリングリストは、FreeBSD
@ -877,8 +911,8 @@ help
<listitem> <listitem>
<para><emphasis>技術的な議論</emphasis></para> <para><emphasis>技術的な議論</emphasis></para>
<para>freebsd-hackersメーリングリストのダイジェスト版です。 <para>freebsd-hackersメーリングリストのダイジェスト版です。
このダイジェスト はfreebsd-hackers このダイジェストは freebsd-hackers
に送られたすべてのメッセージをまとめたものを、1つのメー に送られたすべてのメッセージをまとめたものを、1 つのメー
ルにして送り出します。 ルにして送り出します。
このメーリングリストは<emphasis>読み専用</emphasis>です。 このメーリングリストは<emphasis>読み専用</emphasis>です。
メールを送るような事はしないでください。</para> メールを送るような事はしないでください。</para>
@ -947,9 +981,9 @@ help
<varlistentry><term>FREEBSD-PLATFORMS</term> <varlistentry><term>FREEBSD-PLATFORMS</term>
<listitem> <listitem>
<para><emphasis>Intel以外のプラットフォームへの移植 <para><emphasis>Intel 以外のプラットフォームへの移植
</emphasis></para> </emphasis></para>
<para>クロスプラットフォームのFreeBSDの問題。Intel <para>クロスプラットフォームの FreeBSD の問題。Intel
以外のプラットフォームへの FreeBSD 以外のプラットフォームへの FreeBSD
の移植についての一般的な議論や提案。 の移植についての一般的な議論や提案。
これは技術的なメーリングリストなので、 これは技術的なメーリングリストなので、
@ -972,11 +1006,11 @@ help
<varlistentry><term>FREEBSD-PORTS</term> <varlistentry><term>FREEBSD-PORTS</term>
<listitem> <listitem>
<para><emphasis><quote>ports</quote> の議論</emphasis></para> <para><emphasis><quote>ports</quote> の議論</emphasis></para>
<para>FreeBSD <quote>Ports コレクション</quote> <para>FreeBSD <quote>Ports Collection</quote>
(<filename>/usr/ports</filename>) (<filename>/usr/ports</filename>)
に関連する話題や、 に関連する話題や、
新たな ports の提案、Ports 新たな ports の提案、Ports
コレクションの基盤の変更および一般的な構成の整備活動に関する議論。 Collection の基盤の変更および一般的な構成の整備活動に関する議論。
これは技術的なメーリングリストなので、 これは技術的なメーリングリストなので、
厳密に技術的な内容のみが扱われます。</para> 厳密に技術的な内容のみが扱われます。</para>
</listitem> </listitem>
@ -985,7 +1019,7 @@ help
<varlistentry><term>FREEBSD-QUESTIONS</term> <varlistentry><term>FREEBSD-QUESTIONS</term>
<listitem> <listitem>
<para><emphasis>ユーザからの質問</emphasis></para> <para><emphasis>ユーザからの質問</emphasis></para>
<para>FreeBSDに関する質問のためのメーリングリストです。 <para>FreeBSD に関する質問のためのメーリングリストです。
その質問がかなり技術的だと思わないのであれば、 その質問がかなり技術的だと思わないのであれば、
<quote>どのようにして</quote> <quote>どのようにして</quote>
という質問を技術的なメーリングリストに という質問を技術的なメーリングリストに
@ -1000,14 +1034,14 @@ help
メーリングリストのダイジェスト版です。このダイジェストは メーリングリストのダイジェスト版です。このダイジェストは
freebsd-questions freebsd-questions
に送られたすべてのメッセージをまとめたものを、 に送られたすべてのメッセージをまとめたものを、
1つのメールにして送り出します。</para> 1 つのメールにして送り出します。</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry><term>FREEBSD-SCSI</term> <varlistentry><term>FREEBSD-SCSI</term>
<listitem> <listitem>
<para><emphasis>SCSIサブシステム</emphasis></para> <para><emphasis>SCSI サブシステム</emphasis></para>
<para>これは FreeBSD のための scsi <para>これは FreeBSD のための SCSI
サブシステムについて作業している人向けです。 サブシステムについて作業している人向けです。
これは技術的なメーリングリストなので、 これは技術的なメーリングリストなので、
完全に技術的な内容を要求します。</para> 完全に技術的な内容を要求します。</para>
@ -1018,7 +1052,7 @@ help
<listitem> <listitem>
<para><emphasis>セキュリティの関連の話題</emphasis></para> <para><emphasis>セキュリティの関連の話題</emphasis></para>
<para>FreeBSDコンピュータのセキュリティの話題 (DES, <para>FreeBSDコンピュータのセキュリティの話題 (DES,
Kerberosよく知られているセキュリティホールや、 Kerberos, よく知られているセキュリティホールや、
それらのふさぎ方など) それらのふさぎ方など)
これは技術的なメーリングリストなので、 これは技術的なメーリングリストなので、
完全に技術的な内容を要求します。</para> 完全に技術的な内容を要求します。</para>
@ -1085,16 +1119,16 @@ help
<sect1 id="eresources-news"> <sect1 id="eresources-news">
<title>Usenet ニュースグループ</title> <title>Usenet ニュースグループ</title>
<para>2つのFreeBSD用のニュースグループがあります。ここでは <para>2 つの FreeBSD 用のニュースグループがあります。ここでは
FreeBSDの議論をするたくさんの様々な人がおり、 FreeBSD の議論をするたくさんの様々な人がおり、
他にもFreeBSD関連するユーザがいます。 他にも FreeBSD 関連するユーザがいます。
これらのいくつかのニュースグループは Warren Toomey これらのいくつかのニュースグループは Warren Toomey
<email>wkt@cs.adfa.edu.au</email> によって <ulink <email>wkt@cs.adfa.edu.au</email> によって <ulink
url="http://minnie.cs.adfa.edu.au/BSD-info/bsdnews_search.html"> url="http://minnie.tuhs.org/BSD-info/bsdnews_search.html">
Keyword searchable archives</ulink> で、 Keyword searchable archives</ulink> で、
検索できるようになっています。</para> 検索できるようになっています。</para>
<sect2> <sect2>
<title>BSD用のニュースグループ</title> <title>BSD 用のニュースグループ</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
@ -1108,7 +1142,7 @@ help
</sect2> </sect2>
<sect2> <sect2>
<title>関連する他のUnixのニュースグループ</title> <title>関連する他の Unix のニュースグループ</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
@ -1272,7 +1306,7 @@ help
<row> <row>
<entry>dogma.freebsd-uk.eu.org</entry> <entry>dogma.freebsd-uk.eu.org</entry>
<entry>Telnet/FTP/SSH</entry> <entry>Telnet/FTP/SSH</entry>
<entry>E-Mail, Web space, Anonymous FTP</entry> <entry>Email, Web space, Anonymous FTP</entry>
<entry>Lee Johnston <entry>Lee Johnston
<email>lee@uk.FreeBSD.org</email></entry> <email>lee@uk.FreeBSD.org</email></entry>
</row> </row>

View file

@ -2,37 +2,107 @@
The FreeBSD Documentation Project The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project The FreeBSD Japanese Documentation Project
Original revision: 1.46 Original revision: 1.89
$FreeBSD$ $FreeBSD$
--> -->
<chapter id="kernelconfig"> <chapter id="kernelconfig">
<chapterinfo>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
<contrib>改訂および再構成</contrib>
<!-- Mar 2000 -->
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Jake</firstname>
<surname>Hamby</surname>
<contrib>原作</contrib>
<!-- 6 Oct 1995 -->
</author>
</authorgroup>
</chapterinfo>
<title>FreeBSD カーネルのコンフィグレーション</title> <title>FreeBSD カーネルのコンフィグレーション</title>
<sect1> <sect1>
<title>この章では</title> <title>この章では</title>
<para><emphasis>更新/再構成: &a.jim;、2000 年 3 月 <!--
寄稿: &a.jehamby;、1995 年 10 月 6 日</emphasis></para>
<para><emphasis>訳: &a.jp.tomo;、&a.jp.yoshiaki; 1996 年 11 月 2 日</emphasis></para> <para><emphasis>訳: &a.jp.tomo;、&a.jp.yoshiaki; 1996 年 11 月 2 日</emphasis></para>
-->
<indexterm> <indexterm>
<primary>カーネル</primary> <primary>カーネル</primary>
<secondary>カスタムカーネルの構築</secondary> <secondary>カスタムカーネルの構築</secondary>
</indexterm> </indexterm>
<para>この章では、自分のシステムに合わせた <para>カーネルは FreeBSD オペレーティングシステムの中核をなすもの
カーネルを構築する方法について扱います。 です。カーネルは、メモリ管理、セキュリティ制御の強制、ネットワー
カーネルの再構築によりどんなメリットがあるのか不思議に思っていたり、 ク、ディスクアクセスなどを担っています。FreeBSD はどんどん動的に
自分用のカーネルを設定し、コンパイルし、インストールする方法を 構成することができるようになっていますが、まだ、時にはカーネルコ
知りたいと思っているのなら、この章が役に立つでしょう。 ンフィグレーションをやり直して、再構築する必要があります。</para>
</para>
<para>この章では、以下のことを扱っています。</para>
<itemizedlist>
<listitem>
<para>なぜカスタムカーネルの構築が必要になることがあるのか。</para>
</listitem>
<listitem>
<para>コンフィグレーションファイルの書き方や、既存のコンフィグ
レーションファイルの置き換え。</para>
</listitem>
<listitem>
<para>カーネルコンフィグレーションファイルから新しいカーネルを構
築する方法。</para>
</listitem>
<listitem>
<para>新しいカーネルのインストール方法。</para>
</listitem>
<listitem>
<para><filename>/dev</filename> 下に必要となる項目を作成する方法。</para>
</listitem>
<listitem>
<para>うまく行かないときの問題解決法。</para>
</listitem>
</itemizedlist>
</sect1> </sect1>
<sect1> <sect1>
<title>なぜカスタムカーネルを作るか?</title> <title>なぜカスタムカーネルを作るか?</title>
<para>伝統的に、FreeBSD のカーネルは <quote>モノリシック</quote>
(monolithic) カーネルと呼ばれるものでした。
これは、カーネルが単一の巨大なプログラムで、
扱えるデバイスは固定されていて、
カーネルの振る舞いを変えたければ新しいカーネルを構築して、
コンピュータを再起動して新しいカーネルを動かさなれければならなかった
ということです。</para>
<para>今日では FreeBSD は、カーネルの機能のかなりが必要に応じて動
的にカーネルに組み込んだり外したりできるモジュールにおかれている
モデルへと、急速に移行しています。こうしてカーネルは (ノート PC
の PCMCIA カードのように) 突如使えるようになったハードウェアに対
応したり、カーネルが作成された時点では必要なかった新たな機能を取
り入れられるようになります。くだけた表現では、これは KLD と呼ば
れます。</para>
<para>しかしながら、いまだにいくらかは静的にカーネルを構成する必要
があります。ある場合においては、機能がカーネルとあまりに密接に結
びついているため、動的に組み込むことができません。ほかには、単に
まだ誰もその機能に対する組み込み可能なカーネルモジュールを書く時
間をとっていないだけということもあります。</para>
<para>システムに合わせたカーネルの構築はほとんどすべての <para>システムに合わせたカーネルの構築はほとんどすべての
UNIX ユーザが Unix ユーザが
避けて通ることのできない最も重要な通過儀礼の1つです。 避けて通ることのできない最も重要な通過儀礼の1つです。
この作業は、多くの時間を必要としますが、あなたの FreeBSD この作業は、多くの時間を必要としますが、あなたの FreeBSD
システムに多くの利益をもたらします。 システムに多くの利益をもたらします。
@ -54,10 +124,11 @@
<listitem> <listitem>
<para>メモリの消費量が減少します。 <para>メモリの消費量が減少します。
システムに合わせたカーネルは、大抵 <literal>GENERIC</literal> システムに合わせたカーネルは、大抵
<filename>GENERIC</filename>
カーネルより少ないメモリしか消費しません。 カーネルより少ないメモリしか消費しません。
カーネルは常にメモリ上に存在するプロセスなので、 カーネルは常に実メモリ上に存在しなければならないので、
のことは重要になります。 れは重要なことです。
したがって、RAM が少ないシステムでは、 したがって、RAM が少ないシステムでは、
カーネルの再構築は大変重要です。</para> カーネルの再構築は大変重要です。</para>
</listitem> </listitem>
@ -65,8 +136,8 @@
<listitem> <listitem>
<para>追加のハードウェアをサポートします。 <para>追加のハードウェアをサポートします。
システムに合わせたカーネルは、サウンドカードなど システムに合わせたカーネルは、サウンドカードなど
<literal>GENERIC</literal> カーネルに存在しない <filename>GENERIC</filename>
デバイスのサポートを追加することができます。</para> カーネルに存在しないデバイスのサポートを追加することができます。</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect1> </sect1>
@ -106,11 +177,22 @@
カーネルのソースが インストールされていません。 カーネルのソースが インストールされていません。
もっとも簡単な方法は (<username>root</username>で) もっとも簡単な方法は (<username>root</username>で)
<command>/stand/sysinstall</command> <command>/stand/sysinstall</command>
を用いて以下のようにします。<literal>設定(Configure)</literal> を用いて以下のようにすることです。
を選んでから <literal>配布ファイル(Distribution)</literal> <guimenuitem>設定 (Configure)</guimenuitem>
を選択し、<literal>src</literal> の中の <literal>sys</literal> を選んでから
<guimenuitem>配布ファイル (Distribution)</guimenuitem>
を選択し、<guimenuitem>src</guimenuitem>
の中の <guimenuitem>sys</guimenuitem>
をインストールしてください。 をインストールしてください。
<application>sysinstall</application>
が嫌いで、<quote>公式</quote> FreeBSD CDROM を利用できるなら、
コマンドラインからソースコードをインストールすることもできます。
</para> </para>
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
&prompt.root; <userinput>mkdir -p /usr/src/sys</userinput>
&prompt.root; <userinput>ln -s /usr/src/sys /sys</userinput>
&prompt.root; <userinput>cat /cdrom/src/ssys.[a-d]* | tar -xzvf -</userinput></screen>
</note> </note>
<para>つぎに、 <para>つぎに、
@ -127,21 +209,44 @@
この名前にホスト名を含めるとよいでしょう。ここでは、例として この名前にホスト名を含めるとよいでしょう。ここでは、例として
<filename>MYKERNEL</filename> と呼ぶことにします。</para> <filename>MYKERNEL</filename> と呼ぶことにします。</para>
<tip>
<para>カーネルコンフィグレーションファイルを、直に
<filename>/usr/src</filename> の下に置くのはよい考えとはいえま
せん。なにか問題が起きたときに、
<filename>/usr/src</filename> を消してやり直したいと思うかもし
れません。その後で、あなたがカスタマイズしたカーネルコンフィグ
レーションファイルを消してしまったことに気づくのに時間はかから
ないでしょう。</para>
<para>カーネルコンフィグレーションファイルは他の場所において、
<filename>i386</filename> ディレクトリにシンボリックリンクを張
る方がよいでしょう。</para>
<para>たとえば、次のようにします。</para>
<screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput>
&prompt.root; <userinput>mkdir /root/kernels</userinput>
&prompt.root; <userinput>cp GENERIC /root/kernels/<replaceable>MYKERNEL</replaceable></userinput>
&prompt.root; <userinput>ln -s /root/kernels/<replaceable>MYKERNEL</replaceable></userinput></screen>
</tip>
<note> <note>
<para>この作業は root権限でおこなう必要があります。 <para>この作業は <username>root</username>
そうでなければ、<errortype>permission 権限でおこなう必要があります。そうでなければ、
denied</errortype>というエラーが出ます。</para> <errortype>permission denied</errortype>
というエラーが出ます。</para>
</note> </note>
<para>では、<filename>MYKERNEL</filename> <para>では、<filename>MYKERNEL</filename>
をあなたの好きなエディタで編集してください。もし、 をあなたの好きなエディタで編集してください。もし、
システムをインストールしたばかりならば、利用できるエディタは システムをインストールしたばかりならば、利用できるエディタは
<command>vi</command>だけかもしれません。ここでは使い方 <application>vi</application>
の説明はしませんが、<link linkend="bibliography">参考図書</link> だけかもしれません。ここでは使い方の説明はしませんが、
<link linkend="bibliography">参考図書</link>
にあるような多くの本で詳しく説明 されていますので、 にあるような多くの本で詳しく説明 されていますので、
そちらを参照してください。FreeBSD にはより簡単なエディタとして そちらを参照してください。FreeBSD にはより簡単なエディタとして
<quote>ee</quote> があります。初心者の方であればこちらをエディタ <application>ee</application>
に選ぶとよいでしょう。 があります。初心者の方であればこちらをエディタに選ぶとよいでしょう。
まずファイルの最初の方のコメント行を編集し、あなたのコンフィグ まずファイルの最初の方のコメント行を編集し、あなたのコンフィグ
レーションに合せて変更した点などを記述して レーションに合せて変更した点などを記述して
<filename>GENERIC</filename> と区別がつく <filename>GENERIC</filename> と区別がつく
@ -159,66 +264,114 @@
</link> の節をゆっくりと注意深く読んでください。</para> </link> の節をゆっくりと注意深く読んでください。</para>
<note> <note>
<para>FreeBSD Project の最新のソースファイルと、あなたの <para>FreeBSD Project の最新のソースファイルと、<link
ソースツリーを同期させている場合、 linkend="cutting-edge">あなたのソースツリーを同期させている</link>
アップデートを行う際には、必ず 場合、アップデートを行う際には、必ず
<filename>/usr/src/UPDATING</filename> ファイルをチェックするように <filename>/usr/src/UPDATING</filename>
してください。 ファイルをチェックしてください。
このファイルには、FreeBSD をアップデートする際のすべての重要な情報 このファイルには、FreeBSD
書かれています。 をアップデートする際の重要な問題がすべて書かれています。
<filename>/usr/src/UPDATING</filename> は常にあなたの FreeBSD <filename>/usr/src/UPDATING</filename> は常にあなたの FreeBSD
ソースファイルのバージョンと同期していますので、 ソースファイルのバージョンと同期していますので、
ハンドブックの情報よりも正確なものとなっています。</para> ハンドブックの情報よりも正確なものとなっています。</para>
</note> </note>
<para>FreeBSD 4.0 より前の FreeBSD を使っていて、 <para>ここで、カーネルのソースコードをコンパイルしなくてはなりませ
FreeBSD 4.0 以降へはアップグレードしない、 ん。手順は二つあり、どちらを使うかは、なぜカーネルを再構築するか
もしくはリリース版の FreeBSD を使っていて と、動かしている FreeBSD のバージョンによって決まります。</para>
<filename>/usr/src/</filename> ディレクトリには
<filename>sys/</filename> しか無い場合、 <itemizedlist>
編集し終ったら次のコマンドによってコンパイル、インストール <listitem>
を行ってください。</para> <para>カーネルのソースコード<emphasis>だけ</emphasis>インストー
ルしているなら、手順 1 にしたがってください。</para>
</listitem>
<listitem>
<para>4.0 より前の FreeBSD を使っていて、
<maketarget>make world</maketarget> を行って FreeBSD&nbsp;4.0
以上にアップグレードしないなら、
手順 1 にしたがってください。</para>
</listitem>
<listitem>
<para>(<literal>IPFIREWALL</literal> オプションを追加するなど
のように) ソースコードを更新せずに新しいカーネルを構築するな
らどちらの手順を用いても構いません。</para>
</listitem>
<listitem>
<para><maketarget>make world</maketarget>
の一環としてカーネルの再構築を行っているなら、
手順 2 にしたがってください。</para>
</listitem>
</itemizedlist>
<procedure>
<title>手順 1: <quote>伝統的な</quote> 方法によるカーネル構築</title>
<step>
<para>カーネルソースコードを生成するため、&man.config.8; を実
行します。</para>
<screen>&prompt.root; <userinput>/usr/sbin/config <replaceable>MYKERNEL</replaceable></userinput></screen>
</step>
<step>
<para>カーネルを構築するためのディレクトリに移動します。</para>
<screen>&prompt.root; <userinput>cd ../../compile/<replaceable>MYKERNEL</replaceable></userinput></screen>
</step>
<step>
<para>カーネルをコンパイルします。</para>
<screen>&prompt.root; <userinput>make depend</userinput>
&prompt.root; <userinput>make</userinput></screen>
</step>
<step>
<para>新しいカーネルをインストールします。</para>
<screen>&prompt.root; <userinput>make install</userinput></screen>
</step>
</procedure>
<procedure>
<title>手順 2: <quote>新しい</quote> 方法によるカーネル構築</title>
<step>
<para><filename>/usr/src</filename> ディレクトリに移動します。</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
</step>
<step>
<para>カーネルをコンパイルします。</para>
<screen>&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
</step>
<step>
<para>新しいカーネルをインストールします。</para>
<screen>&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
</step>
</procedure>
<note> <note>
<para>古いバージョンの FreeBSD からカーネルをアップグレードしようと <para>FreeBSD&nbsp;4.2 とそれ以前の場合は、
している場合、新しいカーネルのソースファイルを取ってきた場所と
同じところから、新しいバージョンの &man.config.8; を取ってくる
必要があるでしょう。
&man.config.8; は <filename>/usr/src/usr.sbin</filename>
にあるので、これらのソースファイルもダウンロードする必要が
あります。
次のコマンドを実行する前に、これを再構築してインストールして
おいてください。</para>
</note>
<screen>&prompt.root; <userinput>/usr/sbin/config MYKERNEL</userinput>
&prompt.root; <userinput>cd ../../compile/MYKERNEL</userinput>
&prompt.root; <userinput>make depend</userinput>
&prompt.root; <userinput>make</userinput>
&prompt.root; <userinput>make install</userinput></screen>
<para>4.X 以降の新しいバージョンにアップグレードした場合
(例えば 3.X から 4-STABLE へ、もしくは 4-STABLE から
最新版の 4-STABLE へなど)、予め
<link linkend="cutting-edge">buildworld</link> を行なって、
以下のコマンドを実行してください:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make buildkernel KERNCONF=MYKERNEL</userinput>
&prompt.root; <userinput>make installkernel KERNCONF=MYKERNEL</userinput></screen>
<note>
<para>FreeBSD-4.2 とそれ以前の場合は、
<literal>KERNCONF=</literal> <literal>KERNCONF=</literal>
ではなく ではなく
<literal>KERNEL=</literal> <literal>KERNEL=</literal>
としなければなりません。 としなければなりません。
2001 年 2 月 2 日以降の 4.2-STABLE は 2001 年 2 月 2 日以降の 4.2-STABLE は
KERNCONF= を認識します。</para> <literal>KERNCONF=</literal> を認識します。</para>
</note> </note>
<indexterm><primary>CVSup</primary></indexterm> <indexterm>
<indexterm><primary>anoncvs</primary></indexterm> <primary><command>cvsup</command></primary>
</indexterm>
<indexterm><primary>anonymous CVS</primary></indexterm>
<indexterm><primary>CTM</primary></indexterm> <indexterm><primary>CTM</primary></indexterm>
<indexterm> <indexterm>
<primary>CVS</primary> <primary>CVS</primary>
@ -229,45 +382,42 @@
<emphasis>いない</emphasis> 場合 <emphasis>いない</emphasis> 場合
(<application>CVSup</application>, <application>CTM</application>, (<application>CVSup</application>, <application>CTM</application>,
<application>anoncvs</application> などを実行していない場合)、 <application>anoncvs</application> などを実行していない場合)、
<command>config</command>, <command>make depend</command>, <command>config</command>, <maketarget>make depend</maketarget>,
<command>make</command>, <command>make install</command> <command>make</command>, <maketarget>make install</maketarget>
の手順を実行してください。</para> の手順を実行してください。</para>
<warning> <indexterm>
<para>最後にカーネルを構築した後で、ソースをアップグレードした場合、 <primary><filename>kernel.old</filename></primary>
カーネルを構築するには <command>make buildkernel</command> </indexterm>
を使わなければ <emphasis>なりません</emphasis>。
そうしないと、カーネルを構築するのに古いユーティリティが
使われてしまい、失敗してしまうかもしれません。
<emphasis>ソースを更新した場合には、カーネルを構築するのに
<command>config</command>/<command>make</command>
の手順は使わないでください!</emphasis></para>
</warning>
<indexterm><primary>kernel.old</primary></indexterm>
<para>新しいカーネルはルートディレクトリに <para>新しいカーネルはルートディレクトリに
<filename>/kernel</filename>という 名前でコピーされ、 <filename>/kernel</filename>という 名前でコピーされ、
今までのカーネルは <filename>/kernel.old</filename> 今までのカーネルは <filename>/kernel.old</filename>
という名前へ変更されます。では、システムをシャットダウン、リブー という名前へ変更されます。では、システムをシャットダウン、
トして新しいカーネルを使ってください。うまく行かない場合は、 リブートして新しいカーネルを使ってください。
この章の終りの うまく行かない場合は、この章の終りの
<link linkend="kernelconfig-trouble">問題が起きた場合には</link> <link linkend="kernelconfig-trouble">問題が起きた場合には</link>
を参照してください。この章の新しい を参照してください。この章の新しい
<link linkend="kernelconfig-noboot">カーネルが起動しない</link> <link linkend="kernelconfig-noboot">カーネルが起動しない</link>
場合のリカバリの方法を注意深く読んでおいてください。</para> 場合のリカバリの方法を注意深く読んでおいてください。</para>
<note> <note>
<para>(サウンドカードのような)新しいデバイスを 追加した場合は、 <para>FreeBSD&nbsp;4.X 以前のバージョンを使っていて、
使う前に <filename>/dev</filename>ディレクトリで (サウンドカードなど) 新しいデバイスを追加した場合は、
デバイスノードを追加しなければならないかもしれません。 使う前に <filename>/dev</filename>
詳しくは、<link linkend="kernelconfig-nodes">デバイスノード ディレクトリにデバイスノードを追加しなければならないかもしれません。
</link> を読んでください。</para> 詳しくは、この章で後ほど出てくる
<link linkend="kernelconfig-nodes">デバイスノードの作成</link>
をご覧ください。</para>
</note> </note>
</sect1> </sect1>
<sect1 id="kernelconfig-config"> <sect1 id="kernelconfig-config">
<title>コンフィグレーション ファイル</title> <title>コンフィグレーション ファイル</title>
<indexterm><primary>カーネル</primary><secondary>LINT</secondary></indexterm> <indexterm>
<primary>カーネル</primary>
<secondary>LINT</secondary>
</indexterm>
<indexterm><primary>LINT</primary></indexterm> <indexterm><primary>LINT</primary></indexterm>
<indexterm> <indexterm>
<primary>カーネル</primary> <primary>カーネル</primary>
@ -312,7 +462,7 @@
</important> </important>
<indexterm> <indexterm>
<primary>カーネル</primary> <primary>カーネル</primary>
<secondary>コンフィグレーション例</secondary> <secondary>コンフィグレーションファイル例</secondary>
</indexterm> </indexterm>
<para>以下は必要に応じてコメントを追加した <para>以下は必要に応じてコメントを追加した
@ -330,7 +480,7 @@
# このファイルについて更に情報が必要なら、ハンドブックのカーネル # このファイルについて更に情報が必要なら、ハンドブックのカーネル
# コンフィグレーションファイルのセクションを参照して下さい。 # コンフィグレーションファイルのセクションを参照して下さい。
# #
# http://www.freebsd.org/handbook/kernelconfig-config.html # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
# #
# doc ディストリビューションをインストールした場合、ハンドブックは # doc ディストリビューションをインストールした場合、ハンドブックは
# ローカルマシンの /usr/share/doc/handbook でも見ることができます。 # ローカルマシンの /usr/share/doc/handbook でも見ることができます。
@ -371,8 +521,8 @@ cpu I686_CPU</programlisting>
<literal>I686_CPU</literal> とすべきかはっきり分からない場合。 <literal>I686_CPU</literal> とすべきかはっきり分からない場合。
しかしながら、カスタムカーネルを作る場合、あなたの持つ CPU しかしながら、カスタムカーネルを作る場合、あなたの持つ CPU
だけを指定するのがベストです。 だけを指定するのがベストです。
もしあなたがどのタイプの CPU を使っているか分からない場合、 もしあなたの CPU がどのタイプか分からない場合、
<command>dmesg</command> を使って起動メッセージを &man.dmesg.8; を使って起動メッセージを
調べるとよいでしょう。</para> 調べるとよいでしょう。</para>
<indexterm> <indexterm>
<primary>カーネル オプション</primary> <primary>カーネル オプション</primary>
@ -380,7 +530,7 @@ cpu I686_CPU</programlisting>
</indexterm> </indexterm>
<para>Alpha アーキテクチャの場合は、 <para>Alpha アーキテクチャの場合は、
<literal>cpu_type</literal> に異なった値を用います。</para> <literal>cpu</literal> に異なった値を用います。</para>
<programlisting>cpu EV4 <programlisting>cpu EV4
cpu EV5</programlisting> cpu EV5</programlisting>
@ -396,24 +546,32 @@ cpu EV5</programlisting>
<para>ここはカーネルの識別名を書きます。 <para>ここはカーネルの識別名を書きます。
あなたがカーネルに付けたい名前に書き換えて下さい あなたがカーネルに付けたい名前に書き換えて下さい
(<literal>MYKERNEL</literal>のように)。 (前記の例の <literal>MYKERNEL</literal> のように)。
<literal>ident</literal> に書いた名前はカーネルを起動する時に <literal>ident</literal> に書いた名前はカーネルを起動する時に
表示されるので、 表示されるので、
普段使っているカーネルと区別したいときは違う名前を付けると 普段使っているカーネルと区別したいときは、
新しいカーネルに違う名前を付けると
良いでしょう(例: 実験的なカーネルを構築する場合)。</para> 良いでしょう(例: 実験的なカーネルを構築する場合)。</para>
<indexterm> <indexterm>
<primary>カーネル オプション</primary> <primary>カーネル オプション</primary>
<secondary>maxusers</secondary> <secondary>maxusers</secondary>
</indexterm> </indexterm>
<programlisting>maxusers 32</programlisting> <programlisting>maxusers <replaceable>n</replaceable></programlisting>
<para><literal>maxusers</literal> オプションは重要なシステムテーブルの <para><literal>maxusers</literal> オプションは重要なシステムテーブルの
サイズを決定します。 サイズを決定します。
この数字はあなたのマシンを同時に使うと思われるユーザー数と この数字はあなたのマシンを同時に使うと思われるユーザー数と
おおよそ等しくするのが良いでしょう。 おおよそ等しくするのが良いでしょう。</para>
しかしながら、通常は X ウインドウシステムを使ったり、
ソフトウエアをコンパイルするでしょうから、その場合は <para>FreeBSD&nbsp;4.5 からは、これを明示的に <literal>0</literal>
に設定すると、システムが設定を自動調整します<footnote>
<para>自動調整アルゴリズムは、<literal>maxuser</literal>
を、最小値が 32、最大値が 384
の間で、システムのメモリ合計と等しく設定します。</para>
</footnote>。それより前のバージョンの FreeBSD
を使っているか、自分で管理したい場合、特に
X ウインドウシステムを使ったり、ソフトウエアをコンパイルするなら、
<literal>maxusers</literal> は最低 4 にして下さい。 <literal>maxusers</literal> は最低 4 にして下さい。
その理由は、<literal>maxusers</literal> によって計算される最も その理由は、<literal>maxusers</literal> によって計算される最も
重要なテーブルがプロセスの最大数で、それは 重要なテーブルがプロセスの最大数で、それは
@ -422,7 +580,8 @@ cpu EV5</programlisting>
同時に 36 プロセスしか利用できなくなりますが、 同時に 36 プロセスしか利用できなくなりますが、
システムは起動時に 18 ほどのプロセスを立ち上げ、 システムは起動時に 18 ほどのプロセスを立ち上げ、
X ウインドウシステムは 15 ほどのプロセスを立ち上げるので、 X ウインドウシステムは 15 ほどのプロセスを立ち上げるので、
man コマンドのような単純な仕事でさえフィルタ、展開、表示に 9 オンラインマニュアルを読むような単純なタスクでさえ
フィルタ、展開、表示に 9
個のプロセスを利用するために、プロセス数不足になります。 個のプロセスを利用するために、プロセス数不足になります。
<literal>maxusers</literal> を 64 に設定すると、 <literal>maxusers</literal> を 64 に設定すると、
1044 個のプロセスを同時に利用することができるので、 1044 個のプロセスを同時に利用することができるので、
@ -446,6 +605,23 @@ cpu EV5</programlisting>
</para> </para>
</note> </note>
<programlisting># Floating point support - do not disable.
device npx0 at nexus? port IO_NPX irq 13</programlisting>
<para><literal>npx0</literal> はハードウェアコプロセッサか
ソフトウエアエミュレータのどちらかである浮動小数点演算ユニットへの
FreeBSD におけるインタフェースです。
これは任意選択では<emphasis>ありません</emphasis>。</para>
<programlisting># Pseudo devices - the number indicates how many units to allocate.
pseudo-device loop # Network loopback</programlisting>
<para>TCP/IP の汎用ループバックデバイスです。
<hostid>localhost</hostid> (すなわち
<hostid role="ipaddr">127.0.0.1</hostid>) に対して telnet や FTP
で接続すると、この疑似デバイスを通して戻ってきます。
これは<emphasis>必須</emphasis>です。</para>
<para>以下に続くすべては大体において追加設定項目です。 <para>以下に続くすべては大体において追加設定項目です。
詳細は各項目の次に書かれている注意書きを参照して下さい。</para> 詳細は各項目の次に書かれている注意書きを参照して下さい。</para>
@ -456,15 +632,15 @@ options MATH_EMULATE #Support for x87 emulation</programlisting>
持たない場合(CPU が 386 又は 486SX)、 持たない場合(CPU が 386 又は 486SX)、
カーネルにシミュレートさせるよう設定します。 カーネルにシミュレートさせるよう設定します。
あなたが 486DX, 又は (387 や 487 チップを別途搭載した) 386, 486SX あなたが 486DX, 又は (387 や 487 チップを別途搭載した) 386, 486SX
又は更に上位 (Pentium, Pentium II 他) を持っている場合は 又は更に上位 (Pentium, Pentium&nbsp;II 他)
コメントアウトして下さい。</para> を持っている場合はコメントアウトして下さい。</para>
<note> <note>
<para>FreeBSD の浮動小数点エミュレーションルーチンはあまり正確では <para>FreeBSD の浮動小数点エミュレーションルーチンはあまり正確では
<emphasis>ありません</emphasis>。 <emphasis>ありません</emphasis>。
もしあなたが浮動小数点コプロセッサを持っておらず、 もしあなたが浮動小数点コプロセッサを持っておらず、
かつベストな演算精度が必要であれば、GNU の浮動小数点サポートを かつベストな演算精度が必要であれば、GNU の浮動小数点サポートを
利用する <literal>GPL_MATH_EMULATION</literal> を使ってみて下さい。 利用する <literal>GPL_MATH_EMULATE</literal> を使ってみて下さい。
このオプションはライセンス上の理由によりデフォルトでは このオプションはライセンス上の理由によりデフォルトでは
含まれていません。</para> 含まれていません。</para>
</note> </note>
@ -487,6 +663,26 @@ options FFS_ROOT #FFS usable as root device [keep this!]</programli
<para>これは標準のハードドライブファイルシステムです。 <para>これは標準のハードドライブファイルシステムです。
ハードディスクから起動する場合は残して下さい。</para> ハードディスクから起動する場合は残して下さい。</para>
<programlisting>options UFS_DIRHASH #Improve performance on big directories</programlisting>
<para>このオプションは、メモリを多少余分に食うものの、
大きなディレクトリに対するディスク操作を高速化するコードを有効にします。
大規模なサーバや対話的なワークステーションではこのオプションを残しておいて、
ファイアウォールのように、メモリが貴重で
ディスクアクセス速度がそれほど重要でない
小規模なシステムでは削除するとよいでしょう。</para>
<programlisting>options SOFTUPDATES #Enable FFS Soft Updates support</programlisting>
<para>このオプションは、カーネル内の Soft Updates 機能を有効にし、
ディスクへの高速な書き込みを支援します。
4.X ブランチではデフォルトで有効にされましたが、
有効になっていない可能性もあります。
&man.mount.8; の出力を見て、有効になっているかどうか確認してください。
<literal>soft-updates</literal> オプションが見当たらなければ、
&man.tunefs.8; か、新規のファイルシステムについては
&man.newfs.8; で有効にする必要があります。</para>
<programlisting>options MFS #Memory Filesystem <programlisting>options MFS #Memory Filesystem
options MD_ROOT #MD is a potential root device</programlisting> options MD_ROOT #MD is a potential root device</programlisting>
@ -519,7 +715,7 @@ options MD_ROOT #MD is a potential root device</programlisting>
options NFS_ROOT #NFS usable as root device, NFS required</programlisting> options NFS_ROOT #NFS usable as root device, NFS required</programlisting>
<para>ネットワークファイルシステム。 <para>ネットワークファイルシステム。
UNIX ファイルサーバから TCP/IP を介してパーティションを Unix ファイルサーバから TCP/IP を介してパーティションを
マウントするのでない限り、これらの行をコメントアウトして下さい。</para> マウントするのでない限り、これらの行をコメントアウトして下さい。</para>
<indexterm> <indexterm>
@ -576,12 +772,11 @@ options CD9660_ROOT #CD-ROM usable as root, CD9660 required</programli
<para>ユーザにコンソールを所有することを許可します。 <para>ユーザにコンソールを所有することを許可します。
X のユーザには役に立ちます。 X のユーザには役に立ちます。
たとえば <command>xterm -C</command> とコマンドを打つことにより、 たとえば <command>xterm -C</command>
コンソール xterm を起動することができます。 と入力すれば、コンソール <application>xterm</application>
ここにはカーネルからのあらゆるコンソールメッセージとともに、 を実行できます。ここにはあなたが受け取る
<command>write</command>, <command>talk</command> による &man.write.1;, &man.talk.1; などのメッセージや、
あらゆるメッセージを表示します。 カーネルからのコンソールメッセージが表示されます。</para>
</para>
<programlisting>options USERCONFIG #boot -c editor</programlisting> <programlisting>options USERCONFIG #boot -c editor</programlisting>
@ -593,6 +788,11 @@ options CD9660_ROOT #CD-ROM usable as root, CD9660 required</programli
<para>このオプションは起動メニューからビジュアルコンフィグレーション <para>このオプションは起動メニューからビジュアルコンフィグレーション
エディタを起動できるようにします。</para> エディタを起動できるようにします。</para>
<note><para>FreeBSD バージョン 5.0 以降では、新しく &man.device.hints.5;
を利用する方法が採用され、userconfig は使われなくなりました。
&man.device.hints.5; に関する詳しい情報は
<xref linkend="device-hints"> をご覧ください。</para></note>
<programlisting>options KTRACE #ktrace(1) support</programlisting> <programlisting>options KTRACE #ktrace(1) support</programlisting>
<para>この行はデバッギングに役立つカーネルプロセスのトレースを <para>この行はデバッギングに役立つカーネルプロセスのトレースを
@ -627,12 +827,16 @@ options _KPOSIX_PRIORITY_SCHEDULING</programlisting>
<para>リアルタイム拡張が 1993 POSIX に追加されました。 <para>リアルタイム拡張が 1993 POSIX に追加されました。
Ports コレクションの内のいくつかのアプリケーション Ports コレクションの内のいくつかのアプリケーション
(例えば Star Office) はこれを使っています。</para> (たとえば <application>Star Office</application>)
はこれを使っています。</para>
<indexterm> <indexterm>
<primary>カーネル オプション</primary> <primary>カーネル オプション</primary>
<secondary>ICMP_BANDLIM</secondary> <secondary>ICMP_BANDLIM</secondary>
</indexterm> </indexterm>
<indexterm>
<primary>サービス妨害 (DoS)</primary>
</indexterm>
<programlisting>options ICMP_BANDLIM #Rate limit bad replies</programlisting> <programlisting>options ICMP_BANDLIM #Rate limit bad replies</programlisting>
<para>このオプションは ICMP エラー応答のバンド幅制限を可能にします。 <para>このオプションは ICMP エラー応答のバンド幅制限を可能にします。
@ -654,8 +858,11 @@ options _KPOSIX_PRIORITY_SCHEDULING</programlisting>
<para>FreeBSD がサポートするすべての PC はこれらの内のひとつを <para>FreeBSD がサポートするすべての PC はこれらの内のひとつを
持っています。 持っています。
あなたが IBM PS/2 (マイクロチャネルアーキテクチャ) あなたが IBM PS/2 (マイクロチャネルアーキテクチャ)
マシンを持っている場合、FreeBSD は現時点では動作しません マシンを持っている場合、FreeBSD
(サポートには取組中です)。</para> は、現時点では限定的な対応を提供しています。
MCA の対応状況に関する詳細は、
<filename>/usr/src/sys/i386/conf/LINT</filename>
をご覧ください。</para>
<programlisting>device eisa</programlisting> <programlisting>device eisa</programlisting>
@ -687,7 +894,7 @@ device fd1 at fdc0 drive 1</programlisting>
<programlisting>device atadisk # ATA disk drives</programlisting> <programlisting>device atadisk # ATA disk drives</programlisting>
<para>ATAPI ディスクドライブには <literal>device ata</literal> <para>ATA ディスクドライブには <literal>device ata</literal>
と共にこの行が必要です。</para> と共にこの行が必要です。</para>
<programlisting><anchor id="kernelconfig-atapi">device atapicd # ATAPI CDROM drives</programlisting> <programlisting><anchor id="kernelconfig-atapi">device atapicd # ATAPI CDROM drives</programlisting>
@ -823,14 +1030,6 @@ device sc0 at isa?</programlisting>
接続する際にも有用です &mdash; <literal>vt100</literal> 接続する際にも有用です &mdash; <literal>vt100</literal>
は仮想的にすべてのプラットフォームで有効であるべきです。</para> は仮想的にすべてのプラットフォームで有効であるべきです。</para>
<programlisting># Floating point support - do not disable.
device npx0 at nexus? port IO_NPX irq 13</programlisting>
<para><literal>npx0</literal> は FreeBSD における
浮動小数点演算ユニットへのインタフェースで、それは実際には
コプロセッサ又はソフトウエアエミュレータです。
これはオプションでは<emphasis>ありません</emphasis>。</para>
<programlisting># Power management support (see LINT for more options) <programlisting># Power management support (see LINT for more options)
device apm0 at nexus? disable flags 0x20 # Advanced Power Management</programlisting> device apm0 at nexus? disable flags 0x20 # Advanced Power Management</programlisting>
@ -842,7 +1041,7 @@ device card
device pcic0 at isa? irq 10 port 0x3e0 iomem 0xd0000 device pcic0 at isa? irq 10 port 0x3e0 iomem 0xd0000
device pcic1 at isa? irq 11 port 0x3e2 iomem 0xd4000 disable</programlisting> device pcic1 at isa? irq 11 port 0x3e2 iomem 0xd4000 disable</programlisting>
<para>PCMCIA サポート。ラップトップにインストールする時は必要です。</para> <para>PCMCIA サポート。ラップトップを使っているなら必要でしょう。</para>
<programlisting># Serial (COM) ports <programlisting># Serial (COM) ports
device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device sio0 at isa? port IO_COM1 flags 0x10 irq 4
@ -966,15 +1165,6 @@ device sn0 at isa? port 0x300 irq 10
どのカードがどのドライバによりサポートされているかは どのカードがどのドライバによりサポートされているかは
<filename>/usr/src/sys/i386/conf/LINT</filename> を参照して下さい。</para> <filename>/usr/src/sys/i386/conf/LINT</filename> を参照して下さい。</para>
<programlisting># Pseudo devices - the number indicates how many units to allocated.
pseudo-device loop # Network loopback</programlisting>
<para>TCP/IP の汎用ループバックデバイスです。
<hostid>localhost</hostid> (すなわち
<hostid role="ipaddr">127.0.0.1</hostid>) に対して telnet や FTP
を使う場合、この疑似デバイスを通して戻ってきます。
これは <emphasis>必須</emphasis> です。</para>
<programlisting>pseudo-device ether # Ethernet support</programlisting> <programlisting>pseudo-device ether # Ethernet support</programlisting>
<para><literal>ether</literal> はイーサネットカードを持っている場合に <para><literal>ether</literal> はイーサネットカードを持っている場合に
@ -1010,10 +1200,12 @@ pseudo-device loop # Network loopback</programlisting>
<para>これは <quote>疑似ターミナル</quote> 或いはシミュレートされた <para>これは <quote>疑似ターミナル</quote> 或いはシミュレートされた
ログインポートです。 ログインポートです。
これは入ってくる <command>telnet</command> と これは入ってくる <command>telnet</command> と
<command>rlogin</command> セッション、<application>xterm</application> <command>rlogin</command> セッション、
やその他の <application>emacs</application> のような <application>xterm</application> やその他の
アプリケーションにより利用されます。 <application>Emacs</application>
<replaceable>数字</replaceable> は生成される <literal>pty</literal> のようなアプリケーションにより利用されます。
<literal>pty</literal> の後の <replaceable>数字</replaceable> は、
生成される <literal>pty</literal>
の数を示します。もし同時にデフォルトの 16 より多くの の数を示します。もし同時にデフォルトの 16 より多くの
<application>xterm</application> ウィンドウやリモートログインが <application>xterm</application> ウィンドウやリモートログインが
必要な場合、必要に応じてこの数字を増やして下さい。 必要な場合、必要に応じてこの数字を増やして下さい。
@ -1023,10 +1215,19 @@ pseudo-device loop # Network loopback</programlisting>
<para>メモリディスク疑似デバイス。</para> <para>メモリディスク疑似デバイス。</para>
<programlisting>pseudo-device gif</programlisting>
<para>または</para>
<programlisting>pseudo-device gif 4 # IPv6 and IPv4 tunneling</programlisting> <programlisting>pseudo-device gif 4 # IPv6 and IPv4 tunneling</programlisting>
<para>この行は IPv6 over IPv4 トンネル、IPv4 over IPv6 トンネル、 <para>この行は IPv6 over IPv4 トンネル、IPv4 over IPv6 トンネル、
IPv4 over IPv4 トンネル、IPv6 over IPv6 トンネルを提供します。</para> IPv4 over IPv4 トンネル、IPv6 over IPv6 トンネルを提供します。
FreeBSD&nbsp;4.4 からは、<literal>gif</literal> デバイスは
<quote>auto-cloning (自動複製)</quote> しますので、
(<literal>gif</literal> のあとに数値がこない)
はじめの例を使ってください。
それより前のバージョンの FreeBSD では、数値が必要です。</para>
<programlisting>pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)</programlisting> <programlisting>pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)</programlisting>
@ -1044,6 +1245,13 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
これらのパケットはディスクに取り込むこともできますし、 これらのパケットはディスクに取り込むこともできますし、
&man.tcpdump.1; を使ってチェックをすることもできます。</para> &man.tcpdump.1; を使ってチェックをすることもできます。</para>
<note>
<para><literal>bpf</literal> 疑似デバイスは、&man.dhclient.8;
がデフォルトルータ (ゲートウェイ) の IP アドレスなどを取得する
ためにも使われています。DHCP を使っているなら、これはコメント
アウトしないでください。</para>
</note>
<programlisting># USB support <programlisting># USB support
#device uhci # UHCI PCI-&gt;USB interface #device uhci # UHCI PCI-&gt;USB interface
#device ohci # OHCI PCI-&gt;USB interface #device ohci # OHCI PCI-&gt;USB interface
@ -1070,7 +1278,14 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
<title>デバイスノードを作る</title> <title>デバイスノードを作る</title>
<indexterm><primary>デバイス ノード</primary></indexterm> <indexterm><primary>デバイス ノード</primary></indexterm>
<indexterm><primary>MAKEDEV</primary></indexterm> <indexterm>
<primary><command>MAKEDEV</command></primary>
</indexterm>
<note><para>FreeBSD&nbsp;5.0 以降を動かしているなら、
この節を飛ばして構いません。そのバージョンでは &man.devfs.5;
を用いて、ユーザに意識させずにデバイスノードを割り当てています。</para></note>
<para>カーネル内のほとんどすべてのデバイスは対応する <para>カーネル内のほとんどすべてのデバイスは対応する
<quote>node</quote> エントリが <filename>/dev</filename> <quote>node</quote> エントリが <filename>/dev</filename>
ディレクトリにあります。これらのノードは普 ディレクトリにあります。これらのノードは普
@ -1101,7 +1316,9 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
<filename>/dev</filename> <filename>/dev</filename>
ディレクトリに移動して次のようにタイプします。</para> ディレクトリに移動して次のようにタイプします。</para>
<indexterm><primary>MAKEDEV</primary></indexterm> <indexterm>
<primary><command>MAKEDEV</command></primary>
</indexterm>
<screen>&prompt.root; <userinput>sh MAKEDEV acd0</userinput></screen> <screen>&prompt.root; <userinput>sh MAKEDEV acd0</userinput></screen>
<para>スクリプトの実行が終ったら <filename>/dev</filename>に <para>スクリプトの実行が終ったら <filename>/dev</filename>に
@ -1140,23 +1357,24 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
<title>問題が起きた場合には</title> <title>問題が起きた場合には</title>
<para>カスタムカーネルを作る場合に起きるトラブルは、 <para>カスタムカーネルを作る場合に起きるトラブルは、
次の 4 種類に分けられます。</para> 次の 5 種類に分けられます。</para>
<variablelist> <variablelist>
<varlistentry><term><command>config</command> コマンドの失敗</term> <varlistentry>
<term><command>config</command> コマンドの失敗</term>
<listitem> <listitem>
<para>カーネルコンフィグレーションファイルに設定を行なってから <para>カーネルコンフィグレーションファイルに設定を行なってから
<command>config</command> コマンドが失敗したのであれば、 &man.config.8; コマンドが失敗したのであれば、
おそらくファイルのどこかに単純な間違いがあります。 おそらくファイルのどこかに単純な間違いがあります。
さいわい、 さいわい、&man.config.8;
<command>config</command>
はトラブルの起きた行番号を出力しますので はトラブルの起きた行番号を出力しますので
<command>vi</command> で素早く見つけることができます。 <application>vi</application> で素早く見つけることができます。
例えば、次のように出力された場合</para> 例えば、次のように出力された場合</para>
<screen>config: line 17: syntax error</screen> <screen>config: line 17: syntax error</screen>
<para><command>vi</command> のコマンドモードで <para><application>vi</application> のコマンドモードで
<command>17G</command> とタイプすれば、 <command>17G</command> とタイプすれば、
問題のところへ飛ぶことができます。 問題のところへ飛ぶことができます。
<filename>GENERIC</filename> カーネルのファイルや、 <filename>GENERIC</filename> カーネルのファイルや、
@ -1167,7 +1385,7 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
<varlistentry><term><command>make</command> コマンドの失敗</term> <varlistentry><term><command>make</command> コマンドの失敗</term>
<listitem> <listitem>
<para><command>make</command> コマンドが失敗した場合には、 <para><command>make</command> コマンドが失敗した場合には、
カーネル設定で <command>config</command> カーネル設定で &man.config.8;
がとらえられなかったような間違いをしていることが多いようです。 がとらえられなかったような間違いをしていることが多いようです。
もう一度コンフィグレーションファイルを見直してください。 もう一度コンフィグレーションファイルを見直してください。
それでも問題を解決することができなければ、 それでも問題を解決することができなければ、
@ -1177,16 +1395,39 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry><term>カーネルが起動しない <varlistentry>
<anchor id="kernelconfig-noboot"></term> <term>新しいカーネルのインストールの失敗</term>
<listitem>
<para>カーネルが無事コンパイルできたのに、インストールに失敗
(<command>make install</command> または
<command>make installkernel</command> に失敗)
したら、最初に確認すべきことは、システムがセキュアレベル 1
以上で動いていないかどうかです (&man.init.8; 参照)。
カーネルのインストール時には、カーネルから immutable
(変更不可) フラグを外して、
新しい方に変更不可フラグを設定しようとします。セキュアレベル 1
以上では、システム内のどのファイルからも変更不可フラグを外せないため、
カーネルのインストールはセキュアレベル 0
以下で行わなければなりません。</para>
</listitem>
</varlistentry>
<varlistentry>
<term>カーネルが起動しない<anchor
id="kernelconfig-noboot"></term>
<listitem> <listitem>
<para>新しいカーネルが起動しなかったり、 <para>新しいカーネルが起動しなかったり、
デバイスの認識をしない場合でもあわてないでください! デバイスの認識をしない場合でもあわてないでください!
さいわい、BSDは 利用できないカーネルから復帰する さいわい、FreeBSD
洗練されたメカニズムがあります。 には利用できないカーネルから復帰する洗練されたメカニズムがあります。
それは、FreeBSD のブートローダで起動したいカーネルを選択する それは、FreeBSD
(例えば <command>boot <filename>kernel.old</filename></command>) のブートローダで起動したいカーネルを選択するだけです。
だけです。 システムが 10 からカウントダウンしている時に、この機能が使えます。
<keycap>Enter</keycap> キー以外の任意のキーを押して、
<command>unload</command> と入力してから、
<command>boot <replaceable>kernel.old</replaceable></command>
か他の正常に起動するカーネルを入力してください。
カーネルの再設定をおこなう場合にはいつも、 カーネルの再設定をおこなう場合にはいつも、
確実に動くことが分かっているカーネルを用意しておくようにすると良いでしょう。 確実に動くことが分かっているカーネルを用意しておくようにすると良いでしょう。
</para> </para>
@ -1221,7 +1462,14 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
<screen>&prompt.root; <userinput>chflags noschg /kernel</userinput></screen> <screen>&prompt.root; <userinput>chflags noschg /kernel</userinput></screen>
<para>です。また、 <para>です。これができないのなら、&man.securelevel.8; を 0
より大きい値にしているのかもしれません。
<filename>/etc/rc.conf</filename> の
<literal>kern_securelevel</literal> を
<literal>-1</literal> に変更して再起動してください。新し
いカーネルに満足したら、前の設定に戻してよいでしょう。</para>
<para>また、
新しい置き換えたカーネルあるいは重要ファイ 新しい置き換えたカーネルあるいは重要ファイ
ルを動かしたり変更されないように ルを動かしたり変更されないように
<quote>ロック</quote> するには 次のようにします。</para> <quote>ロック</quote> するには 次のようにします。</para>
@ -1231,8 +1479,8 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry><term>カーネルは動くが <varlistentry>
<command>ps</command> は動かない!</term> <term>カーネルは動きますが &man.ps.1; は動きません!</term>
<listitem> <listitem>
<para>システムユーティリティと異る <para>システムユーティリティと異る