- Merge the following from the English version:
r42226 -> r42827 head/ja_JP.eucJP/books/handbook/bsdinstall/chapter.xml r42014 -> r42861 head/ja_JP.eucJP/books/handbook/kernelconfig/chapter.xml
This commit is contained in:
parent
3d3667c769
commit
7d1e1919de
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=42892
2 changed files with 263 additions and 356 deletions
ja_JP.eucJP/books/handbook
|
@ -3,7 +3,7 @@
|
||||||
The FreeBSD Documentation Project
|
The FreeBSD Documentation Project
|
||||||
The FreeBSD Japanese Documentation Project
|
The FreeBSD Japanese Documentation Project
|
||||||
|
|
||||||
Original revision: r42226
|
Original revision: r42827
|
||||||
$FreeBSD$
|
$FreeBSD$
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
@ -939,8 +939,8 @@ Trying to mount root from cd9660:/dev/iso9660/FREEBSD_INSTALL [ro]...</screen>
|
||||||
<para>丹念に検出結果をチェックして、あなたが予期したすべてのデバイスを
|
<para>丹念に検出結果をチェックして、あなたが予期したすべてのデバイスを
|
||||||
&os; が検出できた事を確認してください。デバイスが見つからなかった場合、
|
&os; が検出できた事を確認してください。デバイスが見つからなかった場合、
|
||||||
検出結果へ表示されません。
|
検出結果へ表示されません。
|
||||||
<link linkend="kernelconfig-modules">カーネルモジュール</link> を構築することで、
|
<link linkend="kernelconfig-custom-modules">カーネルモジュール</link>
|
||||||
<filename>GENERIC</filename>
|
を構築することで、<filename>GENERIC</filename>
|
||||||
カーネルに含まれていないデバイスのサポートを追加できます。</para>
|
カーネルに含まれていないデバイスのサポートを追加できます。</para>
|
||||||
|
|
||||||
<para>デバイス検出後、
|
<para>デバイス検出後、
|
||||||
|
|
|
@ -3,28 +3,26 @@
|
||||||
The FreeBSD Documentation Project
|
The FreeBSD Documentation Project
|
||||||
The FreeBSD Japanese Documentation Project
|
The FreeBSD Japanese Documentation Project
|
||||||
|
|
||||||
Original revision: r42014
|
Original revision: r42861
|
||||||
$FreeBSD$
|
$FreeBSD$
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<chapter id="kernelconfig">
|
<chapter id="kernelconfig">
|
||||||
<chapterinfo>
|
<chapterinfo>
|
||||||
<authorgroup>
|
<!-- <authorgroup>
|
||||||
<author>
|
<author>
|
||||||
<firstname>Jim</firstname>
|
<firstname>Jim</firstname>
|
||||||
<surname>Mock</surname>
|
<surname>Mock</surname>
|
||||||
<contrib>改訂および再構成: </contrib>
|
<contrib>改訂および再構成 (2000 年 3 月): </contrib>
|
||||||
<!-- Mar 2000 -->
|
|
||||||
</author>
|
</author>
|
||||||
</authorgroup>
|
</authorgroup>
|
||||||
<authorgroup>
|
<authorgroup>
|
||||||
<author>
|
<author>
|
||||||
<firstname>Jake</firstname>
|
<firstname>Jake</firstname>
|
||||||
<surname>Hamby</surname>
|
<surname>Hamby</surname>
|
||||||
<contrib>原作: </contrib>
|
<contrib>原作 (1995 年 10 月 6 日): </contrib>
|
||||||
<!-- 6 Oct 1995 -->
|
|
||||||
</author>
|
</author>
|
||||||
</authorgroup>
|
</authorgroup>-->
|
||||||
</chapterinfo>
|
</chapterinfo>
|
||||||
|
|
||||||
<title>FreeBSD カーネルのコンフィグレーション</title>
|
<title>FreeBSD カーネルのコンフィグレーション</title>
|
||||||
|
@ -53,6 +51,10 @@
|
||||||
<para>いつカスタムカーネルの構築が必要になるか。</para>
|
<para>いつカスタムカーネルの構築が必要になるか。</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>ハードウェア一覧の作成方法。</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>カーネルコンフィグレーションファイルのカスタマイズの方法。</para>
|
<para>カーネルコンフィグレーションファイルのカスタマイズの方法。</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -77,12 +79,12 @@
|
||||||
<sect1 id="kernelconfig-custom-kernel">
|
<sect1 id="kernelconfig-custom-kernel">
|
||||||
<title>なぜカスタムカーネルを作るか?</title>
|
<title>なぜカスタムカーネルを作るか?</title>
|
||||||
|
|
||||||
<para>伝統的に、&os; は <quote>モノリシック</quote>
|
<para>伝統的に、&os; はモノリシック
|
||||||
(monolithic) カーネルを使っていました。
|
(monolithic) カーネルを使っていました。
|
||||||
このカーネルは、単一の巨大なプログラムで、
|
このカーネルは、単一の巨大なプログラムで、
|
||||||
扱えるデバイスは固定されていて、
|
扱えるデバイスは固定されていて、
|
||||||
カーネルの振る舞いを変えたければ新しいカーネルを構築して、
|
カーネルの振る舞いを変えたければ構築してコンピュータを再起動し、
|
||||||
コンピュータを再起動して新しいカーネルを動かさなれければならなかったということです。</para>
|
新しいカーネルを動かさなれければなりませんでした。</para>
|
||||||
|
|
||||||
<para>今日では、&os;
|
<para>今日では、&os;
|
||||||
カーネルのかなりの機能はモジュールに含まれるようになり、
|
カーネルのかなりの機能はモジュールに含まれるようになり、
|
||||||
|
@ -135,24 +137,50 @@
|
||||||
カーネルに存在しないデバイスのサポートを追加することができます。</para>
|
カーネルに存在しないデバイスのサポートを追加することができます。</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>カスタムカーネルを構築する前に、再構築する理由を考えてください。
|
||||||
|
ある特定のハードウェアに対応する必要がある場合に、
|
||||||
|
そのハードウェアに対応するためのモジュールがすでに用意されていることがあります。</para>
|
||||||
|
|
||||||
|
<para>カーネルモジュールは
|
||||||
|
<filename class="directory">/boot/kernel</filename>
|
||||||
|
にあります。モジュールによっては &man.kldload.8; により、
|
||||||
|
すでに実行中のカーネルに動的に読み込まれています。
|
||||||
|
ほとんどのカーネルドライバには、
|
||||||
|
読み込み可能なモジュールやマニュアルページが用意されています。
|
||||||
|
たとえば、&man.ath.4;
|
||||||
|
ワイヤレスイーサネットドライバのマニュアルページには以下のような記述があります。</para>
|
||||||
|
|
||||||
|
<programlisting>Alternatively, to load the driver as a module at boot time, place the
|
||||||
|
following line in &man.loader.conf.5;:
|
||||||
|
|
||||||
|
if_ath_load="YES"</programlisting>
|
||||||
|
|
||||||
|
<para><filename>/boot/loader.conf</filename> に
|
||||||
|
<literal>if_ath_load="YES"</literal> を追加すると、
|
||||||
|
起動時にモジュールが読み込まれるようになります。</para>
|
||||||
|
|
||||||
|
<para>対応するモジュールが <filename
|
||||||
|
class="directory">/boot/kernel</filename> に存在しないこともあります。
|
||||||
|
特定のサブシステムでは、ほとんど多くの場合存在しません。</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="kernelconfig-devices">
|
<sect1 id="kernelconfig-devices">
|
||||||
<sect1info>
|
<sect1info>
|
||||||
<authorgroup>
|
<!--<authorgroup>
|
||||||
<author>
|
<author>
|
||||||
<firstname>Tom</firstname>
|
<firstname>Tom</firstname>
|
||||||
<surname>Rhodes</surname>
|
<surname>Rhodes</surname>
|
||||||
<contrib>寄稿: </contrib>
|
<contrib>寄稿: </contrib>
|
||||||
</author>
|
</author>
|
||||||
</authorgroup>
|
</authorgroup>-->
|
||||||
</sect1info>
|
</sect1info>
|
||||||
<title>システムのハードウェアについて知る</title>
|
<title>システムのハードウェアについて知る</title>
|
||||||
|
|
||||||
<para>カーネルコンフィグレーションの冒険を始める前に、
|
<para>カーネルコンフィグレーションファイルの編集を始める前に、
|
||||||
コンピュータのハードウェア一覧を作成すると良いでしょう。
|
コンピュータのハードウェア一覧を作成すると良いでしょう。
|
||||||
もし、&os; 以外のオペレーティングシステムがすでにインストールされているのであれば、
|
デュアルブートシステムでは、
|
||||||
現在インストールされているオペレーティングシステムの設定を調べることで、
|
現在インストールされている別のオペレーティングシステムの設定を調べることで、
|
||||||
一覧を作成できます。
|
一覧を作成できます。
|
||||||
たとえば、µsoft; の
|
たとえば、µsoft; の
|
||||||
<application>デバイスマネージャ</application>
|
<application>デバイスマネージャ</application>
|
||||||
|
@ -160,18 +188,17 @@
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>µsoft.windows; のバージョンによっては、
|
<para>µsoft.windows; のバージョンによっては、
|
||||||
|
<application>システム</application> アイコンを使って、
|
||||||
<application>デバイスマネージャ</application>
|
<application>デバイスマネージャ</application>
|
||||||
にアクセス可能なウィンドウを表示する
|
にアクセスできます。</para>
|
||||||
<application>システム</application> アイコンがあります。</para>
|
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<para>もし他のオペレーティングシステムがコンピュータにインストールされていないのであれば、
|
<para>インストールされているオペレーティングシステムが &os;
|
||||||
管理者はこれらの情報を手動で収集する必要があります。
|
だけであれば、&man.dmesg.8; を使い、
|
||||||
情報を集める方法のひとつが、&man.dmesg.8; と
|
起動時に検出されたハードウェアの一覧を調べてください。
|
||||||
&man.man.1; を用いる方法です。
|
|
||||||
&os; のほとんどのデバイスドライバにはマニュアルページが用意され、
|
&os; のほとんどのデバイスドライバにはマニュアルページが用意され、
|
||||||
対応しているハードウェアの一覧を提供しています。
|
対応しているハードウェアの一覧を提供しています。
|
||||||
また、起動時には検出されたハードウェアの一覧が表示されます。
|
|
||||||
たとえば、以下の行は、&man.psm.4;
|
たとえば、以下の行は、&man.psm.4;
|
||||||
ドライバがマウスを検出したことを示しています。</para>
|
ドライバがマウスを検出したことを示しています。</para>
|
||||||
|
|
||||||
|
@ -180,30 +207,26 @@ psm0: [GIANT-LOCKED]
|
||||||
psm0: [ITHREAD]
|
psm0: [ITHREAD]
|
||||||
psm0: model Generic PS/2 mouse, device ID 0</programlisting>
|
psm0: model Generic PS/2 mouse, device ID 0</programlisting>
|
||||||
|
|
||||||
<para>このドライバがカスタムカーネルコンフィグレーションファイルに含まれている、
|
<para>このハードウェアはシステムに存在するので、
|
||||||
もしくは &man.loader.conf.5; によって読み込まれる必要があります。</para>
|
カスタムカーネルコンフィグレーションファイルからこのドライバを外さないでください。</para>
|
||||||
|
|
||||||
<para>場合によっては、<command>dmesg</command> が起動時の検出結果ではなく、
|
<para><command>dmesg</command> が起動時の検出結果を表示しない場合には、
|
||||||
システムメッセージだけを表示することがあります。
|
かわりに <filename>/var/run/dmesg.boot</filename>
|
||||||
このような場合には、<filename>/var/run/dmesg.boot</filename>
|
で出力を確認してください。</para>
|
||||||
で出力を確認できます。</para>
|
|
||||||
|
|
||||||
<para>ハードウェアを見つけるためのもうひとつの方法は、
|
<para>ハードウェアを見つけるためのもうひとつのツールは、
|
||||||
より冗長な出力を行う &man.pciconf.8; を用いる方法です。
|
より冗長な出力を行う &man.pciconf.8; です。
|
||||||
たとえば、以下のようになります。</para>
|
たとえば、以下のようになります。</para>
|
||||||
|
|
||||||
<programlisting>ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
|
<programlisting><command>pciconf <option>-lv</option></command>
|
||||||
|
ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
|
||||||
vendor = 'Atheros Communications Inc.'
|
vendor = 'Atheros Communications Inc.'
|
||||||
device = 'AR5212 Atheros AR5212 802.11abg wireless'
|
device = 'AR5212 Atheros AR5212 802.11abg wireless'
|
||||||
class = network
|
class = network
|
||||||
subclass = ethernet</programlisting>
|
subclass = ethernet</programlisting>
|
||||||
|
|
||||||
<para>この出力は <command>pciconf <option>-lv</option></command>
|
<para>この出力は、<devicename>ath</devicename>
|
||||||
を用いて得られ、
|
ドライバがワイヤレスイーサネットデバイスにあることを示しています。</para>
|
||||||
<devicename>ath</devicename>
|
|
||||||
ドライバがワイヤレスイーサネットデバイスにあることを示しています。
|
|
||||||
<command>man <replaceable>ath</replaceable></command> を実行して
|
|
||||||
&man.ath.4; を読んでください。</para>
|
|
||||||
|
|
||||||
<para>&man.man.1; を <option>-k</option> フラグで実行すると、
|
<para>&man.man.1; を <option>-k</option> フラグで実行すると、
|
||||||
有用な情報を得ることができます。たとえば、
|
有用な情報を得ることができます。たとえば、
|
||||||
|
@ -215,260 +238,94 @@ psm0: model Generic PS/2 mouse, device ID 0</programlisting>
|
||||||
<programlisting>ath(4) - Atheros IEEE 802.11 wireless network driver
|
<programlisting>ath(4) - Atheros IEEE 802.11 wireless network driver
|
||||||
ath_hal(4) - Atheros Hardware Access Layer (HAL)</programlisting>
|
ath_hal(4) - Atheros Hardware Access Layer (HAL)</programlisting>
|
||||||
|
|
||||||
<para>ハードウェアの一覧を作っておくと、
|
<para>ハードウェアの一覧を作成したら、
|
||||||
カスタムカーネルを構築する過程であわてずにすむでしょう。</para>
|
カスタムカーネルのコンフィグレーションファイルを編集している時に、
|
||||||
</sect1>
|
この一覧を利用して、
|
||||||
|
インストールされているハードウェアが削除されていないことを確認してください。</para>
|
||||||
<sect1 id="kernelconfig-modules">
|
|
||||||
<title>カーネルドライバ、サブシステムとモジュール</title>
|
|
||||||
<indexterm>
|
|
||||||
<primary>カーネル</primary>
|
|
||||||
<secondary>ドライバ / モジュール / サブシステム</secondary>
|
|
||||||
</indexterm>
|
|
||||||
|
|
||||||
<para>カスタムカーネルを構築する前に、再構築する理由を考えてください。
|
|
||||||
ある特定のハードウェアに対応することが目的であれば、
|
|
||||||
そのハードウェアに対応するためのモジュールがすでに用意されている場合には再構築の必要はありません。</para>
|
|
||||||
|
|
||||||
<para>カーネルモジュールは、
|
|
||||||
<filename class="directory">/boot/kernel</filename>
|
|
||||||
にあり、&man.kldload.8; によって、
|
|
||||||
すでに実行中のカーネルに動的に読み込まれているモジュールもあるかもしれません。
|
|
||||||
すべてというわけではありませんが、ほとんどのカーネルドライバには、
|
|
||||||
読み込み可能なモジュールやマニュアルページが用意されています。
|
|
||||||
たとえば、&man.ath.4;
|
|
||||||
ワイヤレスイーサネットドライバのマニュアルページには以下の記述があります。</para>
|
|
||||||
|
|
||||||
<programlisting>Alternatively, to load the driver as a module at boot time, place the
|
|
||||||
following line in &man.loader.conf.5;:
|
|
||||||
|
|
||||||
if_ath_load="YES"</programlisting>
|
|
||||||
|
|
||||||
<para><filename>/boot/loader.conf</filename> に
|
|
||||||
<literal>if_ath_load="YES"</literal> を追加すると、
|
|
||||||
起動時にモジュールが読み込まれるようになります。</para>
|
|
||||||
|
|
||||||
<para>ただし、対応するモジュールが存在しないこともあります。
|
|
||||||
特定のサブシステムでは、ほとんど多くの場合存在しません。
|
|
||||||
ドライバが必要かどうかを知る一つの方法は、
|
|
||||||
モジュールそのものを調べることです。</para>
|
|
||||||
|
|
||||||
<warning>
|
|
||||||
<para>デバイスやオプションのサポートを外すことは簡単で、
|
|
||||||
その結果、カーネルを壊すことがあります。
|
|
||||||
たとえば、&man.ata.4; ドライバをカーネルコンフィグレーションファイルから除くと、
|
|
||||||
<acronym>ATA</acronym> ディスクドライバを用いるシステムは起動しません。
|
|
||||||
確信が持てないものについては、
|
|
||||||
カーネルにサポートを残したままにしてください。</para>
|
|
||||||
</warning>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="kernelconfig-building">
|
|
||||||
<title>カスタムカーネルの構築とインストール</title>
|
|
||||||
<indexterm>
|
|
||||||
<primary>カーネル</primary>
|
|
||||||
<secondary>構築 / インストール</secondary>
|
|
||||||
</indexterm>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>カーネルを構築するには、&os; のすべてのソースファイルが必要です。</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>カーネルを構築する場所は、<filename
|
|
||||||
class="directory">/usr/src/sys</filename> です。
|
|
||||||
ここには、カーネルの各部分を構成するサブディレクトリがいくつもあります。
|
|
||||||
その中には、カーネルコンフィグレーションファイルのある <filename
|
|
||||||
class="directory"><replaceable>arch</replaceable>/conf</filename>、
|
|
||||||
および、カーネルを作る場所である <filename
|
|
||||||
class="directory">compile</filename> も含まれています。
|
|
||||||
<replaceable>arch</replaceable> には、
|
|
||||||
サポートされている各アーキテクチャ、<filename
|
|
||||||
class="directory">i386</filename>, <filename
|
|
||||||
class="directory">amd64</filename>, <filename
|
|
||||||
class="directory">ia64</filename>, <filename
|
|
||||||
class="directory">powerpc</filename>, <filename
|
|
||||||
class="directory">sparc64</filename> および <filename
|
|
||||||
class="directory">pc98</filename> のサブディレクトリがあります。
|
|
||||||
各アーキテクチャのディレクトリ内部にあるファイルはすべてそのアーキテクチャでのみ使用されます。
|
|
||||||
残りのコードは、アーキテクチャに依存しない、
|
|
||||||
すべてのプラットフォームで共有されるコードです。
|
|
||||||
サポートされているデバイス、ファイルシステム、オプションが、
|
|
||||||
それぞれのサブディレクトリに分かれている、
|
|
||||||
という論理的な構成に注意してください。</para>
|
|
||||||
|
|
||||||
<para>この章で示されるコマンドの例は、
|
|
||||||
i386 アーキテクチャを仮定しています。
|
|
||||||
他のアーキテクチャのシステムでは、
|
|
||||||
使用しているアーキテクチャに適したパス名に変更してください。</para>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>もし、<filename class="directory">/usr/src/</filename>
|
|
||||||
が存在していなかったり、空であれば、
|
|
||||||
カーネルのソースはインストールされていません。
|
|
||||||
ソースをインストールするもっとも簡単な方法は、<xref
|
|
||||||
linkend="svn"/> で説明した
|
|
||||||
<application>svn</application> を用いる方法です。
|
|
||||||
以下のように、<filename>/usr/src/sys/</filename>
|
|
||||||
へのシンボリックリンクも作成してください。</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>ln -s /usr/src/sys /sys</userinput></screen>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>つぎに、<application>cd</application> を用いて <filename
|
|
||||||
class="directory"><replaceable>arch</replaceable>/conf</filename>
|
|
||||||
に移動し、
|
|
||||||
<filename>GENERIC</filename>
|
|
||||||
コンフィグレーションファイルをカスタムカーネルの名前にコピーしてください。
|
|
||||||
たとえば次のようにします。</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput>
|
|
||||||
&prompt.root; <userinput>cp GENERIC <replaceable>MYKERNEL</replaceable></userinput></screen>
|
|
||||||
|
|
||||||
<para>慣習として、この名前はすべて大文字でつづられます。もし、
|
|
||||||
いくつかの異なるハードウェアの &os; マシンを扱うなら、
|
|
||||||
この名前にホスト名を含めるとよいでしょう。ここでは、例として
|
|
||||||
<filename><replaceable>MYKERNEL</replaceable></filename>
|
|
||||||
と呼ぶことにします。</para>
|
|
||||||
|
|
||||||
<tip>
|
|
||||||
<para>カーネルコンフィグレーションファイルの編集を終えたら、
|
|
||||||
ファイルのバックアップを <filename
|
|
||||||
class="directory">/usr/src</filename> 以外の場所に保存してください。
|
|
||||||
<filename>GENERIC</filename> ファイルを直接編集しないでください。</para>
|
|
||||||
|
|
||||||
<para>もしくは、カーネルコンフィグレーションファイルは他の場所において、
|
|
||||||
<filename
|
|
||||||
class="directory"><replaceable>i386</replaceable></filename>
|
|
||||||
にシンボリックリンクを張る方法もあります。</para>
|
|
||||||
|
|
||||||
<para>たとえば、次のようにします。</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/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>
|
|
||||||
|
|
||||||
<para><filename><replaceable>MYKERNEL</replaceable></filename>
|
|
||||||
をテキストエディタで編集してください。
|
|
||||||
デフォルトのエディタは <application>vi</application> で、
|
|
||||||
使い方については、
|
|
||||||
<link linkend="bibliography">参考図書</link>
|
|
||||||
にあるような多くの本で詳しく説明されています。
|
|
||||||
そちらを参照してください。初心者に対してより簡単なエディタである
|
|
||||||
<application>ee</application>
|
|
||||||
も利用できます。
|
|
||||||
まずファイルの最初の方のコメント行を編集し、
|
|
||||||
設定内容や <filename>GENERIC</filename>
|
|
||||||
からの変更点を記述しておきましょう。</para>
|
|
||||||
|
|
||||||
<para>もし、<filename>GENERIC</filename>
|
|
||||||
コンフィグレーションファイルが親しみにくいのであれば、<link
|
|
||||||
linkend="kernelconfig-config">コンフィグレーションファイル</link>
|
|
||||||
の節をゆっくりと注意深く読んでください。</para>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>最新のソースと <link
|
|
||||||
linkend="svn">ソースツリーを同期</link> したら、
|
|
||||||
何らかのアップデートを行う前に、<emphasis>必ず</emphasis>
|
|
||||||
<filename>/usr/src/UPDATING</filename> をチェックしてください。
|
|
||||||
このファイルには、
|
|
||||||
アップデートされたソースコードに関する重要な問題や特別に注意すべき点がすべて書かれています。
|
|
||||||
<filename>/usr/src/UPDATING</filename> は常に &os;
|
|
||||||
のソースのバージョンと同期しているので、
|
|
||||||
ハンドブックの記述よりも新しい内容を含んでいます。</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>編集を保存したら、カーネルのソースコードをコンパイルしましょう。</para>
|
|
||||||
|
|
||||||
<procedure>
|
|
||||||
<title>カーネルの構築</title>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>カーネルを構築するには、&os; のすべてのソースファイルが必要です。</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para><filename
|
|
||||||
class="directory">/usr/src</filename> ディレクトリに
|
|
||||||
<command>cd</command> で移動します。</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>
|
|
||||||
|
|
||||||
<tip>
|
|
||||||
<para>デフォルトでは、カスタムカーネルを構築すると
|
|
||||||
<emphasis>すべて</emphasis> のカーネルモジュールが再構築されます。
|
|
||||||
カーネルのアップデートをより早く行いたい、または、
|
|
||||||
カスタムモジュールのみを構築したいといった場合は、
|
|
||||||
カーネルの構築を開始する前に、以下のように <filename>/etc/make.conf</filename>
|
|
||||||
を編集してください。</para>
|
|
||||||
|
|
||||||
<programlisting>MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting>
|
|
||||||
|
|
||||||
<para>この変数は、すべてのモジュールを構築するというデフォルトの設定にかわり、
|
|
||||||
構築するモジュール一覧を指定します。</para>
|
|
||||||
|
|
||||||
<programlisting>WITHOUT_MODULES = linux acpi sound ntfs</programlisting>
|
|
||||||
|
|
||||||
<para>この変数は、構築を行わないトップレベルのモジュールを指定します。
|
|
||||||
カーネルの構築プロセスに関連する、他の変数については、
|
|
||||||
&man.make.conf.5; を参照してください。</para>
|
|
||||||
</tip>
|
|
||||||
|
|
||||||
<indexterm>
|
|
||||||
<primary><filename
|
|
||||||
class="directory">/boot/kernel.old</filename></primary>
|
|
||||||
</indexterm>
|
|
||||||
|
|
||||||
<para>新しいカーネルは <filename
|
|
||||||
class="directory">/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 class="directory">/boot</filename> に置かれます。
|
|
||||||
サードパーティ製やカスタムモジュールを
|
|
||||||
<filename class="directory">/boot/kernel</filename> に置くこともできますが、
|
|
||||||
コンパイルしたカーネルとモジュールを同期しておく必要があります。
|
|
||||||
コンパイルしたカーネルとモジュールが対応していないと、
|
|
||||||
システムが不安定になる可能性があります。</para>
|
|
||||||
</note>
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="kernelconfig-config">
|
<sect1 id="kernelconfig-config">
|
||||||
<sect1info>
|
<sect1info>
|
||||||
<authorgroup>
|
<!--<authorgroup>
|
||||||
<author>
|
<author>
|
||||||
<firstname>Joel</firstname>
|
<firstname>Joel</firstname>
|
||||||
<surname>Dahl</surname>
|
<surname>Dahl</surname>
|
||||||
<contrib>改訂: </contrib>
|
<contrib>改訂: </contrib>
|
||||||
</author>
|
</author>
|
||||||
</authorgroup>
|
</authorgroup>-->
|
||||||
</sect1info>
|
</sect1info>
|
||||||
|
|
||||||
<title>コンフィグレーションファイル</title>
|
<title>コンフィグレーションファイル</title>
|
||||||
|
|
||||||
|
<para> カスタムカーネルのコンフィグレーションファイルを作成し、
|
||||||
|
カスタムカーネルを構築するのであれば、
|
||||||
|
&os; の全ソースツリーがまずインストールされている必要があります。</para>
|
||||||
|
|
||||||
|
<para>もし、<filename class="directory">/usr/src/</filename>
|
||||||
|
が存在していなかったり、空であれば、
|
||||||
|
カーネルのソースはインストールされていません。
|
||||||
|
<xref
|
||||||
|
linkend="svn"/> で説明した
|
||||||
|
<application>svn</application> を使ってソースをインストールできます。
|
||||||
|
また、&man.sysinstall.8; を使って、
|
||||||
|
<literal>src</literal>
|
||||||
|
ディストリビューションからインストールすることもできます。
|
||||||
|
このディストリビューションは、&man.sysinstall.8; で
|
||||||
|
<literal>Configuration</literal> を選択し、
|
||||||
|
<literal>Distributions</literal> メニューから選択できます。</para>
|
||||||
|
|
||||||
|
<para>ソースをインストールしたら、<filename
|
||||||
|
class="directory">/usr/src/sys</filename> を確認して下さい。
|
||||||
|
このディレクトリには、サブディレクトリがいくつもあります。
|
||||||
|
その中には、サポートされている各アーキテクチャである、<filename
|
||||||
|
class="directory">amd64</filename>, <filename
|
||||||
|
class="directory">i386</filename>, <filename
|
||||||
|
class="directory">ia64</filename>, <filename
|
||||||
|
class="directory">pc98</filename>, <filename
|
||||||
|
class="directory">powerpc</filename> および <filename
|
||||||
|
class="directory">sparc64</filename> のサブディレクトリがあります。
|
||||||
|
各アーキテクチャのディレクトリ内部にあるファイルはすべてそのアーキテクチャでのみ使用されます。
|
||||||
|
残りのコードは、アーキテクチャに依存しない、
|
||||||
|
すべてのプラットフォームで共有されるコードです。
|
||||||
|
サポートされている各アーキテクチャには、<filename
|
||||||
|
class="directory">conf</filename> サブディレクトリがあり、
|
||||||
|
そのアーキテクチャ用の <filename>GENERIC</filename>
|
||||||
|
カーネルコンフィグレーションファイルが用意されています。</para>
|
||||||
|
|
||||||
|
<para>この <filename>GENERIC</filename> は編集しないでください。
|
||||||
|
このファイルを別名でコピーし、コピーを編集してください。
|
||||||
|
慣習として、この名前はすべて大文字でつづられます。もし、
|
||||||
|
いくつかの異なるハードウェアの &os; マシンを扱うなら、
|
||||||
|
この名前にホスト名を含めるとよいでしょう。ここでは、例として
|
||||||
|
<literal>amd64</literal>
|
||||||
|
アーキテクチャのカスタムコンフィグレーションファイルを作成します。</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>amd64</replaceable>/conf</userinput>
|
||||||
|
&prompt.root; <userinput>cp GENERIC <replaceable>MYKERNEL</replaceable></userinput></screen>
|
||||||
|
|
||||||
|
<tip>
|
||||||
|
<para>カーネルコンフィグレーションファイルの編集を終えたら、
|
||||||
|
ファイルのバックアップを <filename
|
||||||
|
class="directory">/usr/src</filename>
|
||||||
|
以外の場所に保存してください。</para>
|
||||||
|
|
||||||
|
<para>もしくは、カーネルコンフィグレーションファイルは他の場所において、
|
||||||
|
シンボリックリンクを張る方法もあります。</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>amd64</replaceable>/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>
|
||||||
|
|
||||||
|
<para>これで、コンフィグレーションファイル
|
||||||
|
<filename><replaceable>MYKERNEL</replaceable></filename>
|
||||||
|
を ASCII テキストエディタで編集できます。
|
||||||
|
初心者に対してより簡単なエディタである
|
||||||
|
<application>ee</application> も &os;
|
||||||
|
とともにインストールされていますが、
|
||||||
|
デフォルトのエディタは <application>vi</application> です。</para>
|
||||||
|
|
||||||
<indexterm>
|
<indexterm>
|
||||||
<primary>カーネル</primary>
|
<primary>カーネル</primary>
|
||||||
<secondary>NOTES</secondary>
|
<secondary>NOTES</secondary>
|
||||||
|
@ -479,17 +336,21 @@ following line in &man.loader.conf.5;:
|
||||||
<secondary>コンフィグレーションファイル</secondary>
|
<secondary>コンフィグレーションファイル</secondary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>コンフィグレーションファイルの一般的なフォーマットはとてもシンプルです。
|
<para>コンフィグレーションファイルのフォーマットはシンプルです。
|
||||||
各行は 1 つのキーワードと 1 つ以上の引数を含んでいます。
|
各行はデバイスやサブシステム、引数、または簡単な説明を含んでいます。
|
||||||
見やすくするために、ほとんどのキーワードは引数を 1 つしか書いてありません。
|
<literal>#</literal> に続くテキストはすべてコメントとして扱われ、
|
||||||
<literal>#</literal> に続くものはすべてコメントとして扱われ、
|
無視されます。
|
||||||
無視されます。ここでは、それぞれのキーワードについて
|
カーネルからデバイスもしくはサブシステムのサポートを外すには、
|
||||||
<filename>GENERIC</filename> に出てくる順番で説明します。
|
対応する行の最初に <literal>#</literal> を入れてください。
|
||||||
アーキテクチャ依存のおびただしい数のオプション一覧については、
|
理解していない行に対しては、<literal>#</literal>
|
||||||
|
を追加したり削除しないでください。</para>
|
||||||
|
|
||||||
|
<para>このファイルで与えられる説明の他に、
|
||||||
そのアーキテクチャの <filename>GENERIC</filename>
|
そのアーキテクチャの <filename>GENERIC</filename>
|
||||||
と同じディレクトリにある <filename>NOTES</filename> ご覧ください。
|
と同じディレクトリにある
|
||||||
|
<filename>NOTES</filename> にも説明があります。
|
||||||
アーキテクチャに依存しないオプションについては、
|
アーキテクチャに依存しないオプションについては、
|
||||||
<filename>/usr/src/sys/conf/NOTES</filename> ファイルをご覧ください。</para>
|
<filename>/usr/src/sys/conf/NOTES</filename> をご覧ください。</para>
|
||||||
|
|
||||||
<para>コンフィグレーションファイルでは <literal>include</literal>
|
<para>コンフィグレーションファイルでは <literal>include</literal>
|
||||||
ディレクティブを利用できます。
|
ディレクティブを利用できます。
|
||||||
|
@ -517,9 +378,6 @@ options IPDIVERT
|
||||||
コンフィグレーションの構成要素に関する包括的な一覧と説明は
|
コンフィグレーションの構成要素に関する包括的な一覧と説明は
|
||||||
&man.config.5; にあります。</para>
|
&man.config.5; にあります。</para>
|
||||||
|
|
||||||
<para>この章のここから先は、典型的なコンフィグレーションファイルの中身と、
|
|
||||||
さまざまなオプションやデバイスの役割について説明します。</para>
|
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>利用可能なすべてのオプションを含むファイルを構築するには、
|
<para>利用可能なすべてのオプションを含むファイルを構築するには、
|
||||||
以下のコマンドを <username>root</username> 権限で実行してください。</para>
|
以下のコマンドを <username>root</username> 権限で実行してください。</para>
|
||||||
|
@ -527,46 +385,6 @@ options IPDIVERT
|
||||||
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf && make LINT</userinput></screen>
|
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf && make LINT</userinput></screen>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<indexterm>
|
|
||||||
<primary>カーネル</primary>
|
|
||||||
<secondary>コンフィグレーションファイル</secondary>
|
|
||||||
</indexterm>
|
|
||||||
|
|
||||||
<para>以下は必要に応じてコメントを追加した
|
|
||||||
<filename>GENERIC</filename> カーネルのコンフィグレーションファイルの例です。
|
|
||||||
この設定例は
|
|
||||||
<filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/GENERIC</filename>
|
|
||||||
に極めて近いものになっているはずです。</para>
|
|
||||||
|
|
||||||
<indexterm>
|
|
||||||
<primary>カーネルオプション</primary>
|
|
||||||
<secondary>machine</secondary>
|
|
||||||
</indexterm>
|
|
||||||
|
|
||||||
<programlisting>machine i386</programlisting>
|
|
||||||
|
|
||||||
<para>マシンのアーキテクチャです。これは
|
|
||||||
<literal>amd64</literal>, <literal>i386</literal>,
|
|
||||||
<literal>ia64</literal>, <literal>pc98</literal>,
|
|
||||||
<literal>powerpc</literal> または
|
|
||||||
<literal>sparc64</literal>
|
|
||||||
のいずれかでなければなりません。</para>
|
|
||||||
|
|
||||||
<indexterm>
|
|
||||||
<primary>カーネルオプション</primary>
|
|
||||||
<secondary>cpu</secondary>
|
|
||||||
</indexterm>
|
|
||||||
<programlisting>cpu I486_CPU
|
|
||||||
cpu I586_CPU
|
|
||||||
cpu I686_CPU</programlisting>
|
|
||||||
|
|
||||||
<para>このオプションは、CPU タイプを指定します。
|
|
||||||
複数の CPU エントリを書いても構いませんが、
|
|
||||||
カスタムカーネルを作る場合、使用する CPU だけを指定するのがベストです。
|
|
||||||
CPU のタイプを判断するには、
|
|
||||||
<filename>/var/run/dmesg.boot</filename>
|
|
||||||
にある起動メッセージを調べるとよいでしょう。</para>
|
|
||||||
|
|
||||||
<indexterm>
|
<indexterm>
|
||||||
<primary>カーネルオプション</primary>
|
<primary>カーネルオプション</primary>
|
||||||
<secondary>ident</secondary>
|
<secondary>ident</secondary>
|
||||||
|
@ -579,20 +397,6 @@ cpu I686_CPU</programlisting>
|
||||||
のように、新しいカーネルに付けたい名前に書き換えて下さい。
|
のように、新しいカーネルに付けたい名前に書き換えて下さい。
|
||||||
<literal>ident</literal> に書いた値はカーネルを起動する時に表示されます。</para>
|
<literal>ident</literal> に書いた値はカーネルを起動する時に表示されます。</para>
|
||||||
|
|
||||||
<programlisting>#To statically compile in device wiring instead of /boot/device.hints
|
|
||||||
#hints "GENERIC.hints" # Default places to look for devices.</programlisting>
|
|
||||||
|
|
||||||
<para>デバイスドライバのオプションは &man.device.hints.5;
|
|
||||||
を用いて設定されます。
|
|
||||||
デフォルトの場所は
|
|
||||||
<filename>/boot/device.hints</filename> です。
|
|
||||||
<literal>hints</literal> オプションを用いると、
|
|
||||||
カーネルにこれらのヒント情報を静的に加えてコンパイルするので、
|
|
||||||
<filename>device.hints</filename> を作成する必要はありません。</para>
|
|
||||||
|
|
||||||
<!-- XXX: Add a comment here that explains when compiling hints into
|
|
||||||
the kernel is a good idea and why. -->
|
|
||||||
|
|
||||||
<programlisting>makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols</programlisting>
|
<programlisting>makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols</programlisting>
|
||||||
|
|
||||||
<para>このオプションは &man.gcc.1;
|
<para>このオプションは &man.gcc.1;
|
||||||
|
@ -603,12 +407,6 @@ cpu I686_CPU</programlisting>
|
||||||
<para>&os; のデフォルトのスケジューラです。
|
<para>&os; のデフォルトのスケジューラです。
|
||||||
このオプションはこのままにしてください。</para>
|
このオプションはこのままにしてください。</para>
|
||||||
|
|
||||||
<programlisting>options PREEMPTION # Enable kernel thread preemption</programlisting>
|
|
||||||
|
|
||||||
<para>優先度の高いカーネルスレッドがプリエンプションできるようにします。
|
|
||||||
このオプションを使うことでインタラクティブになり、
|
|
||||||
待ち状態になるよりすぐに実行状態になるようスレッドの割り込みを許可します。</para>
|
|
||||||
|
|
||||||
<programlisting>options INET # InterNETworking</programlisting>
|
<programlisting>options INET # InterNETworking</programlisting>
|
||||||
|
|
||||||
<para>ネットワークのサポート。
|
<para>ネットワークのサポート。
|
||||||
|
@ -995,7 +793,7 @@ device splash # Splash screen and screen saver support</programlist
|
||||||
|
|
||||||
<para>起動時のスプラッシュスクリーンおよびスクリーンセーバが必要とします。</para>
|
<para>起動時のスプラッシュスクリーンおよびスクリーンセーバが必要とします。</para>
|
||||||
|
|
||||||
<programlisting># syscons is the default console driver, resembling an SCO console
|
<programlisting># syscons is the default console driver, resembling a SCO console
|
||||||
device sc</programlisting>
|
device sc</programlisting>
|
||||||
|
|
||||||
<para>&man.sc.4; は SCO に類似したデフォルトのコンソールドライバです。
|
<para>&man.sc.4; は SCO に類似したデフォルトのコンソールドライバです。
|
||||||
|
@ -1396,6 +1194,115 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="kernelconfig-building">
|
||||||
|
<title>カスタムカーネルの構築とインストール</title>
|
||||||
|
|
||||||
|
<para>編集した内容を保存したら、
|
||||||
|
カーネルのソースコードをコンパイルしてください。</para>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>最新のソースと <link
|
||||||
|
linkend="svn">ソースツリーを同期</link> したら、
|
||||||
|
何らかのアップデートを行う前に、<emphasis>必ず</emphasis>
|
||||||
|
<filename class="directory">/usr/src/UPDATING</filename>
|
||||||
|
をチェックしてください。
|
||||||
|
このファイルには、
|
||||||
|
アップデートされたソースコードに関する重要な問題や特別に注意すべき点がすべて書かれています。
|
||||||
|
<filename>/usr/src/UPDATING</filename> は常に &os;
|
||||||
|
のソースのバージョンと同期しているので、
|
||||||
|
ハンドブックの記述よりも新しい内容を含んでいます。</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<warning>
|
||||||
|
<para>デバイスやオプションのサポートを外すことは簡単で、
|
||||||
|
その結果、カーネルを壊すことがあります。
|
||||||
|
たとえば、&man.ata.4;
|
||||||
|
ドライバをカーネルコンフィグレーションファイルから除くと、
|
||||||
|
<acronym>ATA</acronym> ディスクドライバを用いるシステムは起動しません。
|
||||||
|
確信が持てないものについては、
|
||||||
|
カーネルにサポートを残したままにしてください。</para>
|
||||||
|
</warning>
|
||||||
|
|
||||||
|
<procedure>
|
||||||
|
<title>カーネルの構築</title>
|
||||||
|
<indexterm>
|
||||||
|
<primary>カーネル</primary>
|
||||||
|
<secondary>構築 / インストール</secondary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>カーネルを構築するには、&os; のすべてのソースファイルが必要です。</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para><command>cd</command> を用いて <filename
|
||||||
|
class="directory">/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>
|
||||||
|
|
||||||
|
<tip>
|
||||||
|
<para>デフォルトでは、カスタムカーネルを構築すると
|
||||||
|
<emphasis>すべて</emphasis> のカーネルモジュールが再構築されます。
|
||||||
|
カーネルのアップデートをより早く行いたい、または、
|
||||||
|
カスタムモジュールのみを構築したいといった場合は、
|
||||||
|
カーネルの構築を開始する前に、以下のように
|
||||||
|
<filename>/etc/make.conf</filename> を編集してください。</para>
|
||||||
|
|
||||||
|
<programlisting>MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting>
|
||||||
|
|
||||||
|
<para>この変数は、
|
||||||
|
すべてのモジュールを構築するというデフォルトの設定にかわり、
|
||||||
|
構築するモジュール一覧を指定します。</para>
|
||||||
|
|
||||||
|
<programlisting>WITHOUT_MODULES = linux acpi sound ntfs</programlisting>
|
||||||
|
|
||||||
|
<para>この変数は、構築を行わないトップレベルのモジュールを指定します。
|
||||||
|
他の変数については、&man.make.conf.5; を参照してください。</para>
|
||||||
|
</tip>
|
||||||
|
|
||||||
|
<indexterm>
|
||||||
|
<primary><filename
|
||||||
|
class="directory">/boot/kernel.old</filename></primary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
|
<para>新しいカーネルは <filename
|
||||||
|
class="directory">/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 class="directory">/boot</filename> に置かれます。
|
||||||
|
サードパーティ製やカスタムモジュールを
|
||||||
|
<filename class="directory">/boot/kernel</filename> に置くこともできますが、
|
||||||
|
コンパイルしたカーネルとモジュールを同期しておく必要があります。
|
||||||
|
コンパイルしたカーネルとモジュールが対応していないと、
|
||||||
|
システムが不安定になる可能性があります。</para>
|
||||||
|
</note>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="kernelconfig-trouble">
|
<sect1 id="kernelconfig-trouble">
|
||||||
<title>問題が起きた場合には</title>
|
<title>問題が起きた場合には</title>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue