CONFIG(8)

명칭
config - 시스템을 구축하기 위해서 필요한 파일의 작성

서식
config [-gp] [-d destdir] SYSTEM_NAME

해설
이것은 낡은 버젼의 config 유틸리티입니다. 이 프로그램은, 낡은 오토 배치 스킴을 이해합니다. 이 스킴은 HP300, i386, DECstation 나 그 파생 플랫폼으로 사용됩니다. 새로운 버젼의 config (은)는 SPARC 플랫폼에서 사용됩니다. 당신이 사용하고 있는 아키텍쳐에 적합한 버젼의 config 만이 당신의 머신에 인스톨 되고 있겠지요.

config 유틸리티는, 시스템의 구성을 기술한 설정 파일 SYSTEM_NAME 에 의거해 시스템을 구축하기 위해서 필요한 파일을 작성합니다. 다른 파일이, config 에 대해, 시스템 생성에 필요한 파일과 구성 의존 파일 세트에 의해 추가되는 파일을 지시합니다. 구성 의존 파일 세트는, 고유 머신용 대체 파일을 지정합니다 (이후에 나타낸다 관련 파일 (을)를 참조).

옵션과 오퍼랜드 해 이하의 것이 있습니다:

-d destdir
    디폴트의 출력 디렉토리 대신에, destdir 에 출력합니다. config (은)는 주어진 디렉토리에 SYSTEM_NAME (을)를 추가하지 않는 것에 주의해 주세요.

-g  시스템의 디버그를 위한 설정을 합니다.

-p  프로 파일링을 실시하는 시스템을 구축합니다. 프로파일을 실시하는 것은 예를 들면 kgmon(8) (이)나 gprof(1) 등입니다. -p 옵션을 2 도 이상 지정하면(자), config (은)는 보다 상세한 프로 파일링을 실시하는 시스템을 구축합니다.

SYSTEM_NAME
    SYSTEM_NAME (은)는 시스템 설정 파일의 이름이며, 시스템 설정 파일 에는 디바이스의 사양, 구축하는 시스템의 옵션, 그 외의 시스템 파라미터의 기술을 합니다.

config 유틸리티는 시스템 소스의 conf 서브 디렉토리로 기동합니다 (통상 /sys/ARCH/conf) ARCH 에는 FreeBSD 하지만 서포트하고 있는 아키텍쳐의 한 살이 들어갑니다. config 유틸리티는 필요하게보다 ../compile/SYSTEM_NAME 인가, 또는 -d 옵션으로 지정된 디렉토리 (을)를 작성해, 거기에 모든 출력 파일을 둡니다. config 의 출력은 많은 파일입니다; i386 의 경우는 다음과 같은 파일이 됩니다: ioconf.c (은)는 시스템에 접속된 I/O 디바이스의 기술입니다; Makefile 하 make(1) 하지만 시스템 구축에 사용하는 파일입니다; 헤더 파일은 시스템에 짜넣어지는 많은 디바이스에 관한 정의입니다.

config 의 실행 후는, “make depend” (을)를 Makefile 가 작성된 디렉토리에서 실행할 필요가 있습니다. config 유틸리티는 정상 종료하면(자), 이것을 재촉하는 메세지 표시를 실시합니다.

config 하지만, 이것과는 다른 에러 메세지 표시를 실시했을 경우에는, 설정 파일의 기술의 잘못을 수정해, 재차 config (을)를 실행할 필요가 있습니다. 배치로 에러가 된 시스템을 컴파일 하려고 해도, 아마 실패하겠지요.

설정 파일중에 options INCLUDE_CONFIG_FILE (을)를 지정했을 경우, 해파일 전체가 작성되는 커널에 파묻힙니다. 이것은, strings(1) 에 의해 해파일을 커널로부터 꺼낼 수가 있는 것을 의미합니다: 구성 정보를 추출하려면 이하의 명령을 사용해 주세요:

    strings kernel | grep ___

디버그 커널
“디버그” 커널을 컴파일 하는 것은 시스템에 몹시 부하를 걸기 (위해)때문에, 전통적인 BSD 커널은 심볼을 제외해 컴파일 되어 왔습니다. 디버그 커널은 모든 원시 파일의 완전한 심볼을 가지고 있기 (위해)때문에, 경험을 쌓은 커널 프로그래머가 문제의 원인을 해석할 수 있게 됩니다. 4.4BSD Lite 이전부터 있던 디버거는 통상의 커널로부터는 너무 정보를 찾아낼 수 없었습니다; gdb(1) (은)는 통상의 커널로부터는 거의 정보를 얻지 못하고, 의의가 있는 해석을 행하려면 , 디버그 커널이 필요합니다.

역사와 시간, 스페이스의 문제로, FreeBSD (은)는 디폴트에서는 디버그 커널을 구축하지 않습니다. 디버그 커널은 구축에 30% 근처 길게 걸려, 디버그용이 아닌 커널에서는 약 6 MB 로 끝나는 곳(중)을, 구축용 디렉토리에 약 30 MB 의 디스크 용량을 필요로 합니다. 디버그 커널은 디버그용이 아닌 커넬이 약 2MB 인데 대해, 약 11 MB 의 사이즈가 됩니다. 이 스페이스는 루트 파일 시스템과 동작시의 메모리의 양쪽 모두에 효과가 있어 옵니다. 디버그 커널을 만들려면 -g 옵션을 사용합니다. 이 옵션을 이용하면(자), config (은)는 커널 구축 디렉토리에 2 개의 파일을 구축합니다:

•   kernel.debug 하지만 완전한 디버그 커널입니다.

•   kernel (은)는 커널의 디버그 심볼을 삭제한 카피입니다. 이 커널은 통상의 디버그용이 아닌 커넬과 같은 물건입니다.

현재는 디버그 커널을 인스톨 해 부트 하는 의의는 그다지 없습니다. 왜냐하면 심볼을 이용할 수 있는 툴은 온라인에서는 움직이지 않기 때문입니다. 그러므로, 디버그 커널을 인스톨 하려면 2 개의 옵션이 있습니다.

•   “make install” kernel (을)를 루트 파일 시스템에 인스톨 합니다.

•   “make install.debug” kernel.debug (을)를 루트 파일 시스템에 인스톨 합니다.

관련 파일
/sys/conf/files
    시스템 생성에 필요한 공통의 파일의 리스트
/sys/conf/Makefile.ARCH
    ARCH 용무의 일반적인 makefile
/sys/conf/files.ARCH
    ARCH 특유의 파일의 리스트
/sys/ARCH/compile/SYSTEM_NAME
    ARCH 위의 SYSTEM_NAME 시스템 고유의 디폴트 커널 구축 디렉토리

관련 항목
섹션 4 에 있는, 디바이스의 메뉴얼의 서식 의 부분. Building 4.3 BSD UNIX System with Config.

버그
에러 메세지에 대해 보고되는 행 번호는 1행 어긋납니다.

역사
config 유틸리티는 4.1BSD (으)로부터 등장했습니다.