[시스템] linux kernel 2.6.x 에 대하여

개발커널 2.6.0-test 버전을 컴파일하기위한 기본적인 배경지식과 일반적 사양의 PC에서의 컴파일 옵션및 방법 그리고 커널 2.6 에서 무엇이 달라졌는지를 다룬다. (이 글을 쓰는 현재 가장 최신 개발 커널인 2.6.0-test8을 기준으로 이론적인면 보단 실제로 어떻게 해야하는지에 중점을 두었다.)

1 배경지식

1.1 커널이란?

1.2 커널은 어디서 구하나?

1.3 최신 커널 버전은 어떻게 알아보나?

1.4 커널 컴파일 방법

1.5 모듈 컴파일 방법

1.6 Initrd 이미지 만들기

1.7 Initrd 이미지 만들기

1.8 한줄에 끝내기

1.9 필요한 패키지

1.10 커널 2.6에서 달라진것과 새로운 것들

1.11 커널 옵션 설정

2 참고 문서들

1 배경지식 #

1.1 커널이란? #

커널이란 운영체제(Operating System)에서 가장 핵심적인 역할인 자원 (메모리, 프로세서등)을 관리하며 시스템이 원활히 돌아갈 수 있도록 제어해 준다. 현재 우리가 리눅스(OS)라고 하는것도 실제적으론 리눅스란 운영체제의 커널 이름을 말하는것인데 이것이 확장된 의미로 사용되어 현재의 ‘리눅스’란 OS를 지칭하게도 된것이다. 그러므로 Linux = kernel이란 등식이 성립한다.

1.2 커널은 어디서 구하나? #

우선적으로 안정 버전과 가장 최신 개발버전을 원한다면 http://kernel.pe.kr 로 접속하면 된다. 그 이외에는 다음 미러 사이트에서 구할수 있다.

우리나라 : ftp://ftp.kr.kernel.org/pub/linux/kernel/

미국 : ftp://ftp.us.kernel.org/pub/linux/kernel/

일본 : ftp://ftp.jp.kernel.org/pub/linux/kernel/

1.3 최신 커널 버전은 어떻게 알아보나? #

SHELL에서 finger @finger.kernel.org 명령으로 최신 커널버전을 알 수 있다. 이 문서를 작성하는 현재 최신버전은 다음과 같다.

ganadist@ganadist ganadist $ finger @ftp.kernel.org

[zeus-pub.kernel.org]

The latest stable version of the Linux kernel is:           2.4.22

The latest prepatch for the stable Linux kernel tree is:    2.4.23-pre7

The latest snapshot for the stable Linux kernel tree is:    2.4.22-bk36

The latest beta version of the Linux kernel is:             2.6.0-test8

The latest 2.2 version of the Linux kernel is:              2.2.25

The latest 2.0 version of the Linux kernel is:              2.0.39

The latest prepatch for the 2.0 Linux kernel tree is:       2.0.40-rc6

The latest -ac patch to the stable Linux kernels is:        2.4.22-ac4

The latest -ac patch to the beta Linux kernels is:          2.6.0-test1-ac3

커널은 stable version(안정버전)과 beta version(개발버전)으로 나누는데 이 두 버전의 차이는 minor number가 짝수이냐 홀수이냐로 구분한다. (minor number란 커널 2.4.22이 있다면 가운데 수인 4가 minor number이고 제일 앞의 2는 major number 이다. 마찬가지로 2.5.57에선 major는 2이고 minor는 5이다.) 그렇다면 2.6.0-test 버전들은 minor number가 짝수인데 왜 개발버전이라고 하나? 그 이유는 2.5.x의 패치버전들이 이제 거의 2.6 안정버전에 가까워졌다는 의미로Linus가 2.6.0-test라 이름 붙인것이다.

1.4 커널 컴파일 방법 #

여러 가지 방법들이 있지만 저장된 커널옵션설정 파일이 있다면 oldconfig를 저장된 파일이 없다면 menuconfig를 추천한다.

make oldconfig 또는 make menucofig

make oldconfig를 하기위해선 다음과 같은 작업이 필요하다.

예전에 설정한 커널옵션이 kernel.config 란 이름으로 저장되어있다면 이 파일을 새 버전의 커널이 있는 /usr/src/linux 디렉토리에 .config란 이름으로 카피한다.

# cp kernel.config /usr/src/linux/.config

위와같이 한후 make oldconfig를 실행하면 예전 옵션을 그대로 적용시켜주며 혹시나 새로운 옵션이 있다면 화면에 보여주며 선택할 수 있도록 해준다.

make install

1.5 모듈 컴파일 방법 #

모듈이 생성되는 디렉토리는 ‘/lib/modules/2.6.0-test8’이고 만약 현재 커널의 모듈을 다시 생성하려고 한다면 현재 커널의 모듈 디렉토리를 지우고 다시 컴파일 하기 바란다.

make modules

make modules_install

<<<<<<<

1.6 Initrd 이미지 만들기 #

모듈을 만들고, 때에 다라서 initrd이미지도 만들어줄 필요가 있다. (가령 ext2/3 vfs같은 fs를 모듈로 제작했을때) 그럴때엔 mkinitrd 를 사용하자.

cd /lib/modules

mkinitrd 2.6.0-test8 -o /boot/initrd-2.6.0-test8 (혹은 원하는 이름으로)

=======

1.7 Initrd 이미지 만들기 #

모듈을 만들고, 때에 다라서 initrd이미지도 만들어줄 필요가 있다. (가령 ext2/3 vfs같은 fs를 모듈로 제작했을때) 그럴때엔 mkinitrd 를 사용하자.

cd /lib/modules

mkinitrd 2.6.0-test8 -o /boot/initrd-2.6.0-test8 (혹은 원하는 이름으로)

>>>>>>>

1.8 한줄에 끝내기 #

make 명령뒤에 한꺼번에 줄 수도 있다.

make oldconfig modules modules_install install

1.9 필요한 패키지 #

RedHat 기반 8.0 이상의 배포판이라면 module-init-tools만 설치하면 될것이다. (module-init-tools를 업데이트 하는데 modutils 버젼이 낮다면 같이 업데이트 해줘야 할 것이다. ftp.kernel.org에 있는 Rusty Russel씨의 디렉토리 에서 module-init-tools가 포함된 modutils를 구할 수 있다.) 2.6.0-test 커널을 사용하기위해서 다음 사항을 확인하라.

패키지 명  버전  확인방법  

Gnu C  2.95.3  # gcc –version  

Gnu make  3.78  # make –version  

binutils  2.12  # ld -v  

util-linux  2.10o  # fdformat -v  

module-init-tools  0.9.10  # depmod -V  

e2fsprogs  1.29  # /sbin/tune2fs  

jfsutils  1.1.3  # fsck.jfs -V  

reiserfsprogs  3.6.3  # reiserfsck -V 2>&1 |grep reiserfsprogs  

xfsprogs  2.1.0  # xfs_db -V  

pcmcia-cs  3.1.21  # cardmgr -V  

quota-tools  3.09  # quota -V  

PPP  2.4.0  # pppd –version  

isdn4k-utils  3.1pre1  # isdnctrl 2>&1|grep version  

nfs-utils  1.0.5  # showmount –version  

procps  3.1.13  # ps –version  

oprofile  0.5.3  # oprofiled –version  

1.10 커널 2.6에서 달라진것과 새로운 것들 #

core

module-init-tools

만약 module-init-tools를 설치하지 않으면 커널 모듈이 적재되지 않는다. 꼭 설치하도록 하자.

이제 modprobe는 modules.conf대신 modprobe.conf를 참조하게 된다. modules.conf를 modprobe.conf로 변환시켜주는 generate-modprobe.conf 라는 도구가 module-init-tools에 포함되어 있다. 대부분의 배포판에서는 module-init-tools를 설치하면 자동으로 실행시켜 줄 것이다.

모듈파일의 확장자가 .o에서 .ko로 바뀌었다.

modinfo 를 치면 모듈이 컴파일된 환경을 자세하게 보여준다.

ganadist root # modinfo snd-emu10k1

author:         Jaroslav Kysela

description:    EMU10K1

license:        GPL

parm:           index:Index value for the EMU10K1 soundcard.

parm:           id:ID string for the EMU10K1 soundcard.

parm:           enable:Enable the EMU10K1 soundcard.

parm:           extin:Available external inputs for FX8010. Zero=default.

parm:           extout:Available external outputs for FX8010. Zero=default.

parm:           seq_ports:Allocated sequencer ports for internal synthesizer.

parm:           max_synth_voices:Maximum number of voices for WaveTable.

parm:           max_buffer_size:Maximum sample buffer size in MB.

parm:           enable_ir:Enable IR.

vermagic:       2.6.0-test7 preempt PENTIUMIII gcc-3.3

