- Merge the following from the English version:

r44287 -> r44288	head/ja_JP.eucJP/books/handbook/kernelconfig/chapter.xml
This commit is contained in:
Ryusuke SUZUKI 2014-04-30 10:34:49 +00:00
parent e4e2190aed
commit bdacc0b19f
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44716

View file

@ -3,7 +3,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: r44287
Original revision: r44288
$FreeBSD$
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="kernelconfig">
@ -320,6 +320,17 @@ ath_hal(4) - Atheros Hardware Access Layer (HAL)</programlisting>
理解していない行に対しては、<literal>#</literal>
を追加したり削除しないでください。</para>
<warning>
<para>デバイスやオプションのサポートを外すことは簡単で、
その結果、カーネルを壊すことがあります。
たとえば &man.ata.4;
ドライバをカーネルコンフィグレーションファイルから除くと、
<acronym>ATA</acronym>
ディスクドライバを用いているシステムは起動しません。
確信が持てないものについては、
カーネルにサポートを残したままにしてください。</para>
</warning>
<para>このファイルで与えられる説明の他に、
そのアーキテクチャの <filename>GENERIC</filename>
と同じディレクトリにある
@ -1194,30 +1205,8 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
<sect1 xml:id="kernelconfig-building">
<title>カスタムカーネルの構築とインストール</title>
<para>編集した内容を保存したら、
カーネルのソースコードをコンパイルしてください。</para>
<note>
<para>最新のソースと <link linkend="svn">ソースツリーを同期</link> したら、
何らかのアップデートを行う前に、<emphasis>必ず</emphasis>
<filename>/usr/src/UPDATING</filename>
をチェックしてください。
このファイルには、
アップデートされたソースコードに関する重要な問題や特別に注意すべき点がすべて書かれています。
<filename>/usr/src/UPDATING</filename> は常に &os;
のソースのバージョンと同期しているので、
ハンドブックの記述よりも新しい内容を含んでいます。</para>
</note>
<warning>
<para>デバイスやオプションのサポートを外すことは簡単で、
その結果、カーネルを壊すことがあります。
たとえば、&man.ata.4;
ドライバをカーネルコンフィグレーションファイルから除くと、
<acronym>ATA</acronym> ディスクドライバを用いるシステムは起動しません。
確信が持てないものについては、
カーネルにサポートを残したままにしてください。</para>
</warning>
<para>編集したカスタムコンフィグレーションファイルを保存したら、
カーネルのソースコードを以下の手順でコンパイルしてください。</para>
<procedure>
<title>カーネルの構築</title>
@ -1226,12 +1215,8 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
<secondary>構築 / インストール</secondary>
</indexterm>
<note>
<para>カーネルを構築するには、&os; のすべてのソースファイルが必要です。</para>
</note>
<step>
<para><command>cd</command> を用いて <filename>/usr/src</filename> に移動してください。</para>
<para>以下のディレクトリに移動してください。</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
</step>
@ -1239,61 +1224,51 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
<step>
<para>カスタムコンフィグレーションファイルの名前を指定して新しいカーネルをコンパイルします。</para>
<screen>&prompt.root; <userinput>make buildkernel KERNCONF=MYKERNEL</userinput></screen>
<screen>&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
</step>
<step>
<para>新しいカーネルをインストールします。</para>
<para>指定したカーネルコンフィグレーションファイルで作成された新しいカーネルをインストールします。
以下のコマンドは、新しいカーネルを
<filename>/boot/kernel/kernel</filename> に、
今までのカーネルを <filename>/boot/kernel.old/kernel</filename>
という名前で保存します。</para>
<screen>&prompt.root; <userinput>make installkernel KERNCONF=MYKERNEL</userinput></screen>
<screen>&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
</step>
<step>
<para>新しいカーネルを使うために、
システムをシャットダウンして再起動してください。
うまく行かない場合は、<xref
linkend="kernelconfig-noboot"/>
を参照してください。</para>
</step>
</procedure>
<tip>
<para>デフォルトでは、カスタムカーネルを構築すると
<emphasis>すべて</emphasis> のカーネルモジュールが再構築されます。
<para>デフォルトでは、カスタムカーネルを構築すると、
すべてのカーネルモジュールが再構築されます。
カーネルのアップデートをより早く行いたい、または、
カスタムモジュールのみを構築したいといった場合は、
カーネルの構築を開始する前に、以下のように
<filename>/etc/make.conf</filename> を編集してください。</para>
<programlisting>MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting>
<para>この変数は、
すべてのモジュールを構築するというデフォルトの設定にかわり、
<para>例として、以下の変数は、
デフォルトのすべてのモジュールを構築する設定を変更し、
構築するモジュール一覧を指定します。</para>
<programlisting>MODULES_OVERRIDE = linux acpi ntfs</programlisting>
<para>また、以下の変数は、
構築を行わないトップレベルのモジュールを指定します。</para>
<programlisting>WITHOUT_MODULES = linux acpi sound ntfs</programlisting>
<para>この変数は、構築を行わないトップレベルのモジュールを指定します。
他の変数については、&man.make.conf.5; を参照してください。</para>
</tip>
<para>他の変数については、&man.make.conf.5; を参照してください。</para>
<indexterm>
<primary><filename>/boot/kernel.old</filename></primary>
</indexterm>
<para>新しいカーネルは <filename>/boot/kernel</filename>
<filename>/boot/kernel/kernel</filename> という名前でコピーされ、
今までのカーネルは <filename>/boot/kernel.old/kernel</filename>
という名前へ変更されます。
では、新しいカーネルを使うために、システムをシャットダウンして再起動してください。
うまく行かない場合は、
<link linkend="kernelconfig-trouble">問題が起きた場合には</link>
や、新しいカーネルが
<link linkend="kernelconfig-noboot">起動しない</link>
場合のリカバリの方法を参照してください。</para>
<note>
<para>ブートローダ (&man.loader.8;)
や設定などのブートプロセスに関係する他のファイルは、
<filename>/boot</filename> に置かれます。
サードパーティ製やカスタムモジュールを
<filename>/boot/kernel</filename> に置くこともできますが、
コンパイルしたカーネルとモジュールを同期しておく必要があります。
コンパイルしたカーネルとモジュールが対応していないと、
システムが不安定になる可能性があります。</para>
</note>
</sect1>
<sect1 xml:id="kernelconfig-trouble">
@ -1307,25 +1282,25 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
<term><command>config</command> コマンドの失敗</term>
<listitem>
<para>&man.config.8; が失敗したのであれば、
おそらく単純なエラーです。
さいわい、&man.config.8;
はトラブルの起きた行番号を出力します。
例えば、次のように出力された場合</para>
<para><command>config</command> で失敗した時には、
トラブルの起きた行番号が出力されます。
たとえば、次のように出力された場合には、
17 行目が正しく入力されているかどうか、
<filename>GENERIC</filename><filename>NOTES</filename>
と比較して修正してください。</para>
<screen>config: line 17: syntax error</screen>
<para>17 行目のキーワードが正しく入力されているかどうか、
<filename>GENERIC</filename> カーネルのファイルや、
他のリファレンスと比較して注意深く修正してください。</para>
</listitem>
</varlistentry>
<varlistentry><term><command>make</command> コマンドの失敗</term>
<varlistentry>
<term><command>make</command> コマンドの失敗</term>
<listitem>
<para><command>make</command> が失敗した場合には、
カーネル設定で &man.config.8;
がとらえられなかったような間違いをしていることが多いようです。
通常、カーネルコンフィグレーションファイルにおいて、
<command>config</command>
がとらえられなかったような間違いをしています。
コンフィグレーションファイルを見直してください。
それでも問題を解決することができなければ、
&a.questions;
@ -1335,6 +1310,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
<varlistentry>
<term>カーネルが起動しない<anchor xml:id="kernelconfig-noboot"/></term>
<listitem>
<para>新しいカーネルが起動しなかったり、
デバイスの認識をしない場合でもあわてないでください!
@ -1346,10 +1322,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
オプションを選択するとアクセスできます。
プロンプトで
<command>boot kernel.old</command>
か他の正常に起動するカーネルを入力してください。
カーネルの再設定をおこなう場合にはいつも、
確実に動くことが分かっているカーネルを用意しておくようにすると良いでしょう。
</para>
か他の正常に起動するカーネルを入力してください。</para>
<para>問題のないカーネルで起動した後、
コンフィグレー ションファイルを調べ、
@ -1360,16 +1333,17 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
&man.dmesg.8; は現在の起動時のカーネルメッセージを出力します。</para>
<note>
<para>カーネルの構築中にトラブルが起きた時に使うために、
GENERIC や他のカーネルを次回の構築で消されないよう別の名前で保存するようにしてください。<emphasis remap="tt">kernel.old</emphasis>
<para>カーネルの構築中にトラブルが起きた時には、
次回の構築で消されないように、
<filename>GENERIC</filename>
のコピーや他の正常に起動するカーネルを別の名前で保存するようにしてください。
<emphasis remap="tt">kernel.old</emphasis>
は新しいカーネルをインストールする時に、
その一つ前にインストールした、
うまく動かないかもしれないカーネルで上書きされてしまうので当てにできません。
できる限り早く動作しているカーネルを本来の
<filename>/boot/kernel</filename> の位置に移動させてください。
そうしないと
&man.ps.1; のようなコマンドが正しく動きません。これを行うには、
以下のように正しく起動するカーネルを含むディレクトリ名に変更するだけです。</para>
うまく動かないかもしれないカーネルで上書きされてしまうため、
起動するカーネルを保存しておくことは重要です。
できる限り早く以下のようにして、
正しく起動するカーネルを含むディレクトリ名に変更してください。</para>
<screen>&prompt.root; <userinput>mv /boot/kernel /boot/kernel.bad</userinput>
&prompt.root; <userinput>mv /boot/kernel.good /boot/kernel</userinput></screen>
@ -1383,13 +1357,14 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
<listitem>
<para>システムユーティリティの構築されたバージョンと異るバージョンのカーネルをインストールした場合、
例えば -CURRENT のカーネルを -RELEASE 上にインストールするような場合、
たとえば -CURRENT のソースから構築したカーネルを
-RELEASE システム上にインストールするような場合には、
&man.ps.1;&man.vmstat.8;
のような多くのシステムステータスコマンドは動かなくなります。
修正するには、カーネルと同じバージョンのソースツリーで
<link linkend="makeworld">world を再構築し、インストール</link>
してください。
これは、カーネルとそれ以外で異なるバージョンを組み合わせてオペレーティングシステムを使用することが推奨されない理由の一つとなっています</para>
これは、カーネルとそれ以外で異なるバージョンを組み合わせてオペレーティングシステムを使用することは推奨されていません</para>
</listitem>
</varlistentry>
</variablelist>