スポンサーリンク

CONFIG(5) FreeBSD ファイルフォーマットマニュアル CONFIG(5)

名称

config − カーネル設定ファイルの形式

解説

カーネル設定ファイルには、 FreeBSD カーネルの設定を指定します。これは make(1) を使ってビルドする、カーネルのビルド環境を生成するために、 config(8) によって処理されます。

構文構造

カーネル設定ファイルは、一連の指示ディレクティブからなります。

指示ディレクティブは、行頭のキーワードで始まり、付加的な引数がそれに続き ます。

指示ディレクティブは、セミコロン ‘;’ か改行で終了できます。長い入力行は、 空白で始まる行を続けることで、短い行に分割することができます。

大文字/小文字には意味があり、 ‘‘machine’’ と ‘‘MACHINE’’ は異なるトークン です。

ダブルクォート文字の ‘"’ は、クォート文字列の始まりです。次のクォート文字 までの全ての文字は、クォート文字列としての値を持ちます。 ‘"’ 文字は ‘\"’ シーケンスを用いることで、クォート文字列の中に入れることが出来ます。

数値は C 風の文法で記されます。

‘#’ 文字はコメントの始まりです。 ‘#’ 文字の後ろから、その行末までの全ての 文字は無視されます。

クォート文字列の中を除き、トークンの間の空白は無視されます。コメント行に 続く空白は無視されます。

設定ディレクティブ

カーネル設定ディレクティブは、カーネル設定ファイル中において任意の順番で 現れることが出来ます。ディレクティブは現れる順番に、後のディレクティブ行 でそれ以前のディレクティブの効果を上書きするようにして処理されます。

キーワードとその意味のリストは、以下のようなものです。

       cpu cputype

このカーネルを動かすであろう CPU を指定します。ひとつ以上の cpu ディレクティブを設定ファイル中に書くことが出来ます。 CPU 名として 指定可能なリストはアーキテクチャ固有であり、ファイル sys/conf/options.arch⟩ で定義されています。

device name [count]
デバイス name をカーネルイメージに含めるように設定します。もし count を指定した場合、そのデバイスは count 個のインスタンスとして 設定されます。全てのアーキテクチャで共通のデバイスは、ファイル sys/conf/files で定義されています。アーキテクチャ固有のデバイス は、ファイル sys/conf/files.arch⟩ で定義されています。

env filename
カーネルの環境定義を含んだファイルの名前を指定します。カーネルは 通常、起動時に loader(8) によって用意された環境を用います。この ディレクティブは、この起動環境を無視し、代わりにコンパイル時に組 み込まれた環境をカーネルが使うようにします。

このディレクティブは、 loader(8) から起動しないような組み込み環境 向けにカーネルをチューニングする時に有用です。

files filename
そのカーネル設定ファイルに固有のファイルのリストを含むファイルを 指定します ( files.arch⟩ という風に )。

hints filename
静的なデバイス設定指示のために読み込むファイルを指定します。 FreeBSD 5.0 以降、カーネルは起動時に、システムのデバイス設定を読 み込みます ( device.hints(5) を参照)。このディレクティブはカーネ ルに、 filename 中に列挙した静的なデバイス設定を使うように設定し ます。ファイル filename は、 device.hints(5) に規定された文法に 従っている必要があります。

ident name
カーネルの名前を name にします。少なくともひとつの ident ディレク ティブが必要です。

include filename
続くテキストをファイル filename から読み込み、 filename がきちん と処理できたら、現在のファイルに戻ります。

machine arch
カーネルがコンパイルされる、マシンのアーキテクチャを指定します。 arch として正しい値は、以下のものを含みます。

alpha
DEC Alpha アーキテクチャ。
amd64

AMD x86-64 アーキテクチャ。
i386

Intel x86 ベースの PC アーキテクチャ。
ia64

Intel IA64 アーキテクチャ。
pc98

PC98 アーキテクチャ。
powerpc