depends:        snd-pcm,snd-util-mem,snd-rawmidi,snd-page-alloc,snd,snd-hwdep,snd-ac97-codec,snd-seq-device

alias:          pci:v00001102d00000002sv*sd*bc*sc*i*

alias:          pci:v00001102d00000006sv*sd*bc*sc*i*

alias:          pci:v00001102d00000004sv*sd*bc*sc*i*

여러가지 향상된 스케줄러

O(1) Scheduler, Preemptive Scheduler, Anticipatory Scheduler

32bit dev node

이전의 장치파일은 16bit로 구분되었지만 리눅스 2.6에서는 32bit로 확장되었다. (major: 12bit, minor: 20bit)

향상된 Thread 지원

새로운 driver model

Posix High Resolution Timer

kconfig

먼저 make help를 해보면 도움말이 나온다. 도움말을 보면 이전과 많이 달라졌다는 것을 알 수 있을것이다.

ganadist linux-2.6.0-test8 # make help

Cleaning targets:

  clean           – remove most generated files but keep the config

  mrproper        – remove all generated files + config + various backup files

Configuration targets:

  oldconfig       – Update current config utilising a line-oriented program

  menuconfig      – Update current config utilising a menu based program

  xconfig         – Update current config utilising a QT based front-end

  gconfig         – Update current config utilising a GTK based front-end

  defconfig       – New config with default answer to all options

  allmodconfig    – New config selecting modules when possible

  allyesconfig    – New config where all options are accepted with yes

  allnoconfig     – New minimal config

Other generic targets:

  all             – Build all targets marked with [*]

* vmlinux         – Build the bare kernel

* modules         – Build all modules

  modules_install – Install all modules

  dir/            – Build all files in dir and below

  dir/file.[ois]  – Build specified target only

  rpm             – Build a kernel as an RPM package

  tags/TAGS       – Generate tags file for editors

Documentation targets:

  Linux kernel internal documentation in different formats:

  sgmldocs (SGML), psdocs (Postscript), pdfdocs (PDF)

  htmldocs (HTML), mandocs (man pages, use installmandocs to install)

Architecture specific targets (i386):

* bzImage       – Compressed kernel image (arch/i386/boot/bzImage)

  install       – Install kernel using

                   (your) ~/bin/installkernel or

                   (distribution) /sbin/installkernel or

                   install to $(INSTALL_PATH) and run lilo

  bzdisk       – Create a boot floppy in /dev/fd0

  fdimage      – Create a boot floppy image

  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build

  make O=dir [targets] Locate all output files in “dir”, including .config

  make C=1   [targets] Check all c source with checker tool

Execute “make” or “make all” to build all targets marked with [*]

For further info see the ./README file

kconfig는 커널 설정및 빌드 도구의 이름이며 원래 설정도구는 Eric Raymond씨의 ?CML2가 들어갈 예정이었으나 개발이 중단되어버렸다. 이전의 make dep는 없어지고, make gconfig와 make xconfig가 추가되었다. 그리고 모든 기능을 커널에 몰아 넣는 allyesconfig, 모든 기능을 모듈로 만드는 allmodconfig, 모든기능을 빼버리는 allnoconfig 설정을 할 수 있으며, 빌드 메세지를 숨길수 있도록 되었다.

CPU Hotplug

Software Suspend

윈도우의 하이버네이션기능과 같은 역할을 한다. 현재 시스템의 메모리 상태를 스왑영역에 보관해두었다가 다음 리눅스 커널이 부팅될 때 스왑영역을 읽어서 이전 상태로 되돌리는 기능이다.

hardware support

새로운 아키텍쳐 지원

?PPC64, X86-64, UML

Alsa

여러가지 고급 기능을 지원하는 새로운 Sound 장치 기반인 Alsa(Advanced Linux Sound Architecture)가 기본으로 커널에 포함되었다. 물론 기존의 OSS와 호환되는 Alsa OSS Emulation 모듈도 포함되어 있다.

CPU Frequency Scaling 지원

전원 절약을 위해 각종 CPU의 Frequency Scaling지원이 추가가 되었다.

DVB

디지털 방송장비를 위한 DVB(Digital Video Broadcast) 이 추가가 되었다. 이것을 이용하여 리눅스에서 디지털 TV를 시청할 수 있다.

Video4Linux

비디오및 오디오 캡쳐를 위한 ?Video4Linux가 재작성 되었다.

ACPI Support

시스템에 연결된 각종 장치의 상태를 BIOS와 연계해서 알 수 있는 ACPI 드라이버가 포함되었다.

Console & Input Devices

콘솔 계층및 입력장치 드라이버가 재작성되어 완전히 모듈화를 시킬 수 있다.

Serial ATA Support

고속 하드디스크 인터페이스인 Serial ATA 드라이버가 추가되었다.

Bluetooth Support

Filesystem

XFS Support

SGI의 XFS가 리눅스에 기본으로 포함되었다.

ACL Support

파일에 여러가지 속성을 줄 수 있는 acl이 포함되었다. ext2, ext3, jfs, xfs에서 지원한다.

Plugin을 지원하는 새로운 Quota 시스템

ntfs-ng 추가

새로운 ntfs드라이버인 ntfs-ng가 리눅스에 기본으로 포함되었다.

cifs Support

afs Support

sysfs

현재 각종 장치의 상태를 보여주는 가상 파일시스템인 sysfs (이전의 driverfs)가 추가되었다.

network

napi 지원

STCP 지원

Ethernet bridge tables support

?IPSec Support

Linux Virtual Server Support

security

LSM 추가

?CryptoAPI

SElinux

1.11 커널 옵션 설정 #

Code maturity level options —>

[*] Prompt for development and/or incomplete code/drivers

[ ] Select only drivers expected to compile cleanly

[ ]Select only drivers that don’t need compile-time external firmware

코드 성숙도에 대한 옵션이다. 여기를 선택하지 않으면 아직 불안정하다고 판단되는 기능을 선택할 수 없다.

General Setup —>

[*] Support for paging of anonymous memory

[*] System V IPC

[*] BSD Process Accounting

[*] Sysctl support

(14) Kernel log buffer size (16 => 64KB, 17 => 128KB)

[*] Kernel .config support

[*]   Enable access to .config through /proc/config.gz

[ ] Remove kernel features (for embedded systems)  —>

커널의 일반기능에 대한 설정이다.

Support for paging of anonymous memory

Swap 기능이다. Desktop이나 Server시스템에서는 여간하면 켜주는 것이 좋을 것이다.

System V IPC

이 설정은 IPC를 지원하게 한다. Shared Memory도 여기서 지원한다

BSD Process Accounting

이 설정은 프로세스 정보를 파일에 저장한다.

Sysctl support

이 설정은 특정 커널의 파라미터와 변수들을 동적으로 변경시킬수 있도록 한다. Powertweak라는 도구를 쓰면 쉽게 바꿀 수 있다.

Kernel .config support

이 설정은 현재 커널이 빌드될 때 사용된 설정을 /proc/config.gz에서 읽을 수 있도록 한다.

Remove kernel features (for embedded systems)

소형기기에서 필요 없는 옵션들을 빼거나 모듈로 만들 수 있다. 모든 메뉴에서 적용된다.

Loadable module support —>

[*] Enable loadable module support

[*]   Module unloading

[ ]     Forced module unloading

[ ]   Module versioning support (EXPERIMENTAL)

[*] Automatic Kernel module loader

커널 모듈에 대한 설정이다. 모듈이란 커널에 포함되지 않고 커널이 운영되고 있는 상태에 모듈파일을 읽어들여서 커널의 기능을 더하는 것이다. 일반적으로 윈도우의 드라이버와 같다고 생각하면 된다.

Enable loadable module support

이 설정은 커널의 모듈기능을 쓰게 한다.

Module unloading

이 설정은 현재 커널에 적재된 모듈을 지울수 있도록 한다.

Forced module unloading

이 설정은 현재 커널이 모듈에 포함된 기능을 쓰고 있더라도 강제로 모듈을 지울수 있도록 한다. 정상적인 시스템에서는 되도록이면 쓰지 않아야 하는 기능이다.

Module versioning support

모듈의 기능(function)이름에 부가정보를 더하는 기능이다. 커널 2.6에서 이 기능을 쓰면 제대로 빌드 안되는 경우가 많다.

Automatic Kernel module loader

/proc/sys/kernel/modprobe에 등록된 프로그램을 이용해 커널이 알아서 모듈을 적재하는 기능이다.

Processor type and features —>

Subarchitecture Type (PC-compatible)  —>

Processor family (Pentium-III/Celeron(Coppermine)/Pentium-III Xeon)

[*] Generic x86 support

[ ] HPET Timer Support

[ ] Symmetric multi-processing support

[*] Preemptible Kernel

[*] Local APIC support on uniprocessors

[*]   IO-APIC support on uniprocessors

