aboutsummaryrefslogblamecommitdiff
path: root/ja_JP.eucJP/man/man8/config.8
blob: 0cffba0b9b9f0e43f61f2b951a986194fcd80cb9 (plain) (tree)































                                                                              
                                                                                 
   
             


                  
   



                                                
   
         
                   



                      
                    


                                                                        


                                         




                                                        
                                                      












                                                                
                                 


                                        


                          

                                    









                                                                          
                                                        

                  
                                                        

                                                  


   
                                
        
                                  


                                  


                                                  
   

                                 



                                                



                                     

                                              

            
          
                                     
                                                                      





                                                              
                                                                    


                                                        
                                      




                                                                          
                

                                 


                                                    

                                                                   
   
                                              
                    
            
                                                                


                                                    

                                                                        

                                                        



                                                        
   


                                  












                                                                     
                

                              
          








                                                                             

                     

                                              

                           

                                              
                
                                                                                 

                                          

                                     
                     


                                  
                                                         


               
                                                

            

            


                                           






                                                       
                

                  
.\" Copyright (c) 1980, 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" 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.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
.\"
.\"     @(#)config.8	8.2 (Berkeley) 4/19/94
.\" %FreeBSD: src/usr.sbin/config/config.8,v 1.40 2003/08/06 21:41:35 simon Exp %
.\"
.\" $FreeBSD$
.\"
.Dd April 19, 1994
.Dt CONFIG 8
.Os
.Sh 名称
.Nm config
.Nd システムを構築するために必要なファイルの作成
.Sh 書式
.Nm
.Op Fl gp
.Op Fl d Ar destdir
.Ar SYSTEM_NAME
.Sh 解説
これは古いバージョンの
.Nm
ユーティリティです。
このプログラムは、古いオートコンフィギュレーションスキームを理解します。
このスキームは HP300, i386, DECstation やその派生プラットフォームにて
使用されます。
新しいバージョンの
.Nm
は SPARC プラットフォームで使用されます。
あなたが使用しているアーキテクチャに適合したバージョンの
.Nm
のみがあなたのマシンにインストールされているでしょう。
.Pp
.Nm
ユーティリティは、システムの構成を記述した設定ファイル
.Ar SYSTEM_NAME
にもとづいてシステムを構築するために必要なファイルを作成します。
別のファイルが、
.Nm
に対し、
システム生成に必要なファイルと、
構成依存ファイルセットにより追加されるファイルとを指示します。
構成依存ファイルセットは、固有マシン用代替ファイルを指定します
(以降に示す
.Sx 関連ファイル
を参照)。
.Pp
オプションとオペランドしては以下のものがあります:
.Bl -tag -width ".Ar SYSTEM_NAME"
.It Fl d Ar destdir
デフォルトの出力ディレクトリの代わりに、
.Ar destdir
に出力します。
.Nm
は与えられたディレクトリに
.Ar SYSTEM_NAME
を追加しないことに注意してください。
.It Fl g
システムのデバッグのための設定をします。
.It Fl p
プロファイリングを行うシステムを構築します。プロファイルを行うものは例えば
.Xr kgmon 8
や
.Xr gprof 1 などです。
.Fl p
オプションを 2 度以上指定すると、
.Nm
はより詳細なプロファイリングを行うシステムを構築します。
.It Ar SYSTEM_NAME
.Ar SYSTEM_NAME
はシステム設定ファイルの名前であり、システム設定ファイル
にはデバイスの仕様、構築するシステムのオプション、
その他のシステムパラメータの記述をします。
.El
.Pp
.Nm
ユーティリティはシステムソースの
.Pa conf
サブディレクトリで起動します (通常
.Pa /sys/ Ns Va ARCH Ns Pa /conf )
。ただし
.Va ARCH
には
.Fx
がサポートしているアーキテクチャの一つが入ります。
.Nm
ユーティリティは必要により
.Pa ../compile/ Ns Ar SYSTEM_NAME
か、または
.Fl d
オプションで指定されたディレクトリ
を作成し、そこにすべての出力ファイルを置きます。
.Nm
の出力は多くのファイルです;
.Tn i386
の場合は次のようなファイルになります:
.Pa ioconf.c
はシステムに接続された I/O デバイスの記述です;
.Pa Makefile
は
.Xr make 1
がシステム構築に使用するファイルです;
ヘッダファイルはシステムに組み込まれる多くのデバイスに関する定義です。
.Pp
.Nm
の実行後は、
.Dq Li make depend
を Makefile が作成されたディレクトリで実行する必要があります。
.Nm
ユーティリティは正常終了すると、これを促すメッセージ表示を行います。
.Pp
.Nm
が、これとは異なるエラーメッセージ表示を行った場合には、
設定ファイルの記述の誤りを修正し、再度
.Nm
を実行する必要があります。
コンフィギュレーションでエラーとなったシステムをコンパイルしようとしても、
おそらく失敗するでしょう。
.Pp
設定ファイル中に
.Cd "options INCLUDE_CONFIG_FILE"
を指定した場合、
該ファイル全体が作成されるカーネルに埋め込まれます。
これは、
.Xr strings 1
によって該ファイルをカーネルから引き出す事が出来ることを意味します:
構成情報を抽出するには以下のコマンドを使用してください:
.Pp
.Dl "strings -n 3 kernel | sed -n 's/^___//p'"
.Sh デバッグカーネル
.Dq デバッグ
カーネルをコンパイルすることはシステムにひどく負荷を掛けるため、
伝統的な
.Bx
カーネルはシンボルを除いてコンパイルされてきました。
デバッグカーネルは全てのソースファイルの完全なシンボルを持っているため、
経験を積んだカーネルプログラマが問題の原因を解析できるようになります。
.Bx 4.4 Lite
以前からあったデバッガは通常のカーネルからはあまり情報を
見つけられませんでした;
.Xr gdb 1
は通常のカーネルからはほとんど情報を得ることはできず、
意義のある解析を行なうには、デバッグカーネルが必要です。
.Pp
歴史と時間、スペースの問題で、
.Fx
はデフォルトではデバッグカーネルを
構築しません。デバッグカーネルは構築に 30% 近く長く掛かり、
デバッグ用でないカーネルでは約 6 MB で済むところを、
構築用ディレクトリに約 30 MB のディスク容量を必要とします。
デバッグカーネルはデバッグ用でないカーネルが約 2MB であるのに対して、
約 11 MB のサイズになります。このスペースはルートファイルシステムと
動作時のメモリの両方に効いてきます。
デバッグカーネルを作るには
.Fl g
オプションを使います。このオプションを用いると、
.Nm
はカーネル構築ディレクトリに 2 つのファイルを構築します:
.Bl -bullet
.It
.Pa kernel.debug
が完全なデバッグカーネルです。
.It
.Pa kernel
はカーネルのデバッグシンボルを削除したコピーです。
このカーネルは通常のデバッグ用でないカーネルと同じ物です。
.El
.Pp
現在はデバッグカーネルをインストールしてブートする意義はあまりありません。
なぜならシンボルを利用できるツールはオンラインでは動かないためです。
それゆえ、デバッグカーネルをインストールするには 2 つのオプションがあります。
.Bl -bullet
.It
.Dq Li "make install"
.Pa kernel
をルートファイルシステムにインストールします。
.It
.Dq Li "make install.debug"
.Pa kernel.debug
をルートファイルシステムにインストールします。
.El
.Sh 関連ファイル
.Bl -tag -width ".Pa /sys/ Ns Va ARCH Ns Pa /compile/ Ns Ar SYSTEM_NAME" -compact
.It Pa /sys/conf/files
システム生成に必要な共通のファイルのリスト
.It Pa /sys/conf/Makefile. Ns Va ARCH
.Va ARCH
用の一般的な makefile
.It Pa /sys/conf/files. Ns Va ARCH
.Va ARCH
特有のファイルのリスト
.It Pa /sys/ Ns Va ARCH Ns Pa /compile/ Ns Ar SYSTEM_NAME
.Va ARCH
上の
.Ar SYSTEM_NAME
システム固有のデフォルトカーネル構築ディレクトリ
.El
.Sh 関連項目
.Xr config 5
.Pp
セクション 4 にある、デバイスのマニュアルの
.Sx 書式
の部分。
.Rs
.%T "Building 4.3 BSD UNIX System with Config"
.Re
.Sh バグ
エラーメッセージにおいて報告される行番号は1行ずれます。
.Sh 歴史
.Nm
ユーティリティは
.Bx 4.1
から登場しました。