Trans:GentooX86Handbook1-7

Gentoo Korea Wiki
둘러보기로 가기 검색하러 가기

커널 설정하기

시간대

먼저 시간대를 설정해서 시스템이 어디에 있는지를 알도록 하는 것이 필요합니다. /usr/share/timeinfo 의 시간대를 확인하고 /etc/localtime에 복사합니다. 기대하던 지역을 이름으로 표시하지 못하는 /usr/share/zoneinfo/Etc/GMT* 이름을 가진 시간대는 피해주시기 바랍니다. 예를 들어 GMT-8은 실제로는 GMT+8 입니다.


코드 예제 1.1: 시간대 정봇 설정하기
# ls /usr/share/zoneinfo

(Suppose you want to use Europe/Brussels)
# cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime
(Next set the timezone)
# echo "Europe/Brussels" > /etc/timezone


소스 설치하기

커널 선택하기

주변에 빌드한 모든 배포판의 핵심은 리눅스 커널입니다. 이는 사용자 프로그램과 여러분의 시스템 하드웨어 사이에 있는 계층입니다. 젠투는 사용자에게 최대한 다양한 커널 소스코드를 제공합니다. 설명을 포함한 전체 목록은 [젠투 커널 안내서]에 있습니다.

x86-기반 시스템에서 저희는 gentoo-sources(특별한 기능에 대해 커널 소스를 패치했습니다)를 사용합니다.

커널 소스를 선택하시고 emerge를 사용해서 설치합니다.


코드 예제 2.1: 커널 소스 설치하기
# emerge gentoo-sources


/usr/src를 들여다보면 여러분의 커널 소스를 가리키는 linux 심볼릭 링크를 볼 수 있습니다. 이 경우 설치한 커널 소스는 gentoo-sources-2.6.34-r1 를 가리킵니다. 버전이 다를 수도 있다는 점을 염두에 두시기 바랍니다.


코드 예제 2.2: 커널 소스 심볼릭 링크 보기
# ls -l /usr/src/linux
lrwxrwxrwx    1 root   root    12 Oct 13 11:04 /usr/src/linux -> linux-2.6.34-r1


이제 커널 소스를 설정하고 컴파일 할 차례입니다. 이를 위해 설치 CD에서 사용하는 것과 같은 일반적인 커널로 빌드할 genkernel을 사용할 수 있습니다. 어쨌든 여러분의 환경을 최적화 하는 최고의 방법으로서 "수동" 설정을 먼저 설명하도록 하겠습니다. 커널을 직접 설정하고 싶다면 기본: 수동 설정하기로 계속 진행하도록 합니다. genkernel을 사용하고 싶다면 대안: genkernel 사용하기로 대신 진행하도록 합니다.

기본: 수동 설정하기

개요

커널을 직접 설정하는 것은 종종 리눅스 사용자가 해왔던 일중에 가장 어려운 일로 보입니다. 아니라고 생각하는 것은 덜 진실적이지요 -- 몇 번 커널을 설정하고나면 어려웠던걸 기억하지 못할 것입니다 ;)

이제 올바른 프로세서 계열을 선택합시다.


코드 예제 3.2: 올바른 프로세서 계열 선택하기
Processor type and features --->
  (Change according to your system)
  (Athlon/Duron/K7) Processor family


다음 Maintain a devtmpfs file system to mount at /dev을 선택하여 시동과정에 중요한 장치 파일을 미리 사용할 수 있게 합니다.


코드 예제 3.3: devtmpfs 지원 활성화
Device Drivers --->
  Generic Driver Options --->
    [*] Maintain a devtmpfs filesystem to mount at /dev
    [ ]   Automount devtmpfs at /dev, after the kernel mounted the rootfs


이제 File Systems로 가서 여러분이 사용하는 파일 시스템 지원을 선택합니다. 모듈로 컴파일 하지 마십시오. 그렇게 하지 않으면 젠투 시스템은 여러분의 파티션을 마운트 하지 못할 것입니다. 또한 Virtual memory/proc file system.


코드 예제 3.4: 필요한 파일시스템 선택하기
File systems --->
(Select one or more of the following options as needed by your system)
  <*> Second extended fs support
  <*> Ext3 journalling file system support
  <*> The Extended 4 (ext4) filesystem
  <*> Reiserfs support
  <*> JFS filesystem support
  <*> XFS filesystem support
  ...
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] Virtual memory file system support (former shm fs)

(Enable GPT partition label support if you used that previously)
  Partition Types --->
    [*] Advanced partition selection
      ...
      [*] EFI GUID Partition support