[ ] Machine Check Exception

< > Toshiba Laptop suppor

< > Dell laptop support

/dev/cpu/microcode – Intel IA32 CPU microcode support

/dev/cpu/*/msr – Model-specific register support

/dev/cpu/*/cpuid – CPU information support

BIOS Enhanced Disk Drive calls determine boot disk (EXPERIMENTAL)

High Memory Support (off)  —>

[ ] Math emulation

[*] MTRR (Memory Type Range Register) support

Subarchitecture Type

사용할 시스템에 대한 옵션이다. PC에서 쓸 것이기 때문에 PC호환으로 선택하면 된다.

Processor family

사용할 시스템의 CPU를 설정한다.

HPET Timer Support

기존의 8254 Timer대신 HPET Timer를 사용하게 한다.

Symmetric multi-processing support

여러개의 CPU를 쓸 수 있도록 하는 옵션이다. Hyper Threading을 지원하는 Pentium 4 CPU가 있으면 마찬가지로 SMP를 사용하는 것이 좋다.

Preemptible Kernel

Preemptible 스케줄러를 사용하는 옵션이다. 어플리케이션의 빠른 반응속도를 원하면 사용하도록 한다. 서버로 사용할 생각이면 꺼두는 것이 좋다.

Machine Check Exception

현재 시스템에 이상이 생겼을 때 알려주는 기능을 한다.

Intel ?IA32 CPU microcode support

microcode_ctl로 P6이상의 CPU에서 지원하는 마이크로코드를 업데이트 할 수 있다. (Intel CPU Only)

Model-specific register support

Model specific register에 접근할 수 있는 장치 파일을 만든다.

CPU information support

지정한 CPU에 CPUID 명령을 수행할 수 있는 장치 파일을 만든다.

BIOS Enhanced Disk Drive calls determine boot disk

High Memory support

대형 메모리 지원 옵션이다. 현재 시스템의 램 크기가 1G이상 혹은 64G이하면 알맞은 옵션을 설정하는 것이 좋을 것이다.

Math emulation

수치연산 프로세서가 없는 CPU를 위한 옵션이다. 486이상의 PC에서는 필요없는 옵션이다.

MTRR (Memory Type Range Register) support

P6이상의 프로세서에 있는 MTRR레지스터 지원이다. 이 옵션이 켜져있으면 비디오카드에서 많은 양의 데이터를 전송할 때 속도향상이 있다고 한다.

Power management options (ACPI, APM)  —>

[*] Power Management support

[*]   Software Suspend (EXPERIMENTAL)

[*]   Suspend-to-Disk Support

()      Default resume partition

ACPI (Advanced Configuration and Power Interface) Support  —>

APM (Advanced Power Management) BIOS Support  —>

CPU Frequency scaling  —>

전원관리 옵션이다.

Power management options

리눅스 커널의 전원관리 subsystem을 사용하는 옵션이다.

Software Suspend

Suspend-to-Disk Support

둘다 시스템의 메모리를 하드디스크에 저장시켰다가 다음 부팅때 읽어들어서 이전 상태로 되돌리는 기능이다. 같은 코드기반이지만 구분되어 관리하고 있다.

ACPI (Advanced Configuration and Power Interface) Support —>

[*] ACPI Support

[ ]   Sleep States (EXPERIMENTAL)

   AC Adapter

   Battery

   Button

   Fan

   Processor

     Thermal Zone

< >   ASUS/Medion Laptop Extras

< >   Toshiba Laptop Extras

[ ]   Debug Statements

[*]   Relaxed AML

ACPI는 전원관리와 하드웨어 설정을 OS와 유기적으로 하기위한 표준이다. acpi 기능을 쓰고 싶다면 이 옵션을 켜고 acpi daemon을 쓰도록 하자.

APM (Advanced Power Management) BIOS Support  —>

APM (Advanced Power Management) BIOS support

[ ]   Ignore USER SUSPEND

[*]   Enable PM at boot time

[ ]   Make CPU Idle calls when idle

[ ]   Enable console blanking using APM

[ ]   RTC stores time in GMT

[*]   Allow interrupts during APM BIOS calls

[*]   Use real mode APM BIOS call to power off

APM은 BIOS에서 전원관리를 하기위한 표준이다. apm 기능을 쓰고 싶다면 이 옵션을 켜고 apmd를 설치하는 것이 좋다.

CPU Frequency scaling  —>

[*] CPU Frequency scaling

   /proc/cpufreq interface (deprecated)

      Default CPUFreq governor (performance)  —>

—   ‘performance’ governor

   ‘powersave’ governor

   ‘userspace’ governor for userspace frequency scaling

[*]     /proc/sys/cpu/ interface (2.4. / OLD)

   CPU frequency table helpers

—   CPUFreq processor drivers

ACPI Processor P-States driver

[*]   /proc/acpi/processor/../performance interface (deprecated)

< > AMD Mobile K6-2/K6-3 PowerNow!

< > AMD Mobile Athlon/Duron PowerNow!

< > AMD Opteron/Athlon64 PowerNow!

< > Cyrix MediaGX/NatSemi Geode Suspend Modulation

< > Intel Enhanced SpeedStep

< > Intel Speedstep on ICH-M chipsets (ioport interface)

< > Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)

< > Intel Pentium 4 clock modulation

< > Transmeta LongRun

< > VIA Cyrix III Longhaul

CPU Frequency scaling은 각종 모바일 및 임베디드 CPU의 소비전력을 절약하기 위한 기능을 쓸 수 있게 해준다. 해당 기능이 있는 CPU를 가지고 있다면 켜둔다.

Bus options (PCI, PCMCIA, EISA, MCA, ISA) —>

[*] PCI support

PCI access mode (Any) —>

[*]   Legacy /proc/pci interface

[*]   PCI device name database

[ ] ISA support

[ ] MCA support

< > NatSemi SCx200 support

[*] Support for hot-pluggable devices

PCMCIA/CardBus support  —>

PCI Hotplug Support  —>

시스템에서 쓰이는 각종 Bus 지원 설정이다.

PCI support

PCI Bus 지원옵션이다. 최근에 나오는 주변장치들은 대부분 PCI형식이므로 이 옵션을 꼭 넣자.

Legacy /proc/pci interface

/proc/pci 파일로 현재 시스템에 장착된 PCI장치들을 살펴볼 수 있다. pciutils에서 사용되며 커널 2.6에서는 sysfs에서 관리를 할 수 있으므로 필요는 없지만 기존의 프로그램중에서 사용될 수 있으므로 옵션에 넣었다.

PCI device name database

/proc/pci, /proc/ioports등에서 나오는 pci 기기정보를 숫자로된 id대신 장치 이름으로 보여주게 한다.

ISA support

MCA support

?NatSemi ?SCx200 support

최근의 일반적인 PC메서 사용되지 않는 Bus형식이다.

Support for hot-pluggable devices

/proc/sys/kernel/hotplug에 프로그램을 등록해서 시스템이 구동되는 도중에 주변장치를 붙이고 뗄수 있는 기능을 사용하도록 한다. 등록되는 프로그램은 hotplug agent라고 부르며 현재 http://linux-hotplug.sourceforge.net에서 받을 수 있다. 커널 2.6에서는 hotplug와 udev를 쓸 수 있다.

PCMCIA?/CardBus support

노트북에서 사용되는 PCMCIA?/CardBus장치를 쓰기 위한 옵션이다.

PCI Hotplug Support

핫플러그가 되는 PCI장치를 위한 옵션이다. 일반 PC에서는 필요없다.

Executable file formats  —>

<*> Kernel support for ELF binaries

Kernel support for a.out ECOFF binaries

Kernel support for MISC binaries

실행파일 로더에 대한 옵션이다.

Kernel support for ELF binaries

ELF 형식의 실행파일을 실행할 수 있도록 하는 옵션이다.

Kernel support for a.out ECOFF binaries

a.out 형식의 실행파일을 실행할 수 있도록 하는 옵션이다.

Kernel support for MISC binaries

그외 여러가지 형식의 실행파일을 실행할 수 있도록 한다. Java VM(java), DOSEMU(dos), Wine(windows), dotgnu, mono(ECMA CLI) 등과 같은 해당 실행파일을 해석할 수 있는 인터프리터와 실행파일의 헤더 혹은 확장자를 등록한 후 그 파일에 실행퍼미션을 주고 실행하면 해당 인터프리터가 파일을 읽어들인후 해석한다.

Device Drivers  —>

  Generic Driver Options  —>

  Memory Technology Devices (MTD)  —>

  Parallel port support  —>

  Plug and Play support  —>

  Block devices  —>

  ATA/ATAPI/MFM/RLL support  —>

  SCSI device support  —>

  Multi-device support (RAID and LVM)  —>

  Fusion MPT device support  —>

  IEEE 1394 (FireWire) support (EXPERIMENTAL)  —>

  I2O device support  —>

  Networking support  —>

  ISDN subsystem  —>

  Telephony Support  —>

  Input device support  —>

  Character devices  —>

  Multimedia devices  —>

  Graphics support  —>

  Sound  —>

  USB support  —>

