Merge the following from the English version:

1.164 -> 1.172	doc/ja_JP.eucJP/books/handbook/kernelconfig/chapter.sgml

Reference:   [doc-jp-work 2203]
This commit is contained in:
Ryusuke SUZUKI 2011-08-20 13:08:02 +00:00
parent c9963c0e46
commit 010d4a488d
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=37578

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.164
Original revision: 1.172
$FreeBSD$
-->
@ -66,10 +66,6 @@
<para>新しいカーネルのインストール方法。</para>
</listitem>
<listitem>
<para><filename>/dev</filename> 下に必要となる項目を作成する方法。</para>
</listitem>
<listitem>
<para>うまく行かないときの問題解決法。</para>
</listitem>
@ -174,9 +170,7 @@
&os; が移植されるすべてのプラットフォームで共有されるコードです。
サポートされているデバイス、ファイルシステム、オプションが、
それぞれ各々のサブディレクトリに分かれている、
という論理的な構成に注意してください。5.X より前の &os; は、
<filename>i386</filename>, <filename>alpha</filename>
および <filename>pc98</filename> アーキテクチャにのみ対応しています。</para>
という論理的な構成に注意してください。</para>
<para>この章で示されるコマンドの例は、i386 アーキテクチャを使用していることを仮定しています。
他のアーキテクチャを使用しているのであれば、
@ -187,14 +181,13 @@
以下のディレクトリが<emphasis>なければ</emphasis>、
カーネルのソースが インストールされていません。
もっとも簡単な方法は (<username>root</username>で)
<command>sysinstall</command> (5.2 より古いバージョンの &os; では、
<command>/stand/sysinstall</command>)
を用いて以下のようにすることです。
<command>sysinstall</command> を用いて以下のようにすることです。
<guimenuitem>設定 (Configure)</guimenuitem>
を選んでから
<guimenuitem>配布ファイル (Distribution)</guimenuitem>
を選択し、<guimenuitem>src</guimenuitem>
の中の <guimenuitem>sys</guimenuitem>
を選択し、その後、<guimenuitem>src</guimenuitem>
を選択し、<guimenuitem>base</guimenuitem> の中の
<guimenuitem>sys</guimenuitem>
をインストールしてください。
<application>sysinstall</application>
が嫌いで、<quote>公式</quote> &os; CDROM を利用できるなら、
@ -204,7 +197,8 @@
<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>
&prompt.root; <userinput>cat /cdrom/src/ssys.[a-d]* | tar -xzvf -</userinput>
&prompt.root; <userinput>cat /cdrom/src/sbase.[a-d]* | tar -xzvf -</userinput></screen>
</note>
<para>つぎに、
@ -283,88 +277,14 @@
新しい情報については、ハンドブックよりも最新です。</para>
</note>
<para>ここで、カーネルのソースコードをコンパイルしなくてはなりませ
ん。手順は二つあり、どちらを使うかは、なぜカーネルを再構築するか
と、動かしている &os; のバージョンによって決まります。</para>
<itemizedlist>
<listitem>
<para>カーネルのソースコード<emphasis>だけ</emphasis>インストー
ルしているなら、手順 1 にしたがってください。</para>
</listitem>
<listitem>
<para>(<literal>IPFIREWALL</literal> オプションを追加するなど
のように) ソースコードを更新せずに新しいカーネルを構築するな
らどちらの手順を用いても構いません。</para>
</listitem>
<listitem>
<para><command>make buildworld</command>
の一環としてカーネルの再構築を行っているなら、
手順 2 にしたがってください。</para>
</listitem>
</itemizedlist>
<indexterm>
<primary><command>cvsup</command></primary>
</indexterm>
<indexterm><primary>CTM</primary></indexterm>
<indexterm>
<primary>CVS</primary>
<secondary>anonymous</secondary>
</indexterm>
<para><maketarget>buildworld</maketarget>-<maketarget>installworld</maketarget>
に成功した後で、あなたのソースツリーをアップグレードして
<emphasis>いない</emphasis>
(<application>CVSup</application>, <application>CTM</application>,
<application>anoncvs</application> などを実行していない) のであれば、
<command>config</command>, <command>make depend</command>,
<command>make</command>, <command>make install</command>
の手順を実行すれば十分です。</para>
<para>ここで、カーネルのソースコードをコンパイルしなくてはなりません。</para>
<procedure>
<title>手順 1: <quote>伝統的な</quote> 方法によるカーネル構築</title>
<title>カーネルの構築</title>
<step>
<para>カーネルソースコードを生成するため、&man.config.8; を実
行します。</para>
<screen>&prompt.root; <userinput>/usr/sbin/config <replaceable>MYKERNEL</replaceable></userinput></screen>
</step>
<step>
<para>カーネルを構築するためのディレクトリに移動します。
&man.config.8; は、上のように実行した後、移動先のディレクトリの場所を表示します。</para>
<screen>&prompt.root; <userinput>cd ../compile/<replaceable>MYKERNEL</replaceable></userinput></screen>
<para>5.0 より前のバージョンの &os; では、
かわりに以下を実行してください。</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>
<para><filename
role="directory">/usr/src</filename> ディレクトリに移動します。</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
</step>
@ -383,9 +303,7 @@
</procedure>
<note>
<para>この方法でカーネルを構築するのであれば、すべてのソースファイルが必要です。
カーネルソースだけをインストールしているのであれば、
上で述べた伝統的な方法で構築してください。</para>
<para>カーネルを構築するには、&os; のすべてのソースファイルが必要です。</para>
</note>
<tip>
@ -436,10 +354,8 @@
<author>
<firstname>Joel</firstname>
<surname>Dahl</surname>
<contrib>&os; 5.X に対応: </contrib>
<!-- August 2004, PR docs/70674 -->
<contrib>&os; 6.X に対応: </contrib>
</author>
<!-- <editor><othername role="freefall login">ceri</othername></editor> -->
</authorgroup>
</sect1info>
<title>コンフィグレーションファイル</title>
@ -517,38 +433,6 @@ cpu I686_CPU</programlisting>
<filename>/var/run/dmesg.boot</filename>
ファイルを確認して起動メッセージを調べるとよいでしょう。</para>
<indexterm>
<primary>カーネルオプション</primary>
<secondary>cpu type</secondary>
</indexterm>
<para>&os; のソースはまだ <literal>I386_CPU</literal> に対応していますが、
-STABLE および -CURRENT では、デフォルトで無効になっています。
386 クラスの CPU に &os; をインストールするには、
以下のような方法があります。</para>
<itemizedlist>
<listitem>
<para>古い &os; リリースをインストールし、<xref linkend="kernelconfig-building">
で説明されている方法でソースコードから再構築する。</para>
</listitem>
<listitem>
<para>新しいコンピュータでユーザランドとカーネルを構築し、
このコンパイルした <filename>/usr/obj</filename> ファイルを使って
386 のコンピュータにインストールする
(詳細については <xref linkend="small-lan"> をご覧ください)。</para>
</listitem>
<listitem>
<para><literal>I386_CPU</literal> に対応しているカーネルを含む、自分用の
&os; インストール CD-ROM を作成する。</para>
</listitem>
</itemizedlist>
<para>この 3 つの方法の中で最も簡単なのは、おそらく一番目の方法ですが、
386 クラスのコンピュータにとって用意することが難しいぐらい多くのディスク容量を必要とします。</para>
<indexterm>
<primary>カーネルオプション</primary>
<secondary>ident</secondary>
@ -581,31 +465,22 @@ cpu I686_CPU</programlisting>
<!-- 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>インストール先のディスク容量を節約するため、
通常の &os; のビルド過程ではデバッグ情報は含まれません。
また、作成されたカーネルをリンクした後で、ほとんどのシンボル情報は削除されます。
もし、-CURRENT ブランチにあるカーネルをテストしようとしている、
または自分で変更した &os; カーネルをテストしたいのであれば、
この行のコメントをはずしてください。
&man.gcc.1; の <option>-g</option> オプションを有効にし、
デバッグ情報を生成するようにします。
<quote>伝統的な</quote> 方法でカーネルを構築する場合
(詳細については <xref linkend="kernelconfig-building"> をご覧ください)
には、&man.config.8; の <option>-g</option>
オプションを用いて同様のことができます。</para>
<para>通常の &os; のビルド過程では、<option>-g</option>
オプションとともにカーネルを構築すると、デバッグ情報を含みます。
このオプションは &man.gcc.1; がデバッグ情報を生成するようにします。</para>
<programlisting>options SCHED_4BSD # 4BSD scheduler</programlisting>
<para>伝統的な &os; のスケジューラです。
使用しているシステムのワークロードにもよりますが、
&os; の新しいスケジューラである ULE を用いたほうがフォーマンスは改善するでしょう。
ULE は、特に SMP のために設計されたものですが、
単一のプロセッサのシステムにおいてもうまく動作します。
試す場合には、コンフィグレーションファイルの中の
<literal>SCHED_4BSD</literal> を <literal>SCHED_ULE</literal>
に置き換えてください。</para>
<para>伝統的な &os; のデフォルトのスケジューラです。
このオプションはこのままにしてください。</para>
<programlisting>options PREEMPTION # Enable kernel thread preemption</programlisting>
<para>カーネル空間において、優先度の高いスレッドがプリエンプションできるようにします。
このオプションを使うことでインタラクティブになり、
待ち状態になるよりすぐに実行状態になるようスレッドの割り込みを許可します。</para>
<programlisting>options INET # InterNETworking</programlisting>
@ -639,8 +514,7 @@ cpu I686_CPU</programlisting>
<programlisting>options UFS_ACL # Support for access control lists</programlisting>
<para>このオプションは、現時点で &os;&nbsp;5.X のみに存在しているもので、
カーネルのアクセス制御リストのサポートを有効にします。
<para>このオプションは、カーネルのアクセス制御リストのサポートを有効にします。
この機能は拡張属性および <acronym>UFS2</acronym> が有効になっていることに依存し、
<xref linkend="fs-acl"> で機能の説明が行われています。
<acronym>ACL</acronym> はデフォルトで有効にされています。
@ -702,7 +576,7 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT</progra
(データ CD を最初にマウントする時、自動的にロードされます)。
音楽 CD はこのファイルシステムを必要としません。</para>
<programlisting>options PROCFS # Process filesystem</programlisting>
<programlisting>options PROCFS # Process filesystem (requires PSEUDOFS)</programlisting>
<para>プロセスファイルシステム。
これは <filename>/proc</filename> にマウントされる、
@ -713,12 +587,13 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT</progra
<literal>PROCFS</literal> なしで起動するので、
ほとんどの環境では <literal>PROCFS</literal> を必要としません。
新しくインストールした場合には、
デフォルトではプロセスファイルシステムをマウントしません。
さらに、6.X-CURRENT のカーネルで <literal>PROCFS</literal> を使う場合には、
以下のように <literal>PSEUDOFS</literal> のサポートを含む必要があります。</para>
デフォルトではプロセスファイルシステムをマウントしません。</para>
<programlisting>options PSEUDOFS # Pseudo-filesystem framework</programlisting>
<para>6.X-CURRENT のカーネルで <literal>PROCFS</literal> を使う場合には、
<literal>PSEUDOFS</literal> のサポートが必要です。</para>
<programlisting>options GEOM_GPT # GUID Partition Tables.</programlisting>
<para>このオプションは、
@ -740,13 +615,12 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT</progra
5.X でのみサポートされている ia64 や &sparc64; といったプラットフォームでは、
このオプションは必要ありません。</para>
<programlisting>options SCSI_DELAY=15000 # Delay (in ms) before probing SCSI</programlisting>
<programlisting>options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI</programlisting>
<para>この行は、カーネルがそれぞれの SCSI 機器を検出する前に
15 秒間待つようにします。
5 秒間待つようにします。
あなたが IDE ドライブしか持たないなら無視して結構です。
そうでないなら、起動時間を短くするため、おそらく待つ時間を短く、
5 秒くらいにしたいでしょう。
そうでないなら、起動時間を短くするために、この数字を小さく変更できます。
勿論、そうした場合に &os; が SCSI
機器を認識しなくなってしまったら、もう一度数字を増やしてください。</para>
@ -825,17 +699,6 @@ options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
マルチプロセッサに対応するには
<literal>options SMP</literal> を追加してください。</para>
<programlisting>device isa</programlisting>
<para>&os; がサポートするすべての PC はこれらの内のひとつを持っています。
ISA スロットを持っていなくても削除しないでください。
あなたが IBM PS/2 (マイクロチャネルアーキテクチャ)
システムを持っている場合、&os;
は、現時点では限定的な対応を提供しています。
MCA の対応状況に関する詳細は、
<filename>/usr/src/sys/i386/conf/NOTES</filename>
をご覧ください。</para>
<programlisting>device eisa</programlisting>
<para>あなたが EISA マザーボードを持っている場合、
@ -896,6 +759,7 @@ device ahc # AHA2940 and onboard AIC7xxx devices
device ahd # AHA39320/29320 and onboard AIC79xx devices
device amd # AMD 53C974 (Teckram DC-390(T))
device isp # Qlogic family
#device ispfw # Firmware for QLogic HBAs- normally a module
device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets)
@ -943,6 +807,7 @@ device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device ciss # Compaq Smart RAID 5*
device dpt # DPT Smartcache III, IV - See NOTES for options
device hptmv # Highpoint RocketRAID 182x
device rr232x # Highpoint RocketRAID 232x
device iir # Intel Integrated RAID
device ips # IBM (Adaptec) ServeRAID
device mly # Mylex AcceleRAID/eXtremeRAID
@ -952,6 +817,7 @@ device twa # 3ware 9000 series PATA/SATA RAID
device aac # Adaptec FSA RAID
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device mfi # LSI MegaRAID SAS
device mlx # Mylex DAC960 family
device pst # Promise Supertrak SX6000
device twe # 3ware ATA RAID</programlisting>
@ -982,11 +848,15 @@ device atkbdc # AT keyboard controller</programlisting>
<para>あなたのマウスが PS/2 マウスポートに接続するタイプなら
このデバイスを使って下さい。</para>
<programlisting>device kbdmux # keyboard multiplexer</programlisting>
<para>標準のキーボードマルチプレクサのサポート。</para>
<programlisting>device vga # VGA video card driver</programlisting>
<para>ビデオカードドライバです。</para>
<programlisting># splash screen/screen saver
<programlisting>
device splash # Splash screen and screen saver support</programlisting>
<para>起動時にスプラッシュスクリーンが表示されます!
@ -1030,14 +900,6 @@ device sc</programlisting>
AGP および (ボードが機能を持っている場合には) AGP GART
に対応します。</para>
<programlisting># Floating point support - do not disable.
device npx</programlisting>
<para><literal>npx</literal> はハードウェアコプロセッサか、
ソフトウエアエミュレータのどちらかである浮動小数点演算ユニットへの
&os; におけるインタフェースです。
これは任意選択では<emphasis>ありません</emphasis>。</para>
<indexterm>
<primary>APM</primary>
</indexterm>
@ -1153,12 +1015,14 @@ device miibus # MII bus support</programlisting>
特定のドライバを必要としない場合に利用される汎用のものを含む
すべての PHY ドライバが導入されます。</para>
<programlisting>device bfe # Broadcom BCM440x 10/100 Ethernet
<programlisting>device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device lge # Level 1 LXT1001 gigabit ethernet
device nge # NatSemi DP83820 gigabit ethernet
device nve # nVidia nForce MCP on-board Ethernet Networking
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
@ -1199,6 +1063,7 @@ device xe # Xircom pccard Ethernet
device wlan # 802.11 support
device an # Aironet 4500/4800 802.11 wireless NICs.
device awi # BayStack 660 and others
device ral # Ralink Technology RT2500 wireless NICs.
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.</programlisting>
@ -1213,16 +1078,6 @@ device loop # Network loopback</programlisting>
で接続すると、このデバイスを通して戻ってきます。
これは<emphasis>必須</emphasis>です。</para>
<programlisting>device mem # Memory and kernel memory devices</programlisting>
<para>システムメモリデバイスです。</para>
<programlisting>device io # I/O device</programlisting>
<para>このオプションは、プロセスに対し I/O 権限の取得を許可します。
ハードウェアを直接扱うユーザランドプログラムを書くのに有用です。
X Window system を実効するのに必要です。</para>
<programlisting>device random # Entropy device</programlisting>
<para>暗号化されたセキュア乱数ジェネレータです。</para>