Kernel/Configuration/ko

From Gentoo Wiki
< Kernel
Jump to:navigation Jump to:search
This page is a translated version of the page Kernel/Configuration and the translation is 65% complete.
Outdated translations are marked like this.

이 글에서는 리눅스 커널을 직접 설정하고 설치하는 방법을 설명합니다. 검증된 방법을 찾으신다면, genkernel 글을 살펴보십시오.

심볼릭 링크 설정

/usr/src/linux 심볼릭 링크는 언제든 현재 사용하는 커널 소스를 가리킵니다. 다음 세가지 방법 중 하나로 끝낼 수 있습니다:

1. symlink USE 플래그를 활성화한 후 커널 소스를 설치하십시오. /usr/src/linux가 가리키는 대상을 새로 설치한 커널 소스로 설정합니다. 필요하다면 다음의 수정된 두가지 방식으로 나중에 수정할 수 있습니다:

2. eselect로 심볼릭 링크를 선택하십시오:

root #eselect kernel list
Available kernel symlink targets:
[1] linux-3.3.8-gentoo
[2] linux-3.4.9-gentoo

이 출력 내용에는 사용할 수 있는 커널 소스가 있습니다. 별표 기호는 선택한 소스를 나타냅니다. 커널 소스를 바꾸려면 (예: 두번째 항목) 다음 명령을 실행하십시오:

root #eselect kernel set 2

3. 직접 심볼릭 링크를 설정합니다:

root #ln -sf /usr/src/linux-3.4.9-gentoo /usr/src/linux
root #ls -l /usr/src/linux
lrwxrwxrwx 1 root root 11 Aug 29 22:10 /usr/src/linux -> /usr/src/linux-3.4.9-gentoo

설정

설정 도구

커널에서는 자체를 설정할 수 있는 몇가지 도구를 제공합니다.

명령 설명
make config 텍스트 기반 설정입니다. 이 옵션은 프롬프트 하나를 처리하면 다른 프롬프트가 뜨는 식입니다. 모든 물음에 응답했다면 순서를 거스르며 이전 옵션에 접근할 수 없습니다.
make menuconfig ncurses 기반 그래픽 메뉴입니다(텍스트 입력만). 결정한 옵션을 수정하려 메뉴로 탐색합니다.
make defconfig defconfig 파일에 있는 ARCH에서 기본 설정을 만듭니다. 소스코드에서 제공하는 기본 설정 파일로 되돌리려면 이 옵션을 선택하십시오.
make nconfig ncurses 기반 그래픽 메뉴입니다 sys-libs/ncurses를 설치해야합니다.
make xconfig Qt4 기반 그래픽 메뉴입니다. dev-qt/qtgui를 설치해야합니다.
make gconfig GTK+ 기반 그래픽 메뉴입니다. x11-libs/gtk+, dev-libs/glib, gnome-base/libglade를 설치해야합니다.
make oldconfig 커널 버전 사이에 바뀐 부분을 다시 검토하고, .config 파일을 커널에 새로 만들어 업데이트합니다.
make allyesconfig 커널의 모든 설정 옵션을 활성화합니다. 모든 커널 옵션을 * 로 마킹합니다. 시험적으로 이 명령을 사용하기 전에 현재 커널 설정을 가져와 백업했는지 확인하십시오!

기타 기본 설정을 만들 몇가지 스크립트도 있습니다. 더 깊은 단계에 있는 설정을 처리하여 시간을 효율적으로 단축할 수 있습니다. 메이크 대상 전체 목록을 보려면 다음 명령을 실행하십시오:

root #make help

이 글에서는 make menuconfig를 사용하여 설정하는 방법을 설명합니다만, 절차는 다른 메뉴랑 비슷합니다.

root #cd /usr/src/linux
root #make menuconfig

사용법

화면에 나타난 메뉴에서 푸른색 막대는 커서 현재 위치를 나타냅니다. , 화살표 키로 커서 위치를 바꿀 수 있습니다. , 화살표 키로 메뉴 표시줄 하단을 순회하며 Enter 키를 누르면 어떤 설정을 할 지 정할 수 있습니다. ---> 로 끝나는 메뉴 항목에서 Select를 누르면 하위 메뉴로 들어갈 수 있고, Exit를 누르면 하위 메뉴에서 나갑니다. Exit를 선택하는 대신 Esc 키를 두번 쳐서 나갈 수 있습니다.

관련 문자 키를 A 키부터 Z 키까지 눌러보면 강조 문자를 가진 줄로 커서줄이 이동합니다. 여기서 Y, M, N 키는 다른 목적으로 사용하는 신성한 키므로(ㅋㅋ) 탐색 문자에서 제외했습니다. Y, M, N 중 한 문자로 시작하는 줄이 있다면 다음 글자를 강조하며 해당 문자를 가진 줄로 건너뛸 수 있습니다. 예를 들자면, 커서 현재 위치에 따라 다음줄이 "Network Device Support --->" 라면 E 키를 눌렀을 때 해당 줄로 커서를 이동합니다.

다음 기호 문자는 메뉴 줄 앞에 나타날 수 있습니다:

기호 설명
[ ], [*] 사각괄호 안에 표시한 옵션은 활성화 또는 비활성화 할 수 있습니다. 별표 기호는 메뉴 항목을 활성화합니다. 값은 space 키로 바꿀 수 있습니다. 또한 Y 키 (Yes) 로 활성화하거나, N 키 (No) 로 선택 항목을 비활성화할 수 있습니다.


선택 항목을 활성화하면, 선택한 기능 또는 드라이버는 커널에 포함하며, 부팅할 때마다 항상 동작합니다.