각종 주변장치 드라이버를 선택할 수 있다.

Generic Driver Options  —>

Hotplug firmware loading support

모듈이 커널에 포함되지 않은 핫플러그 펌웨어를 읽을 수 있도록 한다.

Memory Technology Devices (MTD) —>

< > Memory Technology Device (MTD) support

소형기기에서 쓰이는 여러가지 저장장치를 지원한다.

Parallel port support —>

Parallel port support

   PC-style hardware    

< >     Multi-IO cards (parallel and serial)

[*]     Use FIFO/DMA if available (EXPERIMENTAL)    

[ ]     SuperIO chipset support (EXPERIMENTAL)

[*] Support foreign hardware    

[*] IEEE 1284 transfer modes

병렬포트를 지원한다.

Plug and Play support   —>

[*] Plug and Play support

[ ]   PnP Debug Messages      —   Protocols

[ ]   ISA Plug and Play support (EXPERIMENTAL)

[*]   Plug and Play BIOS support (EXPERIMENTAL)

Plug and Play장치를 지원한다.

Block devices  —>

< > Parallel port IDE device support

< > Compaq SMART2 support

< > Compaq Smart Array 5xxx support

< > Mylex DAC960/DAC1100 PCI RAID Controller support

< > Micro Memory MM5415 Battery Backed RAM support (EXPERIMENTAL)

Loopback device support

   Cryptoloop Support

Network block device support

<*> RAM disk support

(4096) Default RAM disk size

[*] Initial RAM disk (initrd) support

[*] Support for Large Block Devices

Loopback device support

보통 파일을 블럭장치처럼 쓰려고 할 때 필요하다. losetup이나 mount의 loop옵션을 사용해서 쓸 수 있다.

Network block device support

네트워크 블럭장치에 대한 옵션이다. 원격 호스트에 있는 블럭 장치에 연결할 때 쓰인다.

RAM disk support

RAM을 블럭장치처럼 쓰려고 할 때 필요하다.

Initial RAM disk (initrd) support

부트로더에서 로딩할 수 있는 램디스크 이미지 (주로 root 파일 시스템을 마운트하기 위해)를 쓰기위한 옵션이다.

Support for Large Block Devices

2TB이상의 블럭장치를 쓰기위한 옵션이다.

ATA/ATAPI/MFM/RLL support  —>

<*> ATA/ATAPI/MFM/RLL support

<*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support

—     Please see Documentation/ide.txt for help/info on IDE drives

[ ]     Use old disk-only driver on primary interface

<*>     Include IDE/ATA-2 DISK support

[*]       Use multi-mode by default

[*]       Auto-Geometry Resizing support

     Include IDE/ATAPI CDROM support

< >     Include IDE/ATAPI TAPE support (EXPERIMENTAL)

< >     Include IDE/ATAPI FLOPPY support

     SCSI emulation support

[*]     IDE Taskfile Access

[*]     IDE Taskfile IO (EXPERIMENTAL)

—     IDE chipset support/bugfixes

[ ]     CMD640 chipset bugfix/support

[*]     PNP EIDE support

[*]     PCI IDE chipset support

[*]       Sharing PCI IDE interrupts support

[ ]       Boot off-board chipsets first support

[*]       Generic PCI IDE Chipset Support

< >       OPTi 82C621 chipset enhanced support (EXPERIMENTAL)

< >       RZ1000 chipset bugfix/support

[*]       Generic PCI bus-master DMA support

[ ]         ATA tagged command queueing (EXPERIMENTAL)

[ ]         Force enable legacy 2.0.X HOSTS to use DMA

[*]         Use PCI DMA by default when available

[ ]           Enable DMA only for disks

[ ]         ATA Work(s) In Progress (EXPERIMENTAL)

< >         AEC62XX chipset support

< >         ALI M15x3 chipset support

< >         AMD and nVidia IDE support

< >         CMD64{3|6|8|9} chipset support

< >         Compaq Triflex IDE support

< >         CY82C693 chipset support

< >         Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)

< >         Cyrix/National Semiconductor CS5530 MediaGX chipset support

< >         HPT34X chipset support

< >         HPT36X/37X chipset support

< >         National SCx200 chipset support

<*>         Intel PIIXn chipsets support

< >         NS87415 chipset support

< >         PROMISE PDC202{46|62|65|67} support

< >         PROMISE PDC202{68|69|70|71|75|76|77} support

< >         ServerWorks OSB4/CSB5/CSB6 chipsets support

< >         Silicon Image chipset support

< >         SiS5513 chipset support

< >         SLC90E66 chipset support

< >         Tekram TRM290 chipset support

< >         VIA82CXXX chipset support

[ ]     IGNORE word93 Validation BITS

ATA/ATAPI (AT Attachment / Packet Interface)장치와 구식의 MFM/RLL 장치를 위한 옵션이다.

Use old disk-only driver on primary interface

기본(첫번째)인터페이스에 대해 디스크만 제어할 수 있는 드라이버를 쓰는 옵션이다. 이 옵션을 사용하면 디스크 이외의 장치(플로피, 시디롬, 테이프 등등)으로 부팅을 못하도록 한다.

Include IDE/ATA-2 DISK support

IDE/MFM/RLL 하드 디스크 지원 옵션이다.

Include IDE/ATAPI CDROM support

IDE/ATAPI CDROM 지원 옵션이다.

Include IDE/ATAPI TAPE support

IDE/ATAPI 테이프 장치 지원 옵션이다.

Include IDE/ATAPI FLOPPY support

IDE/ATAPI 플로피 드라이브 지원 옵션이다. 노트북용 플로피를 쓴다면 포함해두는 것이 좋다.

SCSI emulation support

IDE인터페이스 장치를 scsi인터페이스 처럼 사용할 수 있도록 한다. CD-R장치를 쓰려면 포함하는 것이 좋다.

IDE Taskfile Access

ioctl로 Taskfile명령을 내릴수 있도록 하는 옵션이다.

IDE Taskfile IO

Taskfile IO명령을 사용하는 옵션이다.

PCI IDE chipset support

PCI IDE칩셋 지원이다. 아래에 있는 여러 칩셋들 중 자신에게 맞는 칩셋을 선택하도록하자.

Sharing PCI IDE interrupts support

PCI IDE 인터럽트를 공유할 수 있도록 한다.

Boot off-board chipsets first support

메인보드에 내장되지 않은 IDE인터페이스에 연결된 장치로 부팅할 수 있도록 하는 옵션이다.

Generic PCI IDE Chipset Support

PCI IDE 칩셋지원옵션이다. 이것만 설정을 해두어도 커널에서 IDE인터페이스는 인식이 가능하다. 하지만 hdparm옵션이 제대로 적용안되는 경우가 많다.

Generic PCI bus-master DMA support

데이터를 전송할 때 CPU의 점유율을 낮추기 위해서 DMA설정을 할 수 있도록 한다.

Use PCI DMA by default when available

기본값으로 DMA를 활성화한다.

Enable DMA only for disks

일부 CDROM장치에서 DMA를 활성화하면 데이터 전송에 실패할 수 있다. 이 옵션을 켜면 디스크 장치만 DMA를 켜두도록 한다.

SCSI device support —>

SCSI device support

[*]   legacy /proc/scsi/ support

—   SCSI support type (disk, tape, CD-ROM)

   SCSI disk support

< >   SCSI tape support

< >   SCSI OnStream SC-x0 tape support

   SCSI CDROM support

[*]     Enable vendor-specific extensions (for SCSI CDROM)

   SCSI generic support

—   Some SCSI devices (e.g. CD jukebox) support multiple LUNs

[*]   Probe all LUNs on each SCSI device

[*]   Build with SCSI REPORT LUNS support

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

[ ]   SCSI logging facility

Multi-device support (RAID and LVM) —>

[*] Multiple devices driver support (RAID and LVM)

   RAID support

     Linear (append) mode

     RAID-0 (striping) mode

     RAID-1 (mirroring) mode

     RAID-4/RAID-5 mode

     Multipath I/O support

   Device mapper support

[*]     ioctl interface version 4

Software RAID및 LVM옵션이다. 여러개의 하드디스크를 하나처럼 쓰려고 할 때 쓰인다. Device mapper는 LVM의 새로운 이름이다. 이 기능들을 쓰려면 raidtools와 lvm2 tools를 설치하여야 한다. 이외에 커널 2.6에 포함되지 않았지만 evms로 여러가지 기능을 쓸 수 있다.

Fusion MPT device support  —>

< > Fusion MPT (base + ScsiHost) drivers