인터넷에 연결할 때 PPPoE를 사용하거나 전화걸기 모뎀을 사용하신다면 커널에서 다음 옵션이 필요할 것입니다.


코드 예제 3.5: PPPoE에 필요한 드라이버 선택하기
Device Drivers --->
  Network device support --->
    <*> PPP (point-to-point protocol) support
    <*>   PPP support for async serial ports
    <*>   PPP support for sync tty ports


두개의 압축 옵션은 문제가 되지 않겠지만 꼭 필요한 것은 아니며, 커널 모드 PPPoE를 수행하도록 설정했을 때 ppp만이 사용할 PPP over Ethernet 옵션의 역할을 하지 않기도 합니다.

필요하다면 이더넷 카드에 대한 지원을 커널에 포함하는 것을 잊지 마시기 바랍니다.

하이퍼스레딩(tm)을 지원하는 Intel CPU 을 가지고 있거나 다중 CPU 시스템을 가지고 있다면 "Symmetric multi-processing support"를 활성화 하십시오.


코드 예제 3.6: SMP 지원 활성화하기
Processor type and features  --->
  [*] Symmetric multi-processing support



참고: 다중코어 시스템에서는 각각의 코어를 하나의 프로세서로 계산합니다


4GB 이상의 RAM 가지고 있다면 "High Memory Support (64G)"를 활성화 할 필요가 있습니다.

(키보드나 마우스 같은)USB 입력 장치를 사용한다면 이것들 또한 활성화 하는것 잊지 마시기 바랍니다.


코드 예제 3.7: 입력 장치에 대한 USB 지원 활성화하기
Device Drivers --->
  [*] HID Devices  --->
    <*>   USB Human Interface Device (full HID) support


랩톱에서 PCMCIA지원을 사용하시려면 여러분의 시스템에 있는 PCMCIA 카드 브릿지 지원에 대한 활성화를 잊지 마시기 바랍니다.


코드 예제 3.8: PCMCIA 지원 활성화
Bus options (PCI etc.)  --->
  PCCARD (PCMCIA/CardBus) support  --->
    <*> PCCard (PCMCIA/CardBus) support
(select 16 bit if you need support for older PCMCIA cards. Most people want this.)
    <*>   16-bit PCMCIA support
    [*]   32-bit CardBus support
(select the relevant bridges below)
    *** PC-card bridges ***
    <*> CardBus yenta-compatible bridge support (NEW)
    <*> Cirrus PD6729 compatible bridge support (NEW)
    <*> i82092 compatible bridge support (NEW)


커널 설정이 끝나면 [컴파일하고 설치하기]로 계속 진행합니다.

컴파일하고 설치하기

이제 커널을 설정했으니 컴파일하고 설치할 차례입니다. 설정을 빠져나오고 컴파일 과정을 시작합니다.


코드 예제 3.9: 커널 컴파일하기
# make && make modules_install


커널 컴파일이 끝나면 커널 이미지를 /boot에 복사합니다. 선택한 커널에 대해 여러분이 적당하다고 생각하는 아무 이름을 사용하고 여러분의 부트로더를 설정할 때 다음에 필요할테니 기억해두도록 합니다. kernel-2.6.34-gentoo-r1의 커널 이름과 커널 버전을 바꾸어 놓았음을 기억합니다.


코드 예제 3.10: 커널 설치하기
# cp arch/x86/boot/bzImage /boot/kernel-2.6.34-gentoo-r1


(선택 사항) Initramfs 빌드하기

대안: genkernel 사용하기

커널 모듈

모듈 설정하기

여러분이 자동으로 불러오고 싶어하는 모듈들을 /etc/conf.d/modules에 나열합니다. 원하는 경우 추가 옵션을 모듈에 추가를 할 수도 있습니다. 사용할 수 있는 모든 모듈을 보려면 다음 find 명령을 실행합니다. "<kernel version>" 을 여러분이 컴파일한 커널의 버전으로 바꾸는 것을 잊지 마시기 바랍니다


코드 예제 5.1: 사용할 수 있는 모든 모듈 보기
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less


예를 들어 3c59x,ko 모듈(일부 3Com 네트워크 카드 계열에 대한 드라이버입니다)을 자동으로 불러오려면, /etc/conf.d/modules 파일을 편집하여 여기에 모듈 이름을 입력합니다.


코드 예제 5.2: /etc/conf.d/modules 편집하기
# nano -w /etc/conf.d/modules

modules_2_6="3c59x"


[시스템 설정하기]로 넘어가서 설치를 계속 진행합니다.