< >, <M>, <*> 각괄호에 나타난 옵션은 활성화 또는 비활성화하거나, 모듈로 활성화(M으로 표시)할 수 있습니다. Y/N키를 눌러 활성/비활성하거나 M 키를 눌러 기능이나 드라이버를 모듈로 활성화합니다.


차이점을 더 알아보려면 Kernel Modulesen을 읽어보십시오.

{M}, {*} 중괄호에 표시한 옵션은 활성화 상태이거나 모듈 상태로 활성화한 상태지만, 비활성화할 수는 없습니다. 다른 기능/드라이버가 이 기능에 의존하기 때문에 이렇게 나타납니다.
-M-, -*- 하이픈 사이에 나타난 옵션 표시는 다른 기능/드라이버의 선택 여부에 따라 나타납니다. 선택의 여지가 없습니다.

게다가 어떤 항목은 뒷부분에 이런 표시를 붙였습니다:

태그 설명
(NEW) 이 드라이버는 커널에 새로 추가했으며 아직 충분히 안정적이지는 않습니다.
(EXPERIMENTAL) 이 드라이버는 실험적이며, 대부분 충분히 안정적이진 않습니다.
(DEPRECATED) 이 드라이버는 오래되어 대부분의 시스템에서 필요하지 않습니다.
(OBSOLETE) 이 드라이버는 낡아서 활성화하면 안됩니다.

대부분 옵션에는 H 키를 누르거나 메뉴 표시줄의 Help를 선택하면 설명이 뜹니다.

드라이버 선택

하드웨어 분류의 하드웨어 감지 글을 보십시오.

모듈 검색

menuconfig에서 모듈을 검색하려면 / 키를 사용하십시오.

아래에서 보시는 바와 같이, 검색 결과는 일치하는 결과 앞에 번호를 나타내는 방식으로 표시합니다. 예제에서 1 을 누르면 make menuconfig로 바로 건너뛴 후 메뉴 구조상의 Bluetooth device drivers 옵션으로 이동합니다.

커널 HCIBTUSB 검색 후 예제 출력
Symbol: BT_HCIBTUSB [=m]                       
Type  : tristate                               
Prompt: HCI USB driver                         
  Location:                                    
    -> Networking support (NET [=y])           
      -> Bluetooth subsystem support (BT [=y]) 
(1)     -> Bluetooth device drivers            
  Defined at drivers/bluetooth/Kconfig:5       
  Depends on: NET [=y] && BT [=y] && USB [=m]

젠투 리눅스 일반 설정 활성화

sys-kernel/gentoo-sources와 젠투에서 관리하는 다른 커널 프로젝트 에서만 나타나는 CONFIG_GENTOO_LINUX 커널 설정 옵션이 있습니다. 자체적으론 하는 일이 없지만, 일반 설치 과정에서 필요한 다양한 설정 옵션을 설정합니다.

이 설정은 젠투 리눅스에서 /dev를 처리하는데 필요한 tmpfsdevtmpfs 지원을 자동으로 선택하지만, 젠투 리눅스 시스템의 다른 필수적 설정을 차후에 활성화하기 위해 확장됩니다. 더 많은 내용을 알아보려면, 이 안내서에 앞서 설명한 커널 설정 시스템을 통해 제공하는 도움말 정보를 읽어보십시오.

빌드

커널 설정을 완벽하게 끝냈다면 커널을 컴파일하십시오:

root #make

프로세서 코어가 여러개 있다면 모든 코어가 동작할 수 있게 할 수 있습니다. 이렇게 하려면 -j(NUMBER_CORES +1) 매개 변수를 추가하십시오. 듀얼 코어 프로세서에는 논리코어 더하기 일입니다(2 + 1):

user $nproc
3

}}

root #make -j3

쿼드코어 시스템에서는 논리코어 네개 더하기 일입니다(4 + 1):

root #make -j5

설치

드라이버를 모듈로 활성화 했다면, 설치해야 합니다:

root #make modules_install

모듈은 /lib/modules의 하위 디렉터리에 복사합니다.

실제 커널을 설치하려면:

root #make install

이 명령은 sys-apps/debianutils 꾸러미의 일부인 /sbin/installkernel 을 실행합니다. 새 커널은 {{Path|/boot/vmlinuz-{version}}}에 설치합니다. /boot/vmlinuz 심볼릭 링크가 이미 있다면, 새 커널에 대해 만든/boot/vmlinuz 링크를 만들고 바꾸며, 이전에 설치한 커널은 /boot/vmlinuz.old로 둡니다.(installkernel man page). configSystem.map파일과 같습니다. 이 심볼릭 링크는 파일 경로를 바꾸지 않고 항상 새로운 커널을 가리키기 때문에 단순합니다(예: 부트로더 설정에서 쓸 수 있습니다).

부트로더

시스템 부트 로더 설정을 바꾸어 새 커널로 부팅하도록 고르십시오.

마지막으로 새 커널로 시스템을 다시 부팅하십시오.

현재 커널 설정과 기본 설정 비교

기본 설정을 이어받은 커널 설정을 전반적으로 확인하려면 다음 과정을 활용하십시오. 설정 수정시에는 추가 설정이 필요함을 염두에 두십시오.

root #cd /usr/src/linux
root #cp .config ../.config.working
root #make defconfig
root #mv .config ../.config.default
root #cp ../.config.working .config
root #cd ..
root #/usr/src/linux/scripts/diffconfig .config.working .config.default > .config.diff

make menuconfig의 검색 기능은 플래그 및 해석을 찾을때 사용할 수 있습니다. 과정이 끝났다면 남은 파일을 지우십시오:

root #cd /usr/src/
root #rm .config.working .config.default .config.diff

추가 참조

External resources