IEEE 1394 (FireWire) support (EXPERIMENTAL)  —>

IEEE 1394 (FireWire) support (EXPERIMENTAL)

—   Subsystem Options

[ ]   Excessive debugging output

[*]   OUI Database built-in

—   Device Drivers

< >   Texas Instruments PCILynx support

   OHCI-1394 support

—   Protocol Drivers

   OHCI-1394 Video support

   SBP-2 support (Harddisks etc.)

[ ]     Enable Phys DMA support for SBP2 (Debug)

   Ethernet over 1394

   OHCI-DV I/O support

   Raw IEEE1394 I/O support

   IEC61883-1 Plug support

     IEC61883-6 (Audio transmission) support

고속 전송을 지원하는 ?IEEE1394(iLink혹은 Firewire라고 불리기도 한다)를 지원하는 옵션이다.

Texas Instruments ?PCILynx support

OHCI-1394 support

?IEEE1394 호스트 드라이버이다. 대부분이 OHCI호환이므로 OHCI-1394를 선택하면 된다.

OHCI-1394 Video support

?IEEE1394로 비디오 장치를 쓰려고 할 때 쓰이는 옵션이다

SBP-2 support (Harddisks etc.)

?IEEE1394로 저장장치를 쓰려고 할 때 쓰이는 옵션이다. USB와 마찬가지로 scsi호스트를 에물레이션해준다.

Ethernet over 1394

?IEEE1394로 이더넷을 에물레이션 해준다. modprobe.conf에서 ethx장치와 alias걸어주면 작동하게 될 것이다.

OHCI-DV I/O support

Digital Video스트림을 주고받도록 해준다.

Raw ?IEEE1394 support

커널모드가 아닌 사용자 모드에서 ?IEEE1394로 데이터를 주고 받을 수 있도록 한다.

I2O device support  —>

I2O support

   I2O PCI support

   I2O Block OSM

   I2O SCSI OSM

   I2O /proc support

Networking support  —>

[*] Networking support

      Networking options  —>

[*]   Network device support

        ARCnet devices  —>

     Dummy net driver support

< >     Bonding driver support

< >     EQL (serial line load balancing) support

< >     Universal TUN/TAP device driver support

< >     Ethertap network tap

< >     General Instruments Surfboard 1000

        Ethernet (10 or 100Mbit)  —>

        Ethernet (1000 Mbit)  —>

        Ethernet (10000 Mbit)  —>

[ ]     FDDI driver support

[ ]     HIPPI driver support (EXPERIMENTAL)

< >     PLIP (parallel port) support

     PPP (point-to-point protocol) support

[ ]       PPP multilink support (EXPERIMENTAL)

[ ]       PPP filtering

       PPP support for async serial ports

       PPP support for sync tty ports

       PPP Deflate compression

       PPP BSD-Compress compression

       PPP over Ethernet (EXPERIMENTAL)

       PPP over ATM

< >     SLIP (serial line) support

        Wireless LAN (non-hamradio)  —>

        Token Ring devices  —>

[ ]     Fibre Channel driver support

< >     Red Creek Hardware VPN (EXPERIMENTAL)

     Traffic Shaper (EXPERIMENTAL)

        Wan interfaces  —>

        ATM drivers  —>

    Amateur Radio support  —>

    IrDA (infrared) support  —>

    Bluetooth support  —>

Dummy net driver support

네트워크 인터페이스가 있는것 처럼 하는 드라이버다. slip이나 ppp를 쓰려면 옵션을 켜주어야 한다.

Bonding driver support

여러개의 이더넷 장치를 하나의 이더넷 장치처럼 쓰도록 한다.

EQL (serial line load balancing) support

두개의 시리얼 포트 연결을 하나의 연결처럼 쓰도록 하는 드라이버이다.

PLIP (parallel port) support

패래럴 포트 연결을 지원하는 드라이버이다. 두 컴퓨터 사이의 네트워크 연결을 패래럴 포트로 연결하여 쓰려고 할 때 필요하다.

PPP (point-to-point protocol) support

PPP연결이 필요로 할 때 쓰이는 드라이버이다.

SLIP (serial line) support

시리얼 포트 연결을 지원하는 드라이버이다. 두 컴퓨터 사이의 네트워크 연결을 시리얼 포트로 연결하여 쓰려고 할 때 필요하다.

Wireless LAN (non-hamradio)

무선랜 지원 옵션이다. 무선랜 장치를 쓰고 있다면 이 옵션에 들어가 사용하는 무선랜카드를 선택하면 된다.

Token Ring devices

토큰링 장치를 위한 옵션이다.

Traffic Shaper (EXPERIMENTAL)

네트워크의 출력 대역폭을 조절할 수 있는 모듈이다.

?IrDA (infrared) support

적외선 통신 장치를 이용할 때 쓰이는 옵션이다.

Bluetooth support

Bluetooth 장치를 쓸 때 필요한 옵션이다.

Networking options  —>

<*> Packet socket

[*]   Packet socket: mmapped IO

Netlink device emulation

<*> Unix domain sockets

PF_KEY sockets [*]

TCP/IP networking

[*]   IP: multicasting

[ ]   IP: advanced router

[ ]   IP: kernel level autoconfiguration

< >   IP: tunneling

< >   IP: GRE tunnels over IP

[ ] IP: multicast routing

[ ] IP: ARP daemon support (EXPERIMENTAL)

[*] IP: TCP Explicit Congestion Notification support

[*] IP: TCP syncookie support (disabled per default)

IP: AH transformation

IP: ESP transformation

IP: IPComp transformation

    IP: Virtual Server Configuration  —>

The IPv6 protocol (EXPERIMENTAL)

[*]   IPv6: Privacy Extensions (RFC 3041) support

   IPv6: AH transformation

   IPv6: ESP transformation

   IPv6: IPComp transformation

   IPv6: IPv6-in-IPv6 tunnel

< > DECnet Support

802.1d Ethernet Bridging

[*] Network packet filtering (replaces ipchains)  —>

IPsec user configuration interface

    SCTP Configuration (EXPERIMENTAL)  —>

Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)

   Classical IP over ATM (EXPERIMENTAL)

[ ]     Do NOT send ICMP if no neighbour (EXPERIMENTAL)

   LAN Emulation (LANE) support (EXPERIMENTAL)

     Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)

< >   RFC1483/2684 Bridged protocols

802.1Q VLAN Support

< > ANSI/IEEE 802.2 LLC type 2 Support

The IPX protocol

[*]   IPX: Full internal IPX network

< > Appletalk protocol support

< > CCITT X.25 Packet Layer (EXPERIMENTAL)

< > LAPB Data Link Driver (EXPERIMENTAL)

[ ] Frame Diverter (EXPERIMENTAL)

< > Acorn Econet/AUN protocols (EXPERIMENTAL)

< > WAN router

[ ] Fast switching (read help!)

[ ] Forwarding between high speed interfaces

    QoS and/or fair queueing  —>

    Network testing  —>

Packet socket

커널에서 구현된 네트워크 프로토콜을 사용하지 않고 직접 네트워크 장치와 통신하는 프로그램을 쓸 때 필요하다. tcpdump 같은 프로그램을 쓰려면 포함시키자.

Packet socket: mmaped IO

패킷 소켓을 쓸 때 빠른 입출력을 원한다면 커널에 포함시킨다.

Unix domain sockets

유닉스 도메인 소켓을 지원한다. X windows나 syslog같은 프로그램을 쓴다면 포함시켜야 할 것이다.

TCP/IP networking

커널의 TCP/IP를 지원한다.

IP: multicasting

한번에 여러군데의 컴퓨터에 데이터를 전달하기 위한 옵션이다. 일반 사용자에게는 필요하지 않다.

IP: advanced router

리눅스 컴퓨터를 라우터처럼 쓸 때 필요한 옵션이다.

IP: Kernel level autoconfiguration

커널안에서 DHCP, 또는 BOOTP, RARP 같은 프로토콜을 이용해 네트워크 설정을 할 수 있도록 한다. nfs를 root filesystem으로 쓰려면 꼭 넣어야 한다.

IP: tunneling

어떤 프로토콜로 감싼 데이터를 다른 프로토콜 위에 올리고 보낸 것을 해석할 수 있도록 하는 기능이다.

IP: GRE tunnels over IP

터널링중 특히 ?IPv4혹은 IPv6로 보낸 데이터를 ?IPv4에 다시 올릴 때 쓰이는 기능이다.

IP: multicast routing

멀티 캐스트 패킷을 라우팅할 때 쓰이는 옵션이다.

IP: TCP Explicit Congestion Notification support

ECN은 라우터가 클라이언트들에게 패킷이 붐비는 것을 알려줘서 패킷을 잃어버리는 것을 줄이고 네트워크 성능을 올리는 역할을 한다. 하지만 많은 방화벽이 ECN을 제대로 지원하지 않기 때문에 방화벽 안에서는 별 효용성이 없다고 한다. sysctl로 켜거나 끌 수 있다.

