강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

리눅스 커널컴파일(Linux kernel compile) 옵션(option) 설정 작업(make menuconfig)-미완성

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

제목:리눅스커널컴파일(Linux kernel compile)옵션(option) 설정작업(make menuconfig) 

 

요즘엔 리눅스 서버관리자들이 대부분 yum 으로 커널 업데이트를 한다. 

하지만 불가피한 상황에는 직접 커널을 컴파일해야하는 상황이 발생할 수도 있다. 

이번 강의에서는 yum 대신 커널을 직접 컴파일하는 방법에 대해서 정리해 보았다. 

서버관리하시는데 좋은 참고가 될 것이다. 
특히, 커널 개발관련 일을 하는 분들에게 도움이 될 것이라 확신한다. 



여기서 설명하는 커널컴파일들의 옵션들은 tree구조의 각 메뉴구성을 고려하지 않고 기능별로 설명하고 있다. , "make menuconfig" 를 실행하였을 때에 선택할 수 있는 수많은 커널옵션들의 선택사항들을 기능별로 나열하여 특정 선택사항이 kernel에게 어떤 기능을 부여하는 것인가를 알려드리기 위함이다. 모든 기능이 필요한 것은 아니므로 꼭 필요한 기능만을 선택하여 kernel파일의 크기를 줄이는 것이 시스템 성능에 크게 기여한다.

설정화면의 초기화면(Main Menu)


"make menuconfig"를 수행하게 되면 다음과 같은 화면이 나옵니다. 여기서 부터는 사용하시는 리눅스서버의 하드웨어 사양에 맞는 선택을 하셔야한다. 참고로 여기서 설명되는 내용들은 각 항목들에서 "?"를 입력 했을때 볼 수 있는 설명문들에서 많은 참조를 하였음을 알려드립니다. 각 항목들에 대해서 선택을 하기 전에 "?"를 통해 설명문을 읽어보시는 것이 바람직 할 것 같다. 물론, 좀 번거로움은 있겠으나 커널 컴파일을 처음하시는 분이나 정확한 선택을 하려고 하시는 분에게는 많은 도움이 된다.


b2fb97cf4da9f36e260d872f9bab1062_1647246770_9447.png
 


이 화면은 "make menuconfig"시의 초기화면으로써 각 항목들에 대해서 차례대로 이동하면서 설정을 해주시면 된다. 각각의 항목에 대해서 차례대로 선택을 모두 한 다음 마지막으로 저장(Save)를 하고 빠져나가시면 된다.

 

Code Maturity Level Options
 

코드성숙도에 대한 선택 사항이다.  이 옵션을 선택하면 현재 테스트중이거나 불안한 기능들에 대한 선택을 할 수 없게 된다.  , 안정된 기능만을 선택할 수 있다.  만약 여러분들이 커널개발에 관심있으시다면 이 옵션을 선택하여 개발버전에서 사용중인 코드들과 드라이브들을 사용할 수 있다.  하지만 일반적으로는 선택하지 않으시는 것이 서버의 안정성 측면에서 좋다고 판단된다. 선택을 하게되면 에러발생확률이 높아지게 되므로 가능한 상업적인 용도로 사용하실 서버라면 이 옵션을 선택하지 않는 것이 좋습니다. 또한 이 옵션선택 후 컴파일과정에서 에러가 발생하게되면 이 옵션의 선택을 해제하고 다시 한번 해보기 바란다. 가능한 초보자이거나 안정된 커널을 원하거나 상용의 서버를 구축하는 경우라면 이 옵션을 선택하지 않는 것을 적극적으로 권한다.


b2fb97cf4da9f36e260d872f9bab1062_1647246821_25.png
 


General Setup
 

커널의 일반적이고 보편적인 기능들에 대한 설정을 할 수 있다. 즉 커널의 전반적인 곳에 영향을 미치는 셋업 항목들이다.


b2fb97cf4da9f36e260d872f9bab1062_1647246839_5044.png
 


Support for paging of anonymous memory
 

흔히 말하는 스왑기능으로서 페이징(paging)을 지원할 것인가를 선택하는 것이며 대부분의 시스템에는 필요한 것으로서 가능한 선택해 주시는 것이 좋습니다.



System V IPC
 

시스템 공유메모리(Shared Memory)를 지원하는 IPC기능을 지원하기 위한 기능이다. 가능한 선택하시는 것이 좋습니다. 선택하게 되면 프로세스동기화에 필요한 라이브러리함수들을 설치하게 된다. 이 기능을 선택하여 커널을 컴파일하게 되면 도스용프로그램을 사용할 수 있게 된다. 대부분의 경우에는 반드시 필요하므로 선택하도록 하십시오.



BSD Process Accounting
 

프로세스의 정보를 파일에 저장하는 기능으로서 가능한 선택하시는 것이 좋습니다.



Sysctl support
 

부팅후에도 커널의 내부 옵션값들을 변경할 수 있는 기능으로서 sysctl이라는 명령어를 사용하여 변경할 수 있다.  sysctl명령어로 커널의 옵션값을 변경하면 /proc파일시스템내의 해당 파일내부의 커널 옵션설정값이 바뀌게 된다.



Kernel .config support
 

커널컴파일을 할 때에 사용되는 설정을 /proc/config.gz파일에서 읽어 올 수 있도록 한다.



Remove kernel features (for embedded system)
 

소형기기에서 불필요한 옵션들을 제거하거나 또는 모듈(module)로 만들 수 있다.


b2fb97cf4da9f36e260d872f9bab1062_1647246863_74.png
 



Loadable Module Support
 


리눅스 커널의 모듈기능에 대한 선택 사항들이다. 여러분들도 잘 아시겠지만 커널 모듈이란 커널자체에는 포함되지 않는 파일의 형태로 존재하는 것으로 커널자체에서 지원하지 않거나 없는 기능들을 모듈파일을 적재하여 사용하는 것으로서 커널의 크기를 작게할 수 있도록 하지만 필요한 기능은 지원하기 위한 것이다.


b2fb97cf4da9f36e260d872f9bab1062_1647246881_7058.png



Enable loadable module support
 


이 기능을 선택하면 동적인 모듈기능을 사용할 수 있도록 지원하게 되며 사용중이지 않는 모듈들은 메모리에서 추방(?)하고 당장 필요한 모듈들만 메모리에 로드(load)하여 사용할 수 있도록 하는 동적인 모듈사용을 지원하는 선택 사항이다.  하드웨어 자원의 효율적인 사용을 위해서 반드시 선택할 것을 강력히 권장한다.



Module unloading
 

커널에서 사용중인 모듈을 제거할 수 있는 옵션이다. 하지만 현재 커널에서 사용중인 모듈들에 대한 모듈은 제거될 수 없다.



Forced module unloading
 

현재 커널에서 사용중인 모듈이라 하더라도 강제 모듈제거를 가능하게 하는 기능이다.  시스템 안정성을 위하여 가능한 선택하지 않는 것이 좋습니다.



Module versioning support (EXPERIMENTAL) (NEW)
 

커널의 기능이름에 부가 정보를 추가할 수 있는 기능이다. 아직까지는 실험적인 기능으로서 가능한 선택하지 마시기 바란다.



Automatic kernel module loading
 

운용중인 커널에게 필요한 모듈이 요구되었을 경우에 커널이 알아서 자동으로 원하는 모듈을 적재할 수 있는 기능으로서 /proc/sys/kernel/modprobe에 등록되어 있는 프로그램을 이용한다. 모듈이 필요할 때에 메모리로 적재하고 불필요할 경우에 제거하는 작업을 지원하는 옵션이다. 이 옵션은  선택할 것을 권한다.



Processor type and features
 

현재 시스템에서 장착된프로세서(Processor, CPU)의 종류(type)를 선택하는 옵션이다.  가능한 정확한 CPU타입을 설정해 주시는 것이 시스템의 성능을 높이는 길이다.  만약 어떤 CPU type을 선택해야할지 정확히 알지 못한다면 "386"type을 선택해 주시면 된다. 하지만 현재 서버에 장착되어 있는 CPU type을 정확히 파악한 후에 이를 선택해 주는 것이 가장 바람직한다.


b2fb97cf4da9f36e260d872f9bab1062_1647246906_4007.png
 


Subarchitecture Type (PC-compatible)
 

