Trans:GentooX86Handbook1-7
목차
커널 설정하기
시간대
먼저 시간대를 설정해서 시스템이 어디에 있는지를 알도록 하는 것이 필요합니다. /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) |
소스 설치하기
커널 선택하기
주변에 빌드한 모든 배포판의 핵심은 리눅스 커널입니다. 이는 사용자 프로그램과 여러분의 시스템 하드웨어 사이에 있는 계층입니다. 젠투는 사용자에게 최대한 다양한 커널 소스코드를 제공합니다. 설명을 포함한 전체 목록은 [젠투 커널 안내서]에 있습니다.
x86-기반 시스템에서 저희는 gentoo-sources(특별한 기능에 대해 커널 소스를 패치했습니다)를 사용합니다.
커널 소스를 선택하시고 emerge를 사용해서 설치합니다.
코드 예제 2.1: 커널 소스 설치하기 |
# emerge gentoo-sources |
/usr/src를 들여다보면 여러분의 커널 소스를 가리키는 linux 심볼릭 링크를 볼 수 있습니다. 이 경우 설치한 커널 소스는 gentoo-sources-2.6.34-r1 를 가리킵니다. 버전이 다를 수도 있다는 점을 염두에 두시기 바랍니다.
코드 예제 2.2: 커널 소스 심볼릭 링크 보기 |
# ls -l /usr/src/linuxlrwxrwxrwx 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" |
[시스템 설정하기]로 넘어가서 설치를 계속 진행합니다.