IP: TCP syncookie support

SYN flooding공격을 방지하기 위해 쓰이는 옵션이다. 하지만 서버에 과부하가 걸렸을 때 클라이언트에 대한 오류 정정 보고를 방해할 수 있다. sysctl로 켜거나 끌 수 있다.

IP: Virtual Server Configuration

IPVS가 리눅스 2.6에 정식으로 들어갔다. 이를 이용해 balancing server를 구축할 수 있다.

The IPv6 protocol

차세대 인터넷 프로토콜인 IPv6에 대한 지원 설정이다.

Network packet filtering

특정 조건에 맞는 네트워크 패킷을 걸러내거나 통과시킬 수 있도록 하는 옵션이다. 방화벽이나 NAT를 구축하려고 할 때 쓰인다.

?QoS and/or fair queueing

특정 조건에 맞는 네트워크 패킷의 전송속도를 조절할 수 있도록 하는 옵션이다.

ISDN subsystem —>

[ ] ISDN support

Telephony Support  —>

< > Linux telephony support

Input device

— Userland interfaces

— Mouse interface

(1024) Horizontal screen resolution

(768) Vertical screen resolution

Joystick interface

Touchscreen interface

(240) Horizontal screen resolution

(320) Vertical screen resolution

Event interface

< > Event debugging

— Input I/O drivers

Gameport support

Classic ISA and PnP gameport support

< > PDPI Lightning 4 gamecard support

SB Live and Audigy gameport support

< > Aureal Vortex, Vortex 2 gameport support

< > ForteMedia FM801 gameport support

< > Crystal SoundFusion gameport support

— Serial i/o support

<*> i8042 PC Keyboard controller

Serial port line discipline

< > ct82c710 Aux port controller

< > Parallel port keyboard adapter

PCI PS/2 keyboard and PS/2 mouse controller

— Input Device Drivers

— Keyboards

< >   Sun Type 4 and Type 5 keyboard support

< >   XT Keyboard support

< >   Newton keyboard

[*] Mice

   PS/2 mouse

[ ]     Synaptics TouchPad

   Serial mouse

[*] Joysticks

   Classic PC analog joysticks and gamepads

< >   Assasin 3D and MadCatz Panther devices

< >   Logitech ADI digital joysticks and gamepads

   Creative Labs Blaster Cobra gamepad

< >   Genius Flight2000 Digital joysticks and gamepads

< >   Gravis GrIP joysticks and gamepads

< >   Gravis GrIP MultiPort

< >   Guillemot joysticks and gamepads

< >   InterAct digital joysticks and gamepads

   Microsoft SideWinder digital joysticks and gamepads

< >   ThrustMaster DirectConnect joysticks and gamepads

   I-Force devices

[*]     I-Force USB joysticks and wheels

[ ]     I-Force Serial joysticks and wheels

   Logitech WingMan Warrior joystick

< >   LogiCad3d Magellan/SpaceMouse 6dof controllers

< >   SpaceTec SpaceOrb/Avenger 6dof controllers

< >   SpaceTec SpaceBall 6dof controllers

< >   Gravis Stinger gamepad

< >   Twiddler as a joystick

   Multisystem, Sega Genesis, Saturn joysticks and gamepads

   Multisystem, NES, SNES, N64, PSX joysticks and gamepads

   Multisystem joysticks via TurboGraFX device

   Gameport data dumper

[*] Touchscreens

   Gunze AHL-51S touchscreen

[*] Misc

   PC Speaker support

   User level driver support

Input device

커널 2.6의 Input Subsystem은 완전히 새로 쓰여졌다. 키보드 드라이버는 더이상 콘솔드라이퍼에 포함되지 않으며 완전히 분리되었다. 현재 시스템에 등록된 입력장치에 대한 정보를 보려면 /proc/bus/input 에 있는 파일들을 참조하면 된다.

Mouse interface

리눅스의 마우스 인터페이스에 대한 옵션이다. 마우스 장치를 쓰려면 이 옵션과 아래의 장치 옵션을 켜주어야 한다. 모든 마우스는 기본적으로 /dev/input/mice 라는 장치로 접근이 가능하게 되고 각각의 마우스는 /dev/mouseX라는 장치로 접근이 가능하다.

Provide legacy /dev/psaux device

이전의 리눅스 커널처럼 /dev/psaux 장치를 만들어 주도록 한다.

Joystick interface

리눅스의 조이스틱 인터페이스에 대한 옵션이다. 조이스틱 장치를 쓰려면 이옵션과 함께 조이스틱 포트 옵션과 조이스틱 욥션을 켜주어야 한다. 조이스티은 /dev/input/jsX라는 장치로 접근이 가능하다.

Gameport support

조이스틱 포트에 대한 옵션이다. 알맞은 게임 포트 옵션을 선택하면 된다. 일부 게임포트 드라이버는 사운드 카드 모듈에 들어있을 수 있다.

i8042 PC Keyboard controller

일반 AT 컴퓨터에서 쓰이는 키보드 컨트롤러 모듈이다. 커널 2.6에서는 완전히 모듈화가 되어있어서 커널에서 빼버릴 수도 있다. 하지만 빼버리게 되면 가상 콘솔을 전혀 쓸수 없게된다.

Character devices —>

[*] Virtual terminal

[*]   Support for console on virtual terminal

[ ] Non-standard serial port support

    Serial drivers  —>

[*] Unix98 PTY support

(256) Maximum number of Unix98 PTYs in use (0-2048)

Parallel printer support

[ ]   Support for console on line printer

Support for user-space parallel port device drivers

< > Texas Instruments parallel link cable support

    I2C support  —>

    Mice  —>

< > QIC-02 tape support

    IPMI  —>

    Watchdog Cards  —>

Intel/AMD/VIA HW Random Number Generator support

/dev/nvram support

<*> Enhanced Real Time Clock Support

< > Double Talk PC internal speech card support

< > Siemens R3964 line discipline

< > Applicom intelligent fieldbus card support

< > Sony Vaio Programmable I/O Control Device support (EXPERIMENTAL)

    Ftape, the floppy tape device driver  —>

/dev/agpgart (AGP Support)

< >   ALI chipset support

< >   ATI chipset support

< >   AMD Irongate, 761, and 762 chipset support

< >   AMD Opteron/Athlon64 on-CPU GART support

   Intel 440LX/BX/GX, I8xx and E7x05 chipset support

< >   NVIDIA nForce/nForce2 chipset support

< >   SiS chipset support

< >   Serverworks LE/HE chipset support

< >   VIA chipset support

[*] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

< >   3dfx Banshee/Voodoo3+

< >   3dlabs GMX 2000

< >   ATI Rage 128

< >   ATI Radeon

< >   Intel I810

< >   Intel 830M, 845G, 852GM, 855GM, 865G

   Matrox g200/g400

< >   SiS video cards

< > ACP Modem (Mwave) support

RAW driver (/dev/raw/rawN)

(256) Maximum number of RAW devices to support (1-8192)

Hangcheck timer

Virtual terminal

가상 터미널을 쓸 수 있도록 하는 옵션이다. 리눅스에서는 하나의 콘솔을 여러개의 터미널 처럼 쓸 수있다.

Non-standard serial port support

비표준 시리얼 장치에 대한 지원이다.

Serial drivers

표준 시리얼 장치에 대한 옵션이다. 모뎀이나 시리얼 마우스, 혹은 slip을 사용하려면 이 옵션을 켜야 한다.

Unix98 PTY support

Pseudo Terminal 지원이다. 원격 터미널이나 xterm같은 데에서 사용된다.

Parallel printer support

패래럴 장치에 대한 지원이다. 프린터를 연결하거나 plip등을 사용하려면 이 옵션을 켜야한다.

?I2C support

?I2C는 필립스에서 개발한 마이크로 컨트롤러용 저속 시리얼 버스 프로토콜이다. 컴퓨터에 있는 온도 센서, 혹은 비디오 캡쳐장치(TV카드)등을 사용하려면 이 옵션을 켜야 한다.

Intel/AMD/VIA HW Random Number Generator support

최근에 나오는 메인보드의 하드웨어 난수발생기를 지원하는 옵션이다.

Enhanced Real Time Clock Support

시스템의 내장 클럭을 쓸 수 있게 하는 옵션이다. SMP를 쓰려면 꼭 넣어야한다.

/dev/agpgart (AGP Support)

AGP 포트 드라이버이다. 커널 2.6에서는 아래의 각 벤더별로 모듈이 분리되어 있다.

Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

커널측의 DRM 드라이버이다. XFree86의 dri를 쓰려면 이 옵션을 켜야 한다.

RAW driver (/dev/raw/rawN)