장착된 CPU가 사용하게될 시스템에 대한 설정항목이다.  PC-compatible, Voyager (NCR), NUMAQ (IBM/Sequent),  SGI 320/540 (Visual Workstation)가운데 하나를 선택할 수 있으며 대부분의 경우에는 PC-compatible을 선택하여 PC와 호환되도록 설정하면 된다.



Processor family (Pentium-Pro)
 

현재 여러분의 시스템에 장착된 프로세서(processor, CPU)를 선택하기 바란다.  현재 시중에서 유통되는 거의 대부분의 CPU타입들이 있으므로 가능한 정확하게 설정하기 바란다.

 
b2fb97cf4da9f36e260d872f9bab1062_1647246923_1347.png

 

현재까지 선택가능한 CUP의 종류로는 다음과 같은 것들이 있다.

 

386
486
586/K5/5x86/6x86/6x86MX
Pentium-Classic
Pentium_MMX
Pentium-Pro,   Pentium-II/Celeron(pre-Coppermine)
Pentium-III/Celeron(Coppermine)/Pentium III Xeon
Pentium-4/Celeron(P4-based)/Xeon
K6/K6-II/K6-III
Athlon/Duron/K7
Opteron/Athlon64/Hammer/K8
Elan
Crusoe
Winchip-C6
Winchip-2
Winchip-2A/Winchip-3
CyrixIII/VIA-C3
VIA C3-2 (Nehemiah)



Generic x86 support
 

가장 보편적이고 일반적인 x86 CPU 타입을 지원하는 옵션이다.



HPET Timer Support
 

HPET타이머를 지원하는 기능이다. , 기존의 8254 타이머 대신 제목에서 보신바와 같이 HPET타이머를 사용하도록 하는 기능이다.



Symmetric multi-processing support
 

"Symmetric multi-processing support"는 흔히 커널의 SMP라고 하는 기능으로서 1996년도에 리눅스 커널버전이 1.3에서 2.0으로 버전업된 가장 궁극적인 이유가 되었던 기능이다.  이 기능은 여러개의 CPU가 병렬처리될 수 있도록 지원하는 "대칭형 다중프로세서"의 기능이라고 할 수 있다. 싱글CPU를 사용하는 서버라도 이 기능을 선택해 두시기 바란다. 그리고 Dual CPU이상의 서버사용자라면 반드시 선택을 하셔야한다.



Preemptible Kernel
 

응용프로그램들의 반응속도를 높일 수 있는 기능으로써 Preemptible 스케줄러를 사용할 수 있는 옵션이다.  서버의 안정성을 위하여 필요한 경우가 아니면 선택하지 않는 것이 좋습니다.



Machine Check Exception
 

시스템 운용중 이상증상이 발생하였을 경우에 알려주는 기능이다.  그리고 “Check for non-fatal errors on AMD Athlon/Duron/Intel Pentium”기능은 AMD Athlon/Duron/Intel Pentium에서 심각하지않는 에러까지도 알려주도록 하는 기능이다.

 

Toshiba Laptop support
 


도시바 노트북을 지원하기 위한 기능이다.


Dell laptop support
 


델사의 노트북을 지원하기 위한 기능이다.



Intel IA32 CPU microcode support
 

인텔(INTEL) CPU에 대하여 /dev/cpu/*/microcode에 마이크로코드를 업데이트할 수 있다. microcode 장치파일의 예를 들면 다음과 같다.

 

/dev/cpu/0/microcode
/dev/cpu/1/microcode
/dev/cpu/2/microcode
/dev/cpu/3/microcode
/dev/cpu/4/microcode
/dev/cpu/5/microcode
/dev/cpu/6/microcode
/dev/cpu/7/microcode
/dev/cpu/8/microcode
/dev/cpu/9/microcode
/dev/cpu/10/microcode
/dev/cpu/11/microcode
/dev/cpu/12/microcode
/dev/cpu/13/microcode
/dev/cpu/14/microcode
/dev/cpu/15/microcode



Model-specific register support
 

Model-specific register에 접근가능한 장치파일을 /dev/cpu/*/msr에 만든다.  msr파일의 예를 들면 다음과 같다.

 

/dev/cpu/0/msr
/dev/cpu/1/msr
/dev/cpu/2/msr
/dev/cpu/3/msr
/dev/cpu/4/msr
/dev/cpu/5/msr
/dev/cpu/6/msr
/dev/cpu/7/msr
/dev/cpu/8/msr
/dev/cpu/9/msr
/dev/cpu/10/msr
/dev/cpu/11/msr
/dev/cpu/12/msr
/dev/cpu/13/msr
/dev/cpu/14/msr
/dev/cpu/15/msr



CPU information support
 