IBM PowerPC アーキテクチャ。
sparc64

Sun Sparc64 アーキテクチャ。

カーネル設定ファイルは machine ディレクティブをひとつだけ持つこと ができます。

makeoptions options
生成される makefile に対して、 options を追加します。

options 引数はコンマで区切られた、ひとつ以上のオプション指示のリ ストです。各オプション指示は次の形式を持ちます。

MakeVariableName[=Value]

これにより、適切な make(1) 変数定義が、生成される makefile に挿入 されます。もし名前だけの make(1) 変数を指定した場合、 value は空 の文字列とみなします。

使用例:
makeoptions MYMAKEOPTION="foobar"
makeoptions MYNULLMAKEOPTION

       maxusers number

このオプションディレクティブは、いくつかのカーネルデータ構造体の 大きさを設定するのに使われます。引数 number は、0 (デフォルト) ま たは 2 以上の整数値です。値 0 は、利用可能な物理メモリの大きさに 従って、カーネルが自身のデータ構造体を設定することを表します。も し自動設定が要求されれば、カーネルはこの値を 32 から 384 の間で調 節するでしょう。

tuning(7) で説明しているように、この値は起動時に loader(8) を使っ て設定することも出来ます。

nomakeoption name
カーネルをビルドする際に、以前に定義された make(1) オプションの name を削除します。このディレクティブは、 include を使って取り込 んだファイル中の makeoption ディレクティブの効果を取り消す為に使 うことが出来ます。

nooption kerneloptionname
カーネルオプションの kerneloptionname を、これ以前に定義されたオ プションのリストから削除します。このディレクティブは、 include を 使って取り込んだファイル中の option ディレクティブの効果を取り消 す為に使うことが出来ます。

options optionspecs
カーネルをビルドする際に、コンパイル時のカーネルオプションを追加 します。引数 optionspecs はコンマで区切られた、オプション指示のリ ストです。各オプション指示は、次の形式を持ちます。

KernelOptionName[=OptionValue]

もし OptionValue が指定されない場合は、 NULL であるとみなします。 全てのアーキテクチャで共通のオプションは、ファイル sys/conf/options で規定されています。アーキテクチャ固有のオプショ ンは、ファイル sys/conf/options.arch⟩ で規定されています。

profile number
number
が非 0 の場合、カーネルプロファイリングが有効になります。 number が 2 以上の場合、カーネルは高精度プロファイリングに設定さ れます。カーネルはまた、 −p オプションを config(8) で使うことで も、プロファイリング用にビルドできます。

廃止されたディレクティブ
以下のカーネル設定ディレクティブは廃止されました。

config
このディレクティブは、ルートファイルシステムとして使われるデバイ スを指定するのに使われていました。 FreeBSD 4.0 以降、この情報は カーネルを起動する際に loader(8) から渡されます。

関連ファイル

       sys/compile/NAME

カーネル設定で作成されたコンパイルディレクトリ。
sys/conf/Makefile.arch
アーキテクチャ arch の為の Makefile の一部。
sys/conf/files
全てのアーキテクチャに共通のデバイス。
sys/conf/files.arch
アーキテクチャ arch の為のデバイス。
sys/conf/options
全てのアーキテクチャに共通のオプション。
sys/conf/options.arch
アーキテクチャ arch の為のオプション。

関連項目

kenv(1), make(1), device.hints(5), loader.conf(5), config(8), kldload(8), loader(8)

       Samuel J. Leffler and                               Michael J. Karels,                                                    Building 4.4BSD Kernelswith Config.

歴史

config(8) ユーティリティが最初に登場したのは 4.1BSD であり、後に 4.4BSD において修正されました。

カーネル設定機構はさらに、 FreeBSD 4.0 と FreeBSD 5.0 において、動的カー ネル設定をサポートするアーキテクチャへと変更されました。

FreeBSD 10.0 May 13, 2004 FreeBSD 10.0

スポンサーリンク