block장치를 char장치처럼 쓰게 해주는 raw장치를 만들어 준다.

Multimedia devices —>

Video For Linux

      Video For Linux  —>

      Radio Adapters  —>

    Digital Video Broadcasting Devices  —>

Multimedia devices

리눅스에서 각종 방송장비를 쓸 수 있도록 한다.

Video For Linux

비디오 및 오디오 캡처 기기에 대한 커널측 API이다. 일반 아나로그 TV카드, 혹은 웹캠 같은 장비를 쓰려면 여기서 알맞은 칩셋을 선택하면 된다. 일부 FM통합카드도 지원된다.

Radio Adapters

라디오 튜너 지원옵션이다.

Digital Video Broadcasting Devices

디지털 TV 카드에 대한 커널측 API이다.

Graphics support —>

[*] Support for frame buffer devices

< >   CyberPro 2000/2010/5000 support (NEW)

[ ]   IMS Twin Turbo display support (NEW)

< >   VGA 16-color graphics support (NEW)

[ ]   VESA VGA graphics support (NEW)

< >   Hercules mono graphics support (NEW)

< >   nVidia Riva support (NEW)

< >   Intel 810/815 support (EXPERIMENTAL) (NEW)

< >   Matrox acceleration

< >   ATI Radeon display support (NEW)

< >   ATI Rage128 display support (NEW)

< >   ATI Mach64 display support (NEW)

< >   SIS acceleration (NEW)

< >   NeoMagic display support (NEW)

< >   3Dfx Banshee/Voodoo3 display support (NEW)

< >   3Dfx Voodoo Graphics (sst1) support (NEW)

< >   Trident support (NEW)

< > Virtual Frame Buffer support (ONLY FOR TESTING!) (NEW)

    Console display driver support  —>

    Logo configuration  —>

Graphics support

컴퓨터의 그래픽 카드에 대한 옵션이다. 리눅스 커널에서 직접 그래픽 카드를 다루어야 할 때 필요한 옵션을 여기서 선택할 수 있다.

Support for frame buffer devices

프레임 버퍼는 리눅스 커널에서 그래픽 카드에 직접 이미지를 뿌리는 작업을 할 때 쓰인다. 자신의 컴퓨터에 알맞는 옵션을 선택하면 된다.

Console display driver support

콘솔 화면의 드라이버를 선택하는 옵션이다. VGA text console은 꼭 선택해주는 것이 좋다. 그렇지 않으면 모니터에 아무것도 나오지 않을 것이다. 프레임 버퍼장치를 콘솔로 쓰려면 Framebuffer Console support를 선택하면 된다.

Logo configuration

프레임 버퍼 콘솔로 부팅할 때 쓰이는 부팅 로고를 설정할 수 있다.

Sound —>

Sound card support

    Advanced Linux Sound Architecture  —>

    Open Sound System  —>

USB support  —>

Support for USB

[ ]   USB verbose debug messages

—   Miscellaneous USB options

[*]   USB device filesystem

[*]   Enforce USB bandwidth allocation (EXPERIMENTAL)

[*]   Dynamic USB minor allocation (EXPERIMENTAL)

—   USB Host Controller Drivers

   EHCI HCD (USB 2.0) support

< >   OHCI HCD support

   UHCI HCD (most Intel and VIA) support

—   USB Device Class drivers

   USB Audio support

—   USB Bluetooth TTY can only be used with disabled Bluetooth subs│ │

   USB MIDI support

   USB Modem (CDC ACM) support

   USB Printer support

   USB Mass Storage support

[ ]     USB Mass Storage verbose debug

[*]     Datafab Compact Flash Reader support (EXPERIMENTAL)

[*]     Freecom USB/ATAPI Bridge support

[*]     ISD-200 USB/ATA Bridge support

[*]     Microtech CompactFlash/SmartMedia support

[*]     HP CD-Writer 82xx support (EXPERIMENTAL)

[*]     SanDisk SDDR-09 (and other SmartMedia) support (EXPERIMENTAL)│ │

[*]     SanDisk SDDR-55 SmartMedia support (EXPERIMENTAL)

[*]     Lexar Jumpshot Compact Flash Reader (EXPERIMENTAL)

—   USB Human Interface Devices (HID)

   USB Human Interface Device (full HID) support

[*] HID input layer support

[*]   Force feedback support (EXPERIMENTAL)

[*]     PID Devices (Microsoft Sidewinder Force Feedback 2)

[*]     Logitech WingMan *3D support

[*] /dev/hiddev raw HID device support

    USB HID Boot Protocol drivers  —>

Aiptek 6000U/8000U tablet support

Wacom Intuos/Graphire tablet support

KB Gear JamStudio tablet support

Griffin PowerMate and Contour Jog support

X-Box gamepad support

— USB Imaging devices

USB Mustek MDC800 Digital Camera support (EXPERIMENTAL)

USB Scanner support

Microtek X6USB scanner support

HP53xx USB scanner support (EXPERIMENTAL)

— USB Multimedia devices

DABUSB driver

USB 3com HomeConnect (aka vicam) support (EXPERIMENTAL)

D-Link USB FM radio support (EXPERIMENTAL)

USB IBM (Xirlink) C-it Camera support

USB Konica Webcam support

USB OV511 Camera support

USB Philips Cameras

USB SE401 Camera support

USB STV680 (Pencam) Camera support

— USB Network adaptors

USB CATC NetMate-based Ethernet device support (EXPERIMENTAL)

USB KLSI KL5USB101-based ethernet device support

USB Pegasus/Pegasus-II based ethernet device support

USB RTL8150 based ethernet device support (EXPERIMENTAL)

Multi-purpose USB Networking Framework

—   USB Host-to-Host Cables

[*]   AnchorChips 2720 based cables (Xircom PGUNET, …)

[*]   eTEK based host-to-host cables (Advance, Belkin, …)

[*]   GeneSys GL620USB-A based cables

[*]   NetChip 1080 based cables (Laplink, …)

[*]   Prolific PL-2301/2302 based cables

—   Intelligent USB Devices/Gadgets

[*]   Embedded ARM Linux links (iPaq, …)

[*]   Epson 2888 based firmware (DEVELOPMENT)

[*]   Sharp Zaurus (stock ROMs)

[*]   CDC Ethernet support (smart devices such as cable modems)

—   USB Network Adapters

[*]   ASIX AX88172 Based USB 2.0 Ethernet Devices

— USB port drivers

USS720 parport driver

    USB Serial Converter support  —>

— USB Miscellaneous drivers

EMI 2|6 USB Audio interface support

Texas Instruments Graph Link USB (aka SilverLink) cable support

USB Auerswald ISDN support (EXPERIMENTAL)

USB Diamond Rio500 support (EXPERIMENTAL)

Tieman Voyager USB Braille display support (EXPERIMENTAL)

USB LCD driver support

Alcatel Speedtouch USB support

USB testing driver (DEVELOPMENT)

Support for USB Gadgets  —>

File systems  —>

<*> Second extended fs support

[*]   Ext2 extended attributes

[*]     Ext2 POSIX Access Control Lists

[*]     Ext2 Security Labels

Ext3 journalling file system support

[*]   Ext3 extended attributes

[*]     Ext3 POSIX Access Control Lists

[*]     Ext3 Security Labels

[ ] JBD (ext3) debugging support

<*> Reiserfs support

[ ]   Enable reiserfs debug mode

[*]   Stats in /proc/fs/reiserfs

JFS filesystem support

[*]   JFS POSIX Access Control Lists

[ ]   JFS debugging

[*]   JFS statistics

XFS filesystem support

[ ]   Realtime support (EXPERIMENTAL)

[*]   Quota support

[*]   ACL support

< > Minix fs support

< > ROM file system support

[*] Quota support

   Old quota format support

   Quota format v2 support

< > Kernel automounter support

< > Kernel automounter version 4 support (also supports v3)

    CD-ROM/DVD Filesystems  —>

    DOS/FAT/NT Filesystems  —>

    Pseudo filesystems  —>

    Miscellaneous filesystems  —>

    Network File Systems  —>

Ext2/3 extended attributes

Ext2/3파일시스템에서 파일에 속성을 기록할 수 있게하는 옵션이다. 레드햇8에서 잠시 소개가 된 기능이다. attr패키지에 포함된 lsattr, getfattr, setfattr 명령으로 각 파일에 대해 설정할 수 있다.

Ext2/3, JFS, XFS POSIX Access Control Lists

각 파일시스템에서 파일에 사용자별, 그룹별로 권한을 기록할 수 있게하는 옵션이다. acl패키지에 포함된 chacl, getfacl, setfacl 명령으로 각 파일에 대해 설정할 수 있다.

Ext2/3 Security Labels

Ext2파일시스템에서 ?SELinux같은 확장 모듈에서 쓰이는 확장권한을 지원한다고 한다.

Quota support

사용자별 디스크 사용량을 제한할 수 있도록 한다. ext2, ext3, reiserfs에서만 사용 가능하다.

Old quota format support

커널 2.4이전의 Quota형식을 지원하도록 한다.

Quota format v2 support

32bit UID/GID를 지원하는 Quota형식을 지원하도록 한다.

XFS Quota support

XFS에서 Quota기능을 쓰려면 독자적인 XFS Quota옵션을 켜주어야 쓸 수 있다.

CD-ROM/DVD Filesystems —>

ISO 9660 CDROM file system support

[*]   Microsoft Joliet CDROM extensions

[*]   Transparent decompression extension

UDF file system support

ISO 9660 CDROM file system support

CD-ROM 또는 DVD Media에서 쓰이는 iso9660 파일시스템지원 옵션이다.

Microsoft Joliet CDROM extensions

Microsoft가 만든 긴 파일이름과 유니코드를 지원하는 iso9660의 확장이다.

Transparent decompression extension

리눅스에서만 쓸 수 있는 압축 isofs지원이다. 이러한 파일시스템을 만들려면 zisofs를 이용하면 된다.

UDF file system support

DVD Media에서 쓰이는 UDF 파일시스템 지원 옵션이다.

DOS/FAT/NT Filesystems  —>

DOS FAT fs support

   MSDOS fs support

   VFAT (Windows-95) fs support

NTFS file system support

[ ]   NTFS debugging support

[*]   NTFS write support

MSDOS fs support

이전 8.3형식의 파일이름을 지원하는 fat지원 옵션이다.

VFAT (Windows-95) fs support

VFAT 또는 ?FAT32 파일시스템을 지원하는 옵션이다.

NTFS file system support

커널 2.6에서는 NTFS-NG가 포함되었다. 이전 ntfs지원에서 지원 못하던 몇몇 속성을 사용할 수 있다.

Pseudo filesystems  —>

[*] /proc file system support

[ ] /dev file system support (OBSOLETE)

[*] /dev/pts file system for Unix98 PTYs

[*]   /dev/pts Extended Attributes

[*]     /dev/pts Security Labels

[*] Virtual memory file system support (former shm fs)

[*] HugeTLB file system support

/proc file system support

proc 가상 파일시스템을 사용할 수 있도록 한다.

/dev file system support

device장치를 자동으로 관리해주는 devfs를 사용할 수 있도록 한다. 커널 2.4와는 달리 /dev/pts를 지원하지 않는다. 곧 udev로 교체될 예정이다.

/dev/pts file system for Unix98 ?PTYs

가상터미널 장치를 자동으로 관리해주는 pts파일 시스템이다.

Virtual memory file system support (former shm fs)

동적으로 영역을 할당해주는 램파일시스템이다. /dev/shm 또는 /tmp에 주로 마운트하여 사용한다.

Miscellaneous filesystems  —>

< > ADFS file system support (EXPERIMENTAL)

< > Amiga FFS file system support (EXPERIMENTAL)

< > Apple Macintosh file system support (EXPERIMENTAL)

< > BeOS file systemv(BeFS) support (read only) (EXPERIMENTAL)

< > BFS file system support (EXPERIMENTAL)

< > EFS file system support (read only) (EXPERIMENTAL)

Compressed ROM file system support

< > FreeVxFS file system support (VERITAS VxFS(TM) compatible)

< > OS/2 HPFS file system support

< > QNX4 file system support (read only)

< > System V/Xenix/V7/Coherent file system support

UFS file system support (read only)

[*]   UFS file system write support (DANGEROUS)

Network File Systems   NFS file system support

[*]   Provide NFSv3 client support

[ ]   Provide NFSv4 client support (EXPERIMENTAL)

[*]   Allow direct I/O on NFS files (EXPERIMENTAL)

NFS server support

[*]   Provide NFSv3 server support

[ ]     Provide NFSv4 server support (EXPERIMENTAL)

[*]   Provide NFS server over TCP support (EXPERIMENTAL)

Provide RPCSEC_GSS authentication (EXPERIMENTAL)

   Kerberos V mechanism for RPCSEC_GSS (EXPERIMENTAL)

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

[*]   Use a default NLS

(cp949) Default Remote NLS Option

CIFS support (advanced network filesystem for Samba, Window and other CIFS compliant servers)(EXPERIMENTAL)

< > NCP file system support (to mount NetWare volumes)

< > Coda file system support (advanced network fs)

< > InterMezzo file system support (replicating fs) (EXPERIMENTAL)

< > Andrew File System support (AFS) (Experimental)—>

Partition Types  —>

[*] Advanced partition selection

[ ]   Acorn partition support

[ ]   Alpha OSF partition support

[ ]   Amiga partition table support

[ ]   Atari partition table support

[ ]   Macintosh partition map support

[*]   PC BIOS (MSDOS partition tables) support

[ ]     BSD disklabel (FreeBSD partition tables) support

[ ]     Minix subpartition support

[ ]     Solaris (x86) partition table support

[ ]     Unixware slices support

[ ]   Windows Logical Disk Manager (Dynamic Disk) support

[ ]   NEC PC-9800 partition table support

[ ]   SGI partition support

[ ]   Ultrix partition table support

[ ]   Sun partition tables support

[ ]   EFI GUID Partition support

Native Language Support  —>

(cp949) Default NLS Option

Codepage 437 (United States, Canada)

< > Codepage 737 (Greek)

< > Codepage 775 (Baltic Rim)

< > Codepage 850 (Europe)

< > Codepage 852 (Central/Eastern Europe)

< > Codepage 855 (Cyrillic)

< > Codepage 857 (Turkish)

< > Codepage 860 (Portuguese)

< > Codepage 861 (Icelandic)

< > Codepage 862 (Hebrew)

< > Codepage 863 (Canadian French)

< > Codepage 864 (Arabic)

< > Codepage 865 (Norwegian, Danish)

< > Codepage 866 (Cyrillic/Russian)

< > Codepage 869 (Greek)

< > Simplified Chinese charset (CP936, GB2312)

< > Traditional Chinese charset (Big5)

< > Japanese charsets (Shift-JIS, EUC-JP)

Korean charset (CP949, EUC-KR)

< > Thai charset (CP874, TIS-620)

< > Hebrew charsets (ISO-8859-8, CP1255)

< > Windows CP1250 (Slavic/Central European Languages)

< > Windows CP1251 (Bulgarian, Belarusian)

NLS ISO 8859-1  (Latin 1; Western European Languages)

< > NLS ISO 8859-2  (Latin 2; Slavic/Central European Languages)

< > NLS ISO 8859-3  (Latin 3; Esperanto, Galician, Maltese, Turkish)

< > NLS ISO 8859-4  (Latin 4; old Baltic charset)

< > NLS ISO 8859-5  (Cyrillic)

< > NLS ISO 8859-6  (Arabic)

< > NLS ISO 8859-7  (Modern Greek)

< > NLS ISO 8859-9  (Latin 5; Turkish)

< > NLS ISO 8859-13 (Latin 7; Baltic)

< > NLS ISO 8859-14 (Latin 8; Celtic)

< > NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)

< > NLS KOI8-R (Russian)

< > NLS KOI8-U/RU (Ukrainian, Belarusian)

NLS UTF8

Profiling support  —>

[*] Profiling support (EXPERIMENTAL)

< >   OProfile system profiling (EXPERIMENTAL)

Kernel hacking  —>

[*] Kernel debugging

[ ]   Check for stack overflows

[ ]   Debug memory allocations

[ ]   Memory mapped I/O debugging

[*]   Magic SysRq key

[ ]   Spinlock debugging

[ ]   Page alloc debugging

[ ]   Compile the kernel with debug info

[ ] Sleep-inside-spinlock checking

[ ] Compile the kernel with frame pointers

Security options  —>

[*] Enable different security models

[*]   Socket and Networking Security Hooks

   Default Linux Capabilities

   Root Plug Support

[*]   NSA SELinux Support

[ ]     NSA SELinux boot parameter (NEW)

[ ]     NSA SELinux Development Support

[ ]     NSA SELinux MLS policy (EXPERIMENTAL) (NEW)

Cryptographic options  —>

— Cryptographic API

—   HMAC support

   Null algorithms

   MD4 digest algorithm

   MD5 digest algorithm

   SHA1 digest algorithm

   SHA256 digest algorithm

   SHA384 and SHA512 digest algorithms

   DES and Triple DES EDE cipher algorithms

   Blowfish cipher algorithm

   Twofish cipher algorithm

   Serpent cipher algorithm

   AES cipher algorithms

   CAST5 (CAST-128) cipher algorithm

   CAST6 (CAST-256) cipher algorithm

   Deflate compression algorithm

   Testing module

Library routines  —>

CRC32 function

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.