CPU에 대한 cpuid 장치파일을 만들 수 있다. cpuid장치파일은 /dev/cpu/*/cpuid에 존재하게 되며 예를 들면 다음과 같다.

 

/dev/cpu/0/cpuid
/dev/cpu/1/cpuid
/dev/cpu/2/cpuid
/dev/cpu/3/cpuid
/dev/cpu/4/cpuid
/dev/cpu/5/cpuid
/dev/cpu/6/cpuid
/dev/cpu/7/cpuid
/dev/cpu/8/cpuid
/dev/cpu/9/cpuid
/dev/cpu/10/cpuid
/dev/cpu/11/cpuid
/dev/cpu/12/cpuid
/dev/cpu/13/cpuid
/dev/cpu/14/cpuid
/dev/cpu/15/cpuid



High Memory Support (4GB)
 

글자 그대로 High Memory기능을 지원하는 것으로서 현재 시스템에 장착된 RAM크기가 1GB이상 64GB 이하라면 이 옵션을 사용하는 것이 좋습니다. 만약 이 기능을 사용하지 않으시려면 off를 선택하고 4GB또는 64GB중 하나를 선택하면 된다.

 
b2fb97cf4da9f36e260d872f9bab1062_1647246946_445.png


 


Math emulation
 

"Math emulation" 386, 486시절에 있었던 수치연산보조 프로세스(co-processor)가 없는 경우에 이 기능을 에뮬레이터 해주는 기능이다. 하지만 요즘 대부분의 PC 및 서버에서는 co-processor가 장착되어 있으므로 굳이 선택하실 필요가 없을 것이다.



MTRR (Memory Type Range Register) support
 

"MTRR(Memory Type Range Register) support"는 흔히 MTRR기능이라고도 하는 것으로 비디오카드에서 대량의 데이터를 전송할 때에 빠른 이미지처리를 위한 선택사항이다. 가능한 선택할 것을 권한다.



Power Management options (ACPI, APM)
 

다음은 리눅스서버의 파워관리를 위한 기능이다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647246965_2277.png
 


Power Management support
 

 리눅스 시스템의 전원관리에 대한 옵션이다.



Software Suspend (EXPERIMENTAL) (NEW)
 

SUSPEND기능을 소프트웨어적으로 가능하도록 하는 기능으로써 아직 실험적인 기능이므로 가능한 선택하지 않는 것이 좋습니다.



Suspend-to-Disk Support
 

시스템에 SUSPEND기능을 가능하게 하는 설정이다. , SUSPEND기능이란 현재 운용중인 시스템의 메모리에 있는 데이터들, 즉 모든 설정과 운용상황을 디스크에 저장한 후에 시스템을 일시정지하였다가 이전 상태로 되돌리기 위한 기능이다. 이것을 가능하게 하는 설정옵션이다.



ACPI (Advanced Configuration and Power Interface) Support
 

ACPI란 전원관리 인터페이스와 설정에 대한 표준안을 의미한다. 리눅스에서 ACPI 기능을 지원하는 옵션이다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647246983_0669.png
 


APM (Advanced Power Management) BIOS Support
 

APM BIOS ROM-BIOS에서 전원관리(Power Management)를 하기 위한 표준안이다. 커널에서 APM BIOS기능을 지원하기 위해 설정하는 옵션이다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647246999_3746.png
 


CPU Frequency scaling
 

Clock Frequency scaling이란 CPU의 클럭(clock)속도를 변경할 수 있도록 허용하는 기능이다. 특히 노트북등과 같은 밧데리전력을 절약하기 위한 매우 좋은 방법이다. 즉 클럭수를 낮추게 되면 CPU의 전력소비량도 줄어들기 때문이다.


 b2fb97cf4da9f36e260d872f9bab1062_1647247016_8391.png



Bus Options (PCI, PCMCIA, EISA, MCA, ISA)
리눅스시스템에서 사용되고 있는 PCI, PCMCIA, EISA, MCA, ISA등과 같은 버스 지원에 대한 설정옵션이다.


 b2fb97cf4da9f36e260d872f9bab1062_1647247034_4659.png 



PCI Support
 

PCI장치를 지원하기 위해 선택하는 옵션으로서 현재 거의 대부분의 시스템에서는 PCI를 지원하는 메인보드를 사용하고 있으므로 반드시 선택하시는 것이 좋습니다. , PCI란 시스템 버스구조(BUS architecture)의 일종으로서 다른 버스구조로는 ISA, EISA, Microchannel(MCA), VESA등이 있다.



PCI access mode (Any)
 

PCI 엑세스방식을 선택하는 것으로서 PCI구조를 가진 시스템이라면 BIOS, Direct, Any중 하나를 알맞게 선택하시는 것이 좋습니다.


 b2fb97cf4da9f36e260d872f9bab1062_1647247053_1163.png



Legacy /proc/pci interface
 

PROC파일시스템의 /proc/pci 파일을 보면 현재 시스템의 pci장치에 대한 정보가 저장되어 있다. 이 기능을 선택하면 /proc/pci 인터페이스를 지원하는 기능이다.  이 기능은 차후 버전에서는 제거될 기능이다.



PCI device name database
 

기본적으로 리눅스 커널은 PCI장치에 대한 정보를 PROC파일시스템내의 /proc/pci, /proc/ioports등과 같은 파일에서 숫자로 지원하고 있다. 만약 이 기능을 선택한다면 이들 파일에서 PCI장치명(이름)으로 보여주도록 한다.



ISA support
 

PCI와 마찬가지로 ISA는 시스템의 버스구조의 한 종류이다. 이 기능을 선택하면 시스템의 메인보드에서 ISA Slot을 가지고 있는가를 검색하게 된다. 만약 여러분의 시스템 메인보드에 ISA Slot을 가지고 있다면 선택하고 그렇지 않다면 선택하지 않는다.



MCA support
 

MCA PCI ISA등과 같은 버스시스템의 한 종류로서 IBM PS/2 시스템과 랩탑(laptop) 컴퓨터등에서 확인할 수 있는 Microchannel 버스구조이다. 이 기능을 지원하려면 선택하기 바란다. , IBM기종의 PS/2에서 필요한 선택이다. 대부분의 경우에는 필요하지 않으므로 선택하지 않는것이 바람직한다.



NatSemi SCx200 support
 

National Semiconductor사의 SCx200프로세서에 대한 지원기능이다.



Support for hot-pluggable devices
 

HOT PLUG란 시스템 운용중인 상태에서 특정 주변장치를 떼어낼 수 있는 기능을 의미한다. 만약 이 기능을 선택하게 되면 /proc/sys/kernel/hotplug파일에 HOT PLUG를 지원할 프로그램(Hot Plug Agent)을 절대경로형식으로 등록한 후에 특정 장치의 HOT PLUG기능을 지원하기 위해 사용된다.  아래는 HOT PLUG에 관련된 프로그램과 파일들이다. , 컴퓨터를 사용중에 필요한 장치들을 뽑아서 교체하는 등의 작업을 지원하기 위한 옵션이다. 대부분의 경우에는 크게 필요하지는 않지만 안정성 측면에서는 권할만하므로 선택해 두시는 것도 좋을 듯한다.



/proc/sys/kernel/hotplug
설명드린바와 같이 HOT PLUG 프로그램(agent)을 절대경로로 저장하고 있는 파일이다.
/sbin/hotplug
HOT PLUG
프로그램이다.
/etc/hotplug/*
HOT PLUG
파일들이 있는 디렉토리이다.
/etc/hotplug/NAME.agent
HOT PLUG
를 지원하는 Agent프로그램의 파일이름들이다.
/etc/hotplug/NAME*
HOT PLUG
를 지원하는 Agent를 위한 파일이다.
/etc/hotplug/NAME/*
Agent에 의해서 invoked되는 드라이브 설정 스크립트파일이다.


 


PCMCIA/CardBus support


노트북에서 사용되는 PCMCIA/CardBus장치를 지원하기 위한 옵션들이다.

b2fb97cf4da9f36e260d872f9bab1062_1647247078_3379.png
 


PCI Hotplug Support
 

시스템의 메인보드에 Hotplug 컨트롤러가 있다면 선택하기 바란다.  이 기능을 선택하면 시스템 운용중에 PCI카드를 제거하거나 추가할 수 있도록 해준다. 그리고 이 기능을 사용하려면 어떤 PCI Hotplug컨트롤러와 상호작용하기 위하여 pcihpfs파일시스템이 반드시 마운트되어 있어야한다.


 b2fb97cf4da9f36e260d872f9bab1062_1647247094_6897.png 



Excutable File Formats


 

실행가능한 파일포맷을 지원하기위한 메뉴이다.

b2fb97cf4da9f36e260d872f9bab1062_1647247110_8036.png
 


Kernel support for ELF binaries
 

ELF 포맷의 실행파일을 실행할 수 있도록 지원하는 옵션이다. 위의 a.out보다는 더 발전된 ELF(Executable and Linkable Format)형식의 바이너리파일을 사용할 수 있게 하는 기능이다. ELF는 리눅스에서 사용하는 표준 바이너리 포맷이므로 반드시 선택하도록 하십시요.



Kernel support for a.out and ECOFF binaries
 

ECOFF 포맷의 실행파일을 실행할 수 있도록 지원하는 옵션이다. a.out Assembler output의 약어로 생각하면 된다. 말 그대로 커널이 이런 형식의 실행파일(바이너리파일)을 지원하게 하는 기능이다. 현재는 거의 사용하지 않는 형식이지만 호환성을 위해서는 선택할 필요도 있다고 봅니다.



Kernel support for MISC binaries
 

기타 여러가지 포맷의 실행파일을 실행할 수 있도록 지원하는 옵션이다.



Device Drivers
 

시스템의 각 장치 드라이브에 대한 옵션이다.


b2fb97cf4da9f36e260d872f9bab1062_1647247126_7069.png
 


Gerneric Driver Options
“Hotplug firmware loading support” Hotplug 펌웨어의 로딩을 지원하기 위한 옵션이다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647247142_915.png
 


Memory Technology Devices (MTD)
메모리에 관련된 여러가지 기능들을 지원하기 위한 메뉴이다.


Parallel port support


병렬포트(Parallel port)를 지원하는 옵션으로서 ZIP 드라이브, PLIP링크등과 같은 병렬포트를 자신의 시스템에 연결되어 있다면 선택하여 사용하는 옵션이다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647247159_6087.png
 


Plug and Play support


잘 아시는 PNP기능 지원에 대한 옵션이다. 반드시 선택을 하시는 것이 바람직 한다.
, "ISA Plug and Play support" ISA보드에서 PNP기능을 지원하기 위한 설정이다.
신품으로 출시되는 대부분의 경우에는 이 기능은 필요치 않으나 구기종의 ISA장치를 사용할 경우에는 선택을 하도록 하십시요. 개인적으로 필자는 이 기능을 선택하는 것을 권하고 싶습니다. 물론 커널크기가 조금 더 커지는 단점은 있으나 호환이나 확장성을 고려한다면 권할만 한 옵션이다.


b2fb97cf4da9f36e260d872f9bab1062_1647247176_371.png
 


PnP Debug Messages
 

PnP 디버그 메시지를 출력하기 위하여 선택하는 옵션이다.  PnP드라이브나 문제점해결을 위한 개발자라면 매우 유용한 옵션이다.



ISA Plug and Play support (EXPERIMENTAL)
 

ISA PnP장비를 지원하기 위한 옵션으로서 현재 실험적인 기능이다.  ISA PnP드라이브들을 지원하기를 원할 경우에만 선택하기 바란다.



Plug and Play BIOS support (EXPERIMENTAL)
 

PNPBIOS를 지원하기위한 기능으로서 현재 실험적인 기능이다.  병렬포트자원등과 같은 메인보드에 내장되어 있는 시스템 자원을 자동검출하기 위한 PnP BIOS 스팩버전 1.0A에 정의되어 있는 PNPBIOS를 사용하기 위한 옵션이다.



Block devices
 

대부분의 디스크(하드디스크, 플로피디스크, CD-ROM)는 블럭단위(Block)로 입출력을 한다. 이런 장치를 블럭장치(Block device)라고 한다. 이 항목은 이런 Block device들에 대한 설정을 하는 옵션이다.


b2fb97cf4da9f36e260d872f9bab1062_1647247195_8933.png
 


Normal floppy disk support
 

"Normal PC floppy disk support"은 일반적으로 사용하는 표준의 플로피장치를 사용하는 경우라면 선택을 하십시요. 대부분의 경우에는 복구나 부팅등을 위해서 플로피디스크가 꼭 필요하므로 선택을 하시는 것이 바람직한다.



XT hard disk support
 

"XT hard disk support" 8088시절의 XT컴퓨터에 사용중인 Block device를 지원하는 설정이다. 구형의 XT(8088) AT(80286)형의 컴퓨터를 사용하는 경우가 아니라면 대부분의 경우에는 불필요하므로 선택하지 않는 것이 바람직한다.



Parallel port IDE device support
 

시스템에 병렬포트로 연결된 외장형 디스크장치와 CD-ROM등이 많이 있다. 이들 대부분은 병렬포트 IDE 아답터를 사용하는 IDE장치를 실질적으로 사용하고 있다.  이런 병렬포트 IDE장치를 지원하기 위한 옵션이다.



Compaq SMART2 support
 

"Compaq SMART2 support"은 잘 알려진 컴팩(Compaq)사의 서버에 장착된 SMART ARRAY Controller를 지원하는 옵션이다. 만약 여러분이 사용하시는 서버가 컴팩제품의 서버이거나 컴팩사의 메인보드를 사용하는 경우라면 반드시 선택을 하십시요.



Compaq Smart Array 5xxx support
 

컴팩 Smart Array 컨트롤러를 위한 드라이브이다.  따라서 이 컨트롤러를 사용하는 컴팩제품사용자라면 반드시 선택해야한다.



SCSI tape drive support for Smart Array 5xxx
 

컴팩 Smart Arry 5xxx를 위한 SCSI 테잎드라이브지원을 위한 선택항목이다.



Mylex DAC960/DAC1100 PCI RAID Controller support
 

Mylex DAC960또는 DAC1100 PCI RAID 컨트롤러를 지원하기 위한 옵션이다, Mylex DAC960, AcceleRAID그리고 eXtremeRAID PCI RAID 컨트롤러를 지원을 위한 드라이브이다. 



Micro Memory MM5415 Battery Backed RAM support (EXPERIMENTAL)
 

이 옵션을 선택하면Micro Memory MM5415를 위한 지원기능이 포함되게 된다.


Loopback device support
 

일반적인 장치를 Loopback과 같은 블록장치처럼 사용하는 지원을 위한 선택항목이다. 대부분의 사용자들은 N로 선택하기 바란다.



Network block device support
 

"Network block device support"는 네트웍으로 연결된 서버들 간에 블럭디바이스처럼 파일을 공유하기 위해 사용하는 기능이다. 즉 네트워크 블록장치를 지원하기 위한 옵션이다. 꼭 필요한 경우가 아니라면 선택하지 않는 것이 바람직한다.



RAM disk support
 

"RAM disk support"는 메모리(RAM)의 일정부분을 디스크와 같은 Block Device로 사용할 수 있게하는 옵션이다.  , RAM을 블록장치처럼 사용하기 위해 사용하는 옵션이다. 꼭 필요한 경우가 아니라면 선택하지 않는 것이 바람직 할 것이다.



(4096) Default RAM disk size


RAM디스크 크기를 지정하기 위한 옵션이다. 기본값은 4096이다. 이 값을 변경하려면 정확한 이해를 필요로 한다. 만약 IBM S/390을 사용한다면 이 값을 8192로 설정하기 바란다.


 

Initial RAM disk (initrd) support


Initial RAM disk란 리눅스 부트로더(boot loader)에 의해서 로드되어지는 RAM disk를 의미한다. 이를 지원하기 위한 옵션이다.


 

Support for Large Block Devices


대용량 블록장치를 지원하기 위한 옵션이다. 여러분들의 시스템에 2TB이상의 대용량 블록장치를 지원하려면 선택을 하기 바란다.


 

ATA/ATAPI/MFM/RLL support


이 항목은 제목에서 보시는 것 처럼 "ATA IDE MFM RLL"등의 장치를 지원하는 설정옵션이다.  만약 커널이 저비용의 ATA/(E)IDE ATAPI와 같은 장치의 관리를 지원하도록 하려면 선택을 하기 바란다. 하지만 여러분들의 시스템이 SCSI 장치만 사용된다면 선택하지 마십시요. ,  "ATA/IDE/MFM/RLL support"는 제목처럼 ATA IDE, MFM RLL등의 장치를 사용할 경우에 이를 지원하기 위한 옵션이다. 대부분의 서버에서 디스크는 SCSI장치를 사용하지만 일반적인 장비는 IDE MFM등을 사용하는 경우가 있으므로 필요할 경우에는  선택을 하셔야한다. 만약 사용하시는 서버의 모든 장치들이 SCSI만으로 된 고가의 서버라면 이 설정옵션은 필요하지 않는다.


b2fb97cf4da9f36e260d872f9bab1062_1647247218_5638.png
 


Old hard disk (MFM/RLL/IDE) driver


앞에서 Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support를 선택하셨다면 이 옵션의 선택은 하실 수 없다. , 대부분의 시스템에서는 구형의 MFM/RLL/IDE보다 더 새로운 장치를 사용하겠지만 만약 MFM/RLL/IDE 하드디스크를 사용하는 시스템이라면 선택을 하기 바란다.


 

SCSI device support


타이틀에서 보시는 것 처럼 SCSI장비지원에 대한 설정옵션들 이다. , 여러분들의 시스템에 SCSI하드디스크나 SCSI 테잎드라이브, SCSI CD-ROM 또는 다른 SCSI장치를 사용하고 있다면 반드시 선택하기 바란다. 그리고 시스템 내부의 SCSI 호스트아답터(host adapter)의 이름을 확인하신 후에 각 장치에 맞는 세부 선택을 해주시기 바란다.  만약 여러분들의 리눅스 시스템이 서버용으로 사용하는 컴퓨터라면 당장 필요하지 않더라도 선택을 해두시는 것이 좋을 것 같다.

 b2fb97cf4da9f36e260d872f9bab1062_1647247235_2311.png



legacy /proc/scsi/ support


이 옵션은 /proc/scsi에 있는 다양한 파일들을 지원하기 위한 옵션이다. 커널 2.6이상에서는 sysfs에서 이들 파일에 대한 지원을 하므로 불필요하지만 아직 많은 어플리케이션에서는 이 옵션에 의존하고 있다.  따라서 정확한 선택을 하기 어렵다면 선택을 해두도록 하십시요.

 


SCSI disk support


SCSI하드디스크를 가진 시스템이라면 반드시 선택해 주시기 바란다. , SCSI하드디스크를 가진 시스템이거나 USB 또는 SCSI, 병렬포트로 연결된 IOMEGA ZIP 드라이브를 가진 시스템이라면 선택을 하기 바란다.

 

SCSI type support


SCSI 테잎드라이브를 가진 시스템은 선택하기 바란다.

 

SCSI OnStream SC-x0 type support


SCSI OnStream SC-x0 타잎의 드라이브를 지원하기 위한 선택옵션이다.

 

SCSI CDROM support


SCSI CD-ROM 드라이브를 사용하기 위해서 선택하는 옵션이다. , SCSI CD-ROM 또는 FireWire사의 CD-ROM을 사용하려면 반드시 선택하셔야한다.

 

Enable vendor-specific extensions (for SCSI CDROM)


이 옵션은 제조사에서 지원하는 SCSI 명령어들을 사용하기 위한 옵션이다. , NEC또는 TOSHIBA사의 CD-ROM드라이브 또는 HP사의 HP Writer를 가진 멀티세션 (multisession) CD를 지원하기 위한 옵션선택을 하셔야한다.

 

SCSI generic support


"SCSI generic support" CD Writer, Synthesizer, Scanner가 달려있다면 반드시 선택을 하십시요. 리눅스를 서버로 사용하는 대부분의 경우에는 이런 부가장치가 달려있지 않는 것이 일반적이므로 선택하지 않으셔도 관계없다.


Probe all LUNs on each SCSI device


CD jukebox와 같은 LUN(Logical Unit Number) SCSI장치가 하나이상 장착되어 있다면 반드시 선택하기 바란다.

 

Build with SCSI PEPORT LUNS support


SCSI REPORT LUN장치지원을 위한 선택 옵션이다. REPORT LUN 명령어는 DISK ARRAY와 같은 장치에 매우 유용한다.

 

Verbose SCSI error reporting (kernel size +=12K)


"Verbose SCSI error reporting(kernel size +=12K)" SCSI장비에 대해 에러가 발생하였을 때 에러메시지를 자세히 표시해 준다. 제목에서 알 수 있듯이 이 옵션을 선택하여 컴파일하게되면 커널사이즈는 12KB정도 늘어나게 된다.


SCSI logging facility


SCSI와 관련된 몇가지 문제점들의 디버깅에 매우 유용한 Logging Facility를 지원하는 옵션이다.


 

Adaptec AHA152X PCMCIA support


 Adaptec AHA152X PCMCIA와 같은 종류의 장치를 사용하는 시스템에서는 반드시 선택하기 바란다.


 

Future Domain PCMCIA support


시스템에 PCMCIA SCSI 아답터와 같은 종류를 지원하려면 선택하기 바란다.


 

NinjaSCSI-3 / NinjaSCSI-32Bi (16bit) PCMCIA support


NinjaSCSI-3 / NinjaSCSI-32Bi (16bit) PCMCIA와 같은 장치 지원을 위한 선택사항이다.


 

Qlogic PCMCIA support


Qlogic PCMCIA와 같은 장치지원을 위한 선택사항이다.


 

Old CD-ROM drivers (not SCSI, not IDE)


만약 사용중인 리눅스에 구형의 CD-ROM(, 제목에서 보듯이 SCSI IDE타입이 아닌경우)을 사용할 경우에 필요한 옵션이다. 요즘나오는 대부분의 CD-ROM에서는 사용하지 않는 구형의 CD-ROM에서만 필요한 옵션이다.  대부분의 경우에는 선택하지 않는 것이 바람직한 설정이다.


b2fb97cf4da9f36e260d872f9bab1062_1647247280_9671.png



Support non-SCSI/IDE/ATAPI CDROM drivers


SCSI
IDE, APAPI타입의 CD-ROM 드라이브가 아닌 구형의 CD-ROM 드라이브를 사용하는 경우에 선택하는 옵션이다.


 

Aztech/Orchid/Okano/Wearnes/TXC/CyDROM CDROM support


Aztech CDA268-01A, Orchid CD-3110, Okano 또는 Wearnes CDD110, Conrad TXC, 또는 CyCD-ROM CR520 또는 CR540 CD-ROM 드라이브를 가진 경우에 선택하기 바란다.


Goldstar R420 CDROM support (NEW)


Goldstar R420 CD-ROM
드라이브를 지원하기 위한 선택 옵션이다.


 

Matushita/Panasonic/Creative, Longshine, TEAC CDROM support (NEW)


Matushita/Panasonic/Creative, Longshine, TEAC CD-ROM 드라이브 지원을 위한 선택옵션이다.


 

Mitsumi (standard) [no XA/Multisession] CDROM support (NEW)


Mitsumi (standard) [no XA/Multisession] CD-ROM 드라이브 지원을 위한 선택옵션이다.


 

Mitsumi [XA/MultiSession] CDROM support (NEW)


Mitsumi [XA/MultiSession] CD-ROM 드라이브 지원을 위한 선택옵션이다.

 

Optics Storage DOLPHIN 8000AT CDROM support (NEW)


Optics Storage DOLPHIN 8000AT CD-ROM 드라이브 지원을 위한 선택 옵션이다.

 

Philips/LMS CM206 CDROM support (NEW)


Philips/LMS CM206 CD-ROM 드라이브 지원을 위한 선택 옵션이다.


 

Sanyo CDR-H94A CDROM support (NEW)


Sanyo CDR-H94A CD-ROM 드라이브 지원을 위한 선택옵션이다.  



ISP16/MAD16/Mozart soft configurable cdrom interface support (NEW)


ISP16/MAD16/Mozart soft configurable cdrom interface지원을 위한 선택옵션이다.


 

Sony CDU31A/CDU33A CDROM support (NEW)


Sony CDU31A/CDU33A CD-ROM 드라이브 지원을 위한 선택옵션이다.


 

Sony CDU535 CDROM support (NEW)


Sony CDU535 CD-ROM 드라이브 지원을 위한 선택옵션이다.


 

Multi-device support (RAID and LVM)


RAID LVM(Logical Volumn Management)와 같은 여러 개의 하드디스크를 효율적으로 사용하기 위한 기능지원을 위한 옵션이다.

  

b2fb97cf4da9f36e260d872f9bab1062_1647247303_5026.png
 


Multiple devices driver support (RAID and LVM)


이 항목의 제목에서 보시는 것처럼 RAID LVM(Logical Volume Management)장치의 설정에 필요한 항목들이다.



RAID support


"RAID support"는 리눅스 커널이 지원하는 Software RAID를 지원하기 위한 기능이다. 요즘에는 RAID-5로 구성된 디스크군들을 사용하는 서버들이 많이 있으므로 이들 서버들에서 디스크를 RAID로 구현을 했다면 반드시 선택을 하십시요. 특히 RAID-5로 구현된 경우에는 디스크하나가 에러가 나게 되면 물리적으로 바로 제거한 후에 새로운 하드디스크로 교체하는 작업이 가능하므로 안전한 디스크운용을 위해서 많이 사용되고 있다.


, RAID를 위한 드라이브는 여러 개의 물리적인 하드디스크를 하나의 논리적인 블록장치(One Logical Block Device)로 사용할 수 있도록 해준다.


 

Linear (append) mode


이 옵션을 선택하면 다중장치 드라이브가 흔히 말하는 Linear mode를 사용할 수 있게 된다. 만약 선택여부가 확실하지 않다면 가능한 선택을 하시는 것이 좋습니다.


 

RAID-0 (striping) mode


이 옵션을 선택하면 다중장치 드라이브가 흔히 말하는 RAID 0 mode를 사용할 수 있게 된다. 만약 선택여부가 확실하지 않다면 가능한 선택을 하시는 것이 좋습니다. 즉 여러 개의 물리적인 하드디스크가 하나의 논리적인 장치로 인식될 수 있도록 지원한다.

 

RAID-1 (mirroring) mode


몇 개의 하드디스크가 상호 정확한 복사본을 가지는 RAID 1 모드를 지원하기 위한 선택사항이다. 만약 선택여부가 확실하지 않다면 가능한 선택을 하시는 것이 좋습니다.



RAID-4/RAID-5 mode


RAID 4 또는 RAID 5 모드를 지원하기 위한 선택사항이다.  만약 선택여부가 확실하지 않다면 가능한 선택을 하시는 것이 좋습니다.

Multipath I/O support


Multipath I/O를 지원하기 위한 선택사항이다. 만약 선택여부가 확실하지 않다면 가능한 선택하지 않는 것이 좋습니다.

 


Device mapper support


Device-mapper란 낮은 레벨 볼륨메니저(Low Level Volume Manager)를 의미한다. 만약 이 옵션을 선택한다면 인위적으로 논리섹터(logical sectors)의 범위에 대한 매핑(mapping)을 지정할 수 있다.  또한 LVM2와 같은 높은 레벨 볼륨메니저(Higher level volume manager)에서도 이 드라이브를 사용한다. 만약 선택여부가 확실하지 않다면 가능한 선택하지 않는 것이 좋습니다.



ioctl interface version 4


요즘에 사용되는 툴(tools)들은 종종 새로운 버전의 ioctl 인터페이스를 사용하곤 한다. 이 옵션을 선택하면 이런 툴들을 지원하게 된다.


 

Fusion MPT device support


퓨전 MPT 디바이스 지원을 위한 옵션들이다. Fusion MPT장치란 BASE드라이브와 SCSI장치드라이브를 한번에 지원하는 장치를 의미한다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647247327_7666.png
 


Maximum number of scatter gather entries


이 옵션을 선택하면 입출력(I/O)시의 Scatter gather 항목의 최대수를 지정할 수 있다.


 

Enhanced SCSI error reporting


SCSI 에러 리포팅에 대하여 보다 진보된 메시지 출력모드이다. 예를들어 Target Device가 입출력(I/O)에 대한 상태를 체크하였을 때의 메시지 비교를 보면 다음과 같다. 

 

[
이 옵션을 선택하지 않았을 때의 메시지]


SCSI Error Report =-=-= (ioc0,scsi5:0)
SCSI_Status=02h (CHECK_CONDITION)
Original_CDB[]: 2A 00 00 00 00 41 00 00 02 00
SenseData[12h]: 70 00 02 00 00 00 00 0A 00 00 00 00 04 02 02 00 00 00
SenseKey=2h (NOT READY); FRU=02h
ASC/ASCQ=29h/00h


다음은 옵션을 선택하였을 때의 메시지


SCSI Error Report =-=-= (ioc0,scsi5:0)
SCSI_Status=02h (CHECK_CONDITION)    
Original_CDB[]: 2A 00 00 00 00 41 00 00 02 00 - "WRITE(10)"
SenseData[12h]: 70 00 02 00 00 00 00 0A 00 00 00 00 04 02 02 00 00 00
SenseKey=2h (NOT READY); FRU=02h
ASC/ASCQ=29h/00h "LOGICAL UNIT NOT READY, INITIALIZING CMD. REQUIRED"



Fusion MPT misc device (ioctl) driver


기타 MPT (ioctl)장치 드라이브 지원을 위한 옵션이다. 만약 선택여부가 확실하지 않다면 가능한 선택하지 않는 것이 좋습니다.



Fusion MPT LAN driver


Fusion MPT LAN 드라이브 지원을 위한 옵션사항이다. 만약 선택여부가 확실하지 않다면 가능한 선택하지 않는 것이 좋습니다.



IEEE 1394 (Firewire) support (EXPERIMENTAL)


이 옵션은 IEEE 1394를 지원하기 위한 옵션이다.  , IEEE 1394표준안은 FireWire™ 또는  i.Link™ 장치들로 잘 알려진 고성능 시리얼 버스(serial bus)또는 거의 모든 종류의 연결장치로 사용되는 고성능 시리얼 버스(serial bus)에 대해 설명하고 있다. 이 장치를 사용할 계획이거나 FireWire 하드웨어가 장착된 시스템에서는 선택하여 사용하기 바란다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647247348_0121.png
 


Excessive debugging output (NEW)


이 옵션을 선택하면 시스템의 각 하부장치(Subsystem)들과 주고 받는 모든 패킷의 헤드 덤프에 대하여 매우 자세한 디버깅 로그를 얻을 수 있다. 또한 매우 짧은 시간에 보다 많은 데이터를 모아서 시스템 로깅데몬에 의하여 디스크에 항상 저장된다. 꼭 필요한 경우에만 선택하고 그외에는 선택하지 않도록 하십시요.


 

OUI Database built-in (NEW)


이 옵션을 선택하면 OUI 리스트(제조사별로 유일한 ID를 의미함) IEEE 1394모듈에 내장되어 집니다.


 

Texas Instruments PCILynx support (NEW)


Texas Instruments사의 PCILynx IEEE 1394 컨트롤러를 가진 시스템은 반드시 선택하기 바란다.


 

OHCI-1394 support (NEW)


OHCI 1394안에 기초한 IEEE 1394 컨트롤러를 위한 선택사항이다. 요즘 생산되는 드라이브는 Texas Instruments사나 NEC사에서 생산되는 OHCI칩셋으로 테스트된다. 그리고 Third-party 제조사들은 대부분 이들 칩셋중 하나를 사용하고 있다.


 

SBP-2 support (Harddisks etc.) (NEW)


IEEE 1394버스와 연결된 SBP-2디바이스를 사용하기 위한 옵션이다.  SBP-2 디바이스는 HARDDRIVES DVD장치를 포함한다.


 

Ethernet over 1394 (NEW)


IEEE 1394호스트에 사용하는 리눅스에서만 사용하는 드라이브를 위한 옵션사항으로서 극히 실험적인 옵션으로서 꼭 필요한 개발자들 외에는 선택하지 마십시요.


 

Raw IEEE1394 I/O support (NEW)


Raw IEEE 1394 입출력장치 디바이스를 지원하기 위한 옵션사항이다. 이런 Raw 디바이스는 주변장치에 부착된 IEEE 1394 버스를 통하여 통신프로그램들과 직접 통신을 하게 된다.


 

IEC61883-1 Plug support (NEW)


입력과 출력 플러그를 수행하기 위하여 IEC61883-1(Connection Management Procedures)를 가능하도록 하기위한 옵션이다.


 

Networking support


네트워크설정을 하는 옵션들이다. 반드시 선택을 해줘야한다. 리눅스로 인터넷서비스를 하려면 반드시 필요한 것이 네트웍인 만큼 꼭 필요한 기능이다. 반드시 선택하십시요.



Packet socket


네트워크장치의 통신에 있어 어플리케이션에서 사용하는 옵션이다. 반드시 선택을 해주시는 것이 바람직한다.



Network packet filtering (replaces ipchains)


ipchains
를 대체하는 기능으로서 "방화벽(firewall)"이라는 기능이 패킷필터(packet filter)"라는 기능으로 대체되면서 새로나온 옵션설정이다. 지금 사용중인 리눅스서버에 방화벽기능(iptables)을 사용하려면 선택을 하십시요.



Network aliasing


일반적으로 호스팅업체에서 많이 사용하는 기능이다. 리눅스서버 한대에 많은 IP address를 할당하여 사용할 수 있는 설정옵션이다. 흔히 IP기반의 호스팅기능이라고 부르는 기능으로써 호스팅초기에 많이 사용했던 방법이다. 만약, 현재 설정중인 리눅스서버에 2개이상의 IP를 사용하려면 반드시 선택하기 바란다.



TCP/IP networking


TCP/IP
기반의 네트워킹을 하기위해 반드시 필요한 옵션이다. 현재 인터넷통신의 기반이 되는 프로토콜이 TCP/IP이므로 반드시 선택하기 바란다.



IP: multicasting


ethernet
기반에 꼭 필요한 기능이므로 반드시 선택하도록 한다.



IP: advanced router


리눅스를 라우터로 사용하려는 경우에 설정하는 옵션이다. 전용 Router장비가 아니더라도 리눅스로 라우터기능을 할 수 있다. 이 기능을 사용하려면 선택을 하십시요. 일반적인 경우에는 필요하지 않는 기능이다.



IP: multicasting routing


멀티케스팅이 필요할 경우에는 선택을 한다.


b2fb97cf4da9f36e260d872f9bab1062_1647247370_6471.png
 


Network device support
 


제목에서 느낄 수 있는 것처럼 네트웍카드(NIC)에 대한 설정 항목들이다.  "Network device support"는 리눅스에 통신기능을 사용가능케 하려면 반드시 선택을 하셔야한다.  네트웍통신카드, NIC이라는 카드(ethernet카드)가 하나이상 장착이 되어 있다면 반드시 선택을 하십시요. "ARCnet devices" NIC ARCnet칩이 장착된 경우에 선택을 하는 옵션이다.  "Ethernet (10 or 100Mbit)"은 대부분의 NIC카드가 여기에 해당하므로 선택을 하셔야한다.  "Ethernet (1000 Mbit)"은 서버에 장착된 NIC카드가 1G이상을 지원하는 NIC카드일 경우에 선택하십시요.



Amateur Radio support
 

이 기능은 Amateur radio를 활용한 통신(무선통신) 네트웍을 사용하기 위한 설정옵션이다. 대부분의 경우에는 불필요한 기능이므로 선택하지 않는 것이 옳은 설정이다.


b2fb97cf4da9f36e260d872f9bab1062_1647247388_1391.png



IrDA (infrared) support


이 옵션 또한 앞의 설정처럼 무선통신을 할 경우에 필요한 설정옵션으로 적외선 프로토콜을 지원하는 옵션이다.  


ISDN subsystem


ISDN으로 통신을 하는 경우에 선택하는 옵션입니다 . 사용중인 리눅스서버가 ISDN으로 통신이 이루어 진다면 반드시 선택을 하십시요. 하지만 대부분의 경우에 서버용도로 사용하는 리눅스에서는 필요하지 않으므로 선택하지 않으시는 것이 바람직 한다.

b2fb97cf4da9f36e260d872f9bab1062_1647247414_4621.png


Telephony Support
Quicknet
사의 telephony카드를 사용할 경우에 선택하는 설정옵션이다. 대부분의 경우에는 필요하지 않는 선택사항이다.

b2fb97cf4da9f36e260d872f9bab1062_1647247431_7127.png


Input device support


제목에서 보듯이 입력장치들에 대한 설정을 하는 옵션이다. 다음 선택사항들을 하나씩 보시고 필요한 기능들을 선택해 보기 바란다.

Keyboard support


USB
타입의 키보드를 사용할 경우에 설정하는 옵션이다. 당연히 선택하셔야 한다.

Mouse support


USB
타입의 마우스를 사용할 경우에 설정하는 옵션이다. 당연히 선택하셔야한다.

Joystick support


USB
타입의 조이스틱을 사용할 경우에 설정하는 옵션이다. 흔한 경우는 아니지만 리눅스를 PC로 사용하는 경우에 필요한 조이스틱을 사용하려면 선택하기 바란다.


 
b2fb97cf4da9f36e260d872f9bab1062_1647247446_3025.png



Character devices


여러가지 장치들을 지원하기 위한 설정항목이다. 이 부분을 가장 적절하게 설정해 주시면 커널사이즈를 최대한 줄일 수 있다. 정확히 알고 설정하는 것이 중요한다.

 



Virtual terminal


리눅스의 가상터미널 기능을 지원하는 옵션이다. Alt+F1, Alt+F2등으로 가상터미널을 여러개 동시에 사용할 수 있는 기능이다. 반드시 선택하도록 하십시요.



Standard/generic (8250/16550 and compatible UARTs) serial support


시리얼장치를 사용하는 경우에 설정하는 옵션이다. 가능한 선택을 하시는 것이 바람직한다.

 



Support printer on line printer


이기능을 설정하여 커널을 컴파일 하였을 경우에 커널메시지를 연결된 프린터로 인쇄하게 할 수 있다. 커널과 시스템의 상태를 실시간으로 인쇄하여 기록하고자 할 경우에 매우 유용한 기능일 수 있으나 일반적인 경우에는 선택하지 않는 것이 대부분이다.



b2fb97cf4da9f36e260d872f9bab1062_1647247464_686.png



Multimedia devices


제목에서 처럼 멀티미디어장비(오디오캡쳐 및 비디오캡쳐장비등)의 사용에 필요할 경우에 설정하는 옵션이다.


b2fb97cf4da9f36e260d872f9bab1062_1647247478_9442.png
 


Console display driver support
 

콘솔을 사용할 수 있도록 지원하는 설정옵션이다. 모든 컴퓨터에서 콘솔(console)이라함은 본체에 직접연결되어 있는 표준입력장치와 표준출력장치를 의미한다.  특별한 경우가 아닌 대부분의 경우에는 모니터와 키보드를 의미하게 된다.



Sound
 

제목에서 알 수 있듯이 사운드장치에 대한 설정옵션들이다.   



Sound card support
 

리눅스서버에 사운드카드가 장착이 되었을 경우에 이를 지원하기위한 설정옵션이다.  


b2fb97cf4da9f36e260d872f9bab1062_1647247494_7365.png
 


USB support
 

매우 편리한 USB(Universal Serial Bus)포트를 지원하기 위한 설정옵션이다. 마우스나 키보드등 대부분의 경우에 USB포트를 사용하는 경우가 많으므로 이를 지원하려면 반드시 선택하십시요. 하지만, 서버용도로 사용하는 리눅스의 경우에는 아직도 USB포트가 사용되는 경우는 흔하지 않는다.


b2fb97cf4da9f36e260d872f9bab1062_1647247509_8037.png
 



File Systems


리눅스의 다양한 파일시스템에 대한 설정옵션들이다.  리눅스의 파일시스템에 다양한 기능을 구현하기 위해서는 이 부분의 설정을 정확히 해주셔야한다. 예를 들어 quota로 사용자의 그룹의 디스크사용용량을 제한하려고 한다든지, NT등에서 사용하는 NTFS타입의 파일시스템을 지원하기 위한 것등의 설정을 할 수가 있다.  


b2fb97cf4da9f36e260d872f9bab1062_1647247526_2871.png
 



Second extended fs support
 

ext2파일시스템지원을 위한 기능이다. 거의 모든 리눅스 시스템에서 사용하는 것이므로 기본선택되어 있다. 선택되어 있지 않다면 반드시 선택하여 사용하도록 하십시요.


Ext3 journalling file system support
 

ext3저널링 파일시스템 지원을 위한 기능이다. ext2다음 버전으로 나온 리눅스 표준파일시스템이다. 저널링을 지원하는 리눅스 파일시스템으로서 강력한 복구기능을 가지고 있다. 반드시 사용할 수 있도록 선택되어 있는지 확인하기 바란다.

 


Reiserfs support
 

reiser파일시스템 지원을 위한 기능이다.

 


JFS filesystem support
 

JFS 파일시스템 지원을 위한 기능이다.

 


XFS filesystem support
 

XFS 파일시스템 지원을 위한 기능이다. 리눅스에서 XFS파일시스템을 사용하려면 선택하기 바란다.

 


Minix fs support
 

Minix 파일시스템 지원을 위한 기능이다.

 


ROM file system support
 

ROM 파일시스템을 지원하기 위한 기능이다.

 


Quota support
 

Quota를 지원하기 위한 옵션이다. “File systems”메뉴에서 아래와 같이 “Quota support”항목에 *를 하기 바란다. 이 옵션을 모듈형태로 선택하지 마시고 커널이미지에 들어가도록 *표를 하기 바란다.


 b2fb97cf4da9f36e260d872f9bab1062_1647247546_9245.png


 

사용자의 디스크사용량과 총사용파일수를 제한할 수 있는 쿼타(quota)를 지원하기 위한 기능이다. 리눅스파일시스템에 사용자와 그룹별로 디스크사용량을 제한(quota설정)을 할 수 있도록 지원하는 옵션이다. 호스팅서버라든가 각각의 사용자가 사용하는 디스크용량을 제한할 필요가 있을 경우에는 반드시 선택하도록 하십시요. 일반적인 경우에도 반드시 선택하시는 것이 좋을 듯 한다.



Kernel automounter support


자동마운트기능이 필요할 경우에 선택하는 설정옵션이다. 여러대의 리눅스에서 NFS로 자동마운트기능을 사용하려면 반드시 필요한 옵션이다.  다른 서버들과 파일시스템을 마운트하여 사용하지 않는다면 필요하지않는 기능이다. 하지만, NFS등으로 automounter기능을 이용한다면 서버의 자동백업이나 디스크동기화등에 많은 도움이 될 수도 있으며 특히 서버의 부하분산을 하기위한 서버군을 구현하기 위한 경우라면 꼭 필요할 수 있다.  이 부분은 몇대의 리눅스로 서버군을 형성하여 서버의 부하분산을 하는 경우에 매우 유용한 기능이다.




CD-ROM/DVD Filesystems


CD-ROM
DVD 파일시스템 지원을 위한 기능이다. 리눅스에서는 기본적으로 CD-ROM을 지원하지만 DVD도 함께 지원하도록 선택되어 있는지 확인하기 바란다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647247563_7031.png
 


ISO 9660 CDROM file system support
 

"ISO 9660 CDROM file system support" CD-ROM이 장착된 서버라면 반드시 선택하셔야한다.  거의 대부분의 리눅스에는 CD-ROM 드라이브가 장착이 되어 있으므로 반드시 선택하십시요. ISO 9660 CDROM file system CD-ROM의 파일을 읽기 위해 ISO에서 표준으로 정한 파일시스템 명칭이다.  리눅스에서 CD-ROM을 읽기위해 mount를 시킬 경우에 사용하는 명령어가 "mount -t iso9660 /dev/cdrom /mnt/cdrom"으로 사용하는 것을 떠 올린다면 이해가 될 것이다.



UDF file system support
 

UDF 파일시스템 지원을 위한 기능이다. 리눅스에서 UDF포맷의 파일시스템을 읽어들이기 위하여 가능하면 선택하도록 하십시요.



DOS/FAT/NT Filesystems
 

DOS파일시스템, FAT파일시스템, NT파일시스템을 지원하기 위한 기능이다. 가끔씩 리눅스에서도 DOS파일포맷을 읽을 때가 있다. 흔하지는 않지만 DOS디스켓에 저장되어 있는 파일을 읽기 위하여 가능하면 선택하기 바란다. 이메뉴를 선택하면 DOS파일포맷뿐아니라 NT파일시스템, 그리고 FAT파일시스템도 함께 사용할 수 있으므로 윈도우에서 사용하던 디스크를 리눅스에서 마운트하여 바로 사용할 수 있도록 하려면 선택해야한다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647247577_023.png
 


DOS FAT fs support
 

"DOS FAT fs support" DOS기반에서 사용하는 FAT 파일시스템을 지원하는 설정옵션이다.  DOS기반의 파일시스템을 사용하려면 설정하기 바란다. 말씀드린 DOS FAT파일시스템지원을 위하여 가능하면 선택하도록 하십시요.



VFAT (Windows-95) fs support
 

VFAT 파일시스템(윈도우95)파일시스템을 지원하기 위한 기능이다. 윈도우95에서 사용하는 VFAT파일시스템으로 리눅스에서 윈도우95기반의 파일들을 읽기 위하여 필요한 기능이다.

 


NTFS file system support
 

"NTFS file system support(read only)" MS사의 NT에서 사용하는 NTFS파일시스템을 읽기위한 설정옵션이다. NTFS로 포맷되어 사용중인 디스크의 파일을 리눅스에서 읽어들이기 위해서는 필요한 옵션이다. 필요할 경우에만 선택하기 바란다.



Pseudo filesystems
 

/proc파일시스템과 같은 가상파일시스템을 지원하기 위한 기능이다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647247593_0222.png
 


/proc file system support
 

"/proc file system support"는 리눅스에서 /proc이라는 파일시스템을 사용하기위해 설정하는 옵션이다.  /proc 파일시스템은 현재 리눅스의 커널과 프로세스정보등을 파일형태로 보관하고 있는 실제 물리적인 파일시스템으로 존재하지 않는 가상의 파일시스템이다.  리눅스 부팅 후에 /proc으로 이동하여 보면 많은 파일들을 볼 수가 있다.  이들 파일들의 내용을 확인해 보면 현재 리눅스의 프로세스정보와 CPU MEMORY등의 정보를 자세히 확인할 수 있다.



/dev/pts file system for Unix98 PTYs 


"/dev file system support(EXPERIMENTAL)"은 특수한 장치파일들을 보관하고있는 /dev파일시스템을 사용할 수 있도록 지원하는 설정옵션이다. 반드시 필요한 옵션이므로 선택하셔야한다.



Virtual memory file system support (former shm fs)
 

가상메모리 파일시스템을 지원하기 위한 기능이다.




Miscellaneous filesystems
 

기타 다양한 파일시스템을 지원하기 위한 기능이다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647247610_5898.png
 


Compressed ROM file system support
 

압축형 ROM파일시스템을 지원하기 위한 기능이다.



OS/2 HPFS file system support
 

OS/2 HPFS 파일시스템을 지원하기 위한 기능이다. , "OS/2 HPFS file system support (read only)" OS/2 파일시스템을 읽기 위한 설정옵션이다. OS/2 HPFS파일시스템으로 사용중인 디스크의 파일을 리눅스에서 읽어들이기 위해서는 필요한 옵션이다.

 

UFS file system support (read only)
 

UFS 파일시스템을 지원하기 위한 기능이다.



Network File Systems
 

리눅스에서 NFS SMB와 같은 네트워크 파일시스템을 지원하기 위한 메뉴이다. 다음 선택사항들을 보시고 필요한 네트워크 파일시스템(NFS, SMB, CIFS, NCP)을 선택하기 바란다.


 
b2fb97cf4da9f36e260d872f9bab1062_1647247625_32.png

 


NFS file system support
 

NFS파일시스템 지원을 위한 기능이다. 이책의 "24. 리눅스서버 NFS NIS 실무활용 "에서는 NIS NFS에 대한 실무구축작업에 대한 자세한 설명이 있다. 이책의 24장 실습을 하려면 NFS파일시스템이 반드시 선택되어 있어야한다



SMB file system support (to mount Windows shares etc.)
 

윈도우 파일시스템과의 공유를 위해 삼바파일시스템(SMB filesystem)을 지원하기 위한 기능이다. 이책의 "27. 리눅스 삼바(SAMBA)서버 구축 및 관리실무 "에서는 리눅스 서버를 삼바서버로 구축하여 윈도우시스템과 파일및 프린터공유를 할 수 있는 실무적인 방법들에 대해서 설명하고 있다. 삼바에 대한 설명은 이책의 27장을 참고하기 바란다.



CIFS support (advanced network filesystem for Samba, Window and ..)
 

삼바나 윈도우파일시스템의 보다 진보된 네트워크 파일시스템을 지원하기 위한 CIFS파일시스템 지원기능이다.



NCP file system support (to mount NetWare volumes)
 

NetWare환경과 마운트를 하기위한 NCP파일시스템 지원기능이다.



Coda file system support (advanced network fs)
 

많이 사용하지는 않지만 진보된 네트워크파일시스템인 Coda파일시스템을 지원하기 위한 기능이다.

Partition Types


리눅스에서 사용되는 파티션타입들을 지원하기 위한 메뉴이다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647247642_4939.png
 


Native Language Support


언어지원을 위한 메뉴이다. 하위메뉴에 보면 각 나라별로 언어를 선택할 수 있는 여러개의 언어선택 메뉴들이 있다.


 

b2fb97cf4da9f36e260d872f9bab1062_1647247658_1306.png
 


Kernel Hacking


리눅스의 커널해킹을 할 수 있도록 지원하는 설정항목이다. 커널해킹이란 리눅스서버에 심각한 문제가 발생하였을때 이를 제어통제할 수 있도록 하는 것을 의미한다.


b2fb97cf4da9f36e260d872f9bab1062_1647247671_9343.png
 



Magic SysRq key


다음은 리눅스 매직키를 사용할 수 있도록 “Kernel hacking”메뉴에서 아래와 같이 “Magic SysRq key” *를 하도록 하십시요. 이책의 22장의 "2. 리눅스 서버 다운시 매직키를 이용한 응급조치"편을 보면 리눅스 매직키사용에 대한 자세한 설명이 있다. 커널컴파일시에 Magic SysRq key기능을 선택하셔야만 리눅스 서버의 응급복구에 사용할 수 있는 매직키를 사용할 수 있다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647247692_1041.png
 


Security Options


리눅스 보안을 위한 선택사항으로서 "Network Security Hooks" 또는 "Boot Plug지원", "SElinux boot 파라미터"등을 지원하기 위한 옵션이다.


 b2fb97cf4da9f36e260d872f9bab1062_1647247704_9071.png
 



Load an Alternate Configuration File
이 기능은 커널컴파일시에 이미 생성되어 있는 커널옵션설정파일을 불러서 그대로 사용하거나 또는 조금 수정하여 사용할 수 있다. 따라서 예전에 사용했던 설정파일, 또는 다른 곳에서 이미 사용했던 설정파일등을 가져와서 동일한 커널버전을 동종류의 시스템에서 컴파일하고자 할때에 주로 사용하는 방법이기도 한다. 특히 IDC ISP등과 같은 곳에서 동일한 리눅스 시스템에서 여러번 계속해서 컴파일할 때에 "make menuconfig"에서 매번 커널컴파일을 위한 커널옵션선택을 하지 않아도 되므로 아주 편리하게 사용할 수 있다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647247722_4987.png
 


Save Configuration to an Alternate File
지금까지 선택했던 커널컴파일옵션을 설정파일(*.config)에 저장하기 위한 메뉴이다. 커널컴파일을 자주하시는 분들은 이런 설정파일을 많이 가지고 있다. 당연한 얘기지만 이렇게 저장된 설정파일은 이 이후에 "make bzImage"에서 작업하는 커널컴파일작업에서 사용되는 설정파일이다.

 

b2fb97cf4da9f36e260d872f9bab1062_1647247740_7592.png
 


이상으로 커널 컴파일에 대한 설명을 모두 마칩니다. 마지막으로 당부드리고 싶은 말은 리눅스 커널이 업그레이드 될 때마다 커널업그레이드를 한다는 것은 꼭 옳은 것만은 아닙니다.  만약 여러분께서 운영하시는 리눅스서버의 보안이나 기능상의 향상을 위해 커널 업그레이드가 필요하다면 커널컴파일을 통해 업그레이드를 하십시오. 특히 보안에 문제가 있는 커널버전은 반드시 교체해 주시는 것이 좋습니다. 문제가 발생한 후에는 이미 늦다는 것은 여러분들이 더 잘 아실 것이다.

 

 

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,157 명
  • 현재 강좌수 :  36,514 개
  • 현재 접속자 :  240 명