345 lines
9.2 KiB
Groff
345 lines
9.2 KiB
Groff
.\" Copyright (c) 2003 Joseph Koshy
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" %FreeBSD: src/share/man/man5/config.5,v 1.5 2004/06/16 08:33:55 ru Exp %
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd May 13, 2004
|
|
.Dt CONFIG 5
|
|
.Os
|
|
.Sh 名称
|
|
.Nm config
|
|
.Nd カーネル設定ファイルの形式
|
|
.Sh 解説
|
|
カーネル設定ファイルには、
|
|
.Fx
|
|
カーネルの設定を指定します。
|
|
これは
|
|
.Xr make 1
|
|
を使ってビルドする、カーネルのビルド環境を生成するために、
|
|
.Xr config 8
|
|
によって処理されます。
|
|
.Ss 構文構造
|
|
カーネル設定ファイルは、一連の指示ディレクティブからなります。
|
|
.Pp
|
|
指示ディレクティブは、行頭のキーワードで始まり、付加的な引数がそれに続きます。
|
|
.Pp
|
|
指示ディレクティブは、セミコロン
|
|
.Ql \&;
|
|
か改行で終了できます。
|
|
長い入力行は、空白で始まる行を続けることで、短い行に分割することができます。
|
|
.Pp
|
|
大文字/小文字には意味があり、
|
|
.Dq Li machine
|
|
と
|
|
.Dq Li MACHINE
|
|
は異なるトークンです。
|
|
.Pp
|
|
ダブルクォート文字の
|
|
.Ql \[dq]
|
|
は、クォート文字列の始まりです。
|
|
次のクォート文字までの全ての文字は、クォート文字列としての値を持ちます。
|
|
.Ql \[dq]
|
|
文字は
|
|
.Ql \e\[dq]
|
|
シーケンスを用いることで、クォート文字列の中に入れることが出来ます。
|
|
.Pp
|
|
数値は
|
|
.Tn C 風
|
|
の文法で記されます。
|
|
.Pp
|
|
.Ql #
|
|
文字はコメントの始まりです。
|
|
.Ql #
|
|
文字の後ろから、その行末までの全ての文字は無視されます。
|
|
.Pp
|
|
クォート文字列の中を除き、トークンの間の空白は無視されます。
|
|
コメント行に続く空白は無視されます。
|
|
.Ss 設定ディレクティブ
|
|
カーネル設定ディレクティブは、カーネル設定ファイル中において任意の順番で
|
|
現れることが出来ます。
|
|
ディレクティブは現れる順番に、後のディレクティブ行で
|
|
それ以前のディレクティブの効果を上書きするようにして処理されます。
|
|
.Pp
|
|
キーワードとその意味のリストは、以下のようなものです。
|
|
.Bl -tag -width indent
|
|
.\" -------- CPU --------
|
|
.It Ic cpu Ar cputype
|
|
このカーネルを動かすであろう CPU を指定します。
|
|
ひとつ以上の
|
|
.Ic cpu
|
|
ディレクティブを設定ファイル中に書くことが出来ます。
|
|
CPU 名として指定可能なリストはアーキテクチャ固有であり、ファイル
|
|
.Pa sys/conf/options. Ns Aq Ar arch
|
|
で定義されています。
|
|
.\" -------- DEVICE --------
|
|
.It Ic device Ar name Op Ar count
|
|
デバイス
|
|
.Ar name
|
|
をカーネルイメージに含めるように設定します。
|
|
もし
|
|
.Ar count
|
|
を指定した場合、そのデバイスは
|
|
.Ar count
|
|
個のインスタンスとして設定されます。
|
|
全てのアーキテクチャで共通のデバイスは、ファイル
|
|
.Pa sys/conf/files
|
|
で定義されています。
|
|
アーキテクチャ固有のデバイスは、ファイル
|
|
.Pa sys/conf/files. Ns Aq Ar arch
|
|
で定義されています。
|
|
.\" -------- ENV --------
|
|
.It Ic env Ar filename
|
|
カーネルの環境定義を含んだファイルの名前を指定します。
|
|
カーネルは通常、起動時に
|
|
.Xr loader 8
|
|
によって用意された環境を用います。
|
|
このディレクティブは、この起動環境を無視し、代わりにコンパイル時に
|
|
組み込まれた環境をカーネルが使うようにします。
|
|
.Pp
|
|
このディレクティブは、
|
|
.Xr loader 8
|
|
から起動しないような組み込み環境向けにカーネルをチューニングする時に
|
|
有用です。
|
|
.\" -------- FILES --------
|
|
.It Ic files Ar filename
|
|
そのカーネル設定ファイルに固有のファイルのリストを含むファイルを
|
|
指定します (
|
|
.Pa files. Ns Aq Ar arch
|
|
という風に )。
|
|
.\" -------- HINTS --------
|
|
.It Ic hints Ar filename
|
|
静的なデバイス設定指示のために読み込むファイルを指定します。
|
|
.Fx 5.0
|
|
以降、カーネルは起動時に、システムのデバイス設定を読み込みます
|
|
(
|
|
.Xr device.hints 5
|
|
を参照)。
|
|
このディレクティブはカーネルに、
|
|
.Ar filename
|
|
中に列挙した静的なデバイス設定を使うように設定します。
|
|
ファイル
|
|
.Ar filename
|
|
は、
|
|
.Xr device.hints 5
|
|
に規定された文法に従っている必要があります。
|
|
.\" -------- IDENT --------
|
|
.It Ic ident Ar name
|
|
カーネルの名前を
|
|
.Ar name
|
|
にします。
|
|
少なくともひとつの
|
|
.Ic ident
|
|
ディレクティブが必要です。
|
|
.\" -------- INCLUDE --------
|
|
.It Ic include Ar filename
|
|
続くテキストをファイル
|
|
.Ar filename
|
|
から読み込み、
|
|
.Ar filename
|
|
がきちんと処理できたら、現在のファイルに戻ります。
|
|
.\" -------- MACHINE --------
|
|
.It Ic machine Ar arch
|
|
カーネルがコンパイルされる、マシンのアーキテクチャを指定します。
|
|
.Ar arch
|
|
として正しい値は、以下のものを含みます。
|
|
.Pp
|
|
.Bl -tag -width ".Cm powerpc" -compact
|
|
.It Cm alpha
|
|
DEC Alpha アーキテクチャ。
|
|
.It Cm amd64
|
|
AMD x86-64 アーキテクチャ。
|
|
.It Cm i386
|
|
Intel x86 ベースの PC アーキテクチャ。
|
|
.It Cm ia64
|
|
Intel IA64 アーキテクチャ。
|
|
.It Cm pc98
|
|
PC98 アーキテクチャ。
|
|
.It Cm powerpc
|
|
IBM PowerPC アーキテクチャ。
|
|
.It Cm sparc64
|
|
Sun Sparc64 アーキテクチャ。
|
|
.El
|
|
.Pp
|
|
カーネル設定ファイルは
|
|
.Ic machine
|
|
ディレクティブをひとつだけ持つことができます。
|
|
.\" -------- MAKEOPTION --------
|
|
.It Ic makeoptions Ar options
|
|
生成される makefile に対して、
|
|
.Ar options
|
|
を追加します。
|
|
.Pp
|
|
.Ar options
|
|
引数はコンマで区切られた、ひとつ以上のオプション指示のリストです。
|
|
各オプション指示は次の形式を持ちます。
|
|
.Pp
|
|
.D1 Ar MakeVariableName Ns Op = Ns Ar Value
|
|
.Pp
|
|
これにより、適切な
|
|
.Xr make 1
|
|
変数定義が、生成される makefile に挿入されます。
|
|
もし名前だけの
|
|
.Xr make 1
|
|
変数を指定した場合、
|
|
.Ar value
|
|
は空の文字列とみなします。
|
|
.Pp
|
|
使用例:
|
|
.Bd -literal -offset indent -compact
|
|
makeoptions MYMAKEOPTION="foobar"
|
|
makeoptions MYNULLMAKEOPTION
|
|
.Ed
|
|
.\" -------- MAXUSERS --------
|
|
.It Ic maxusers Ar number
|
|
このオプションディレクティブは、いくつかのカーネルデータ構造体の大きさを
|
|
設定するのに使われます。
|
|
引数
|
|
.Ar number
|
|
は、0 (デフォルト) または 2 以上の整数値です。
|
|
値 0 は、利用可能な物理メモリの大きさに従って、カーネルが自身のデータ構造体を
|
|
設定することを表します。
|
|
もし自動設定が要求されれば、カーネルはこの値を 32 から 384 の間で
|
|
調節するでしょう。
|
|
.Pp
|
|
.Xr tuning 7
|
|
で説明しているように、この値は起動時に
|
|
.Xr loader 8
|
|
を使って設定することも出来ます。
|
|
.\" -------- NOMAKEOPTION --------
|
|
.It Ic nomakeoption Ar name
|
|
カーネルをビルドする際に、以前に定義された
|
|
.Xr make 1
|
|
オプションの
|
|
.Ar name
|
|
を削除します。
|
|
このディレクティブは、
|
|
.Ic include
|
|
を使って取り込んだファイル中の
|
|
.Ic makeoption
|
|
ディレクティブの効果を取り消す為に使うことが出来ます。
|
|
.\" -------- NOOPTION --------
|
|
.It Ic nooption Ar kerneloptionname
|
|
カーネルオプションの
|
|
.Ar kerneloptionname
|
|
を、これ以前に定義されたオプションのリストから削除します。
|
|
このディレクティブは、
|
|
.Ic include
|
|
を使って取り込んだファイル中の
|
|
.Ic option
|
|
ディレクティブの効果を取り消す為に使うことが出来ます。
|
|
.\" -------- OPTIONS --------
|
|
.It Ic options Ar optionspecs
|
|
カーネルをビルドする際に、コンパイル時のカーネルオプションを追加します。
|
|
引数
|
|
.Ar optionspecs
|
|
はコンマで区切られた、オプション指示のリストです。
|
|
各オプション指示は、次の形式を持ちます。
|
|
.Pp
|
|
.D1 Ar KernelOptionName Ns Op = Ns Ar OptionValue
|
|
.Pp
|
|
もし
|
|
.Ar OptionValue
|
|
が指定されない場合は、
|
|
.Dv NULL
|
|
であるとみなします。
|
|
全てのアーキテクチャで共通のオプションは、ファイル
|
|
.Pa sys/conf/options
|
|
で規定されています。
|
|
アーキテクチャ固有のオプションは、ファイル
|
|
.Pa sys/conf/options. Ns Aq Ar arch
|
|
で規定されています。
|
|
.\" -------- PROFILE --------
|
|
.It Ic profile Ar number
|
|
.Ar number
|
|
が非 0 の場合、カーネルプロファイリングが有効になります。
|
|
.Ar number
|
|
が 2 以上の場合、カーネルは高精度プロファイリングに設定されます。
|
|
カーネルはまた、
|
|
.Fl p
|
|
オプションを
|
|
.Xr config 8
|
|
で使うことでも、プロファイリング用にビルドできます。
|
|
.El
|
|
.Ss 廃止されたディレクティブ
|
|
以下のカーネル設定ディレクティブは廃止されました。
|
|
.Bl -tag -width indent
|
|
.\" -------- CONFIG --------
|
|
.It Ic config
|
|
このディレクティブは、ルートファイルシステムとして使われるデバイスを指定するのに
|
|
使われていました。
|
|
.Fx 4.0
|
|
以降、この情報はカーネルを起動する際に
|
|
.Xr loader 8
|
|
から渡されます。
|
|
.El
|
|
.Sh 関連ファイル
|
|
.Bl -tag -width ".Pa sys/conf/Makefile. Ns Ar arch" -compact
|
|
.It Pa sys/compile/ Ns Ar NAME
|
|
カーネル設定で作成されたコンパイルディレクトリ。
|
|
.It Pa sys/conf/Makefile. Ns Ar arch
|
|
アーキテクチャ
|
|
.Ar arch
|
|
の為の
|
|
.Pa Makefile
|
|
の一部。
|
|
.It Pa sys/conf/files
|
|
全てのアーキテクチャに共通のデバイス。
|
|
.It Pa sys/conf/files. Ns Ar arch
|
|
アーキテクチャ
|
|
.Ar arch
|
|
の為のデバイス。
|
|
.It Pa sys/conf/options
|
|
全てのアーキテクチャに共通のオプション。
|
|
.It Pa sys/conf/options. Ns Ar arch
|
|
アーキテクチャ
|
|
.Ar arch
|
|
の為のオプション。
|
|
.El
|
|
.Sh 関連項目
|
|
.Xr kenv 1 ,
|
|
.Xr make 1 ,
|
|
.Xr device.hints 5 ,
|
|
.Xr loader.conf 5 ,
|
|
.Xr config 8 ,
|
|
.Xr kldload 8 ,
|
|
.Xr loader 8
|
|
.Rs
|
|
.%T "Building 4.4BSD Kernels with Config"
|
|
.%A "Samuel J. Leffler"
|
|
.%A "Michael J. Karels"
|
|
.Re
|
|
.Sh 歴史
|
|
.Xr config 8
|
|
ユーティリティが最初に登場したのは
|
|
.Bx 4.1
|
|
であり、後に
|
|
.Bx 4.4
|
|
において修正されました。
|
|
.Pp
|
|
カーネル設定機構はさらに、
|
|
.Fx 4.0
|
|
と
|
|
.Fx 5.0
|
|
において、動的カーネル設定をサポートするアーキテクチャへと
|
|
変更されました。
|