리눅스 커널 가이드

. 윤 봉환

LINUXLAB (http://www.linuxlab.co.kr)
Director, Developement dept.

el at linuxlab.co.kr

$Date: 2002. 10. 20. (일) 01:49:25 KST

이 문서는 커널 소스 설치와 세부 환경설정, 컴파일과 새 커널 설치에 대해 이야기합니다. 커널문서(/usr/src/linux/Documents/*)에서 가장 많은 부분을 인용했으며, 관련된 최신 HOWTO와 문헌들, 실무경험을 함께 담았습니다. 리눅스 커널의 기능과 마이크로 컴퓨터에 대해 더 쉽고 빠르게 이해할 수 있도록 돕는 것이 이 문서의 목적입니다.

이 글의 최신 버전은 http://www.linuxlab.co.kr/docs/kernel/에 있습니다.

$Revision: 1.1 $

차례
리눅스 커널
1. 커널 설치하기
1.1. 최신 커널 구하기
1.1.1. 두 가지 커널 버전
1.1.1.1. 버전 번호
1.1.1.2. 앨런 콕스의 커널버전
1.1.2. FTP Site
1.2. 커널 소스 설치하기
1.2.1. 새 커널을 위한 기본 도구
1.2.2. 기본 도구 설치하기
1.2.3. 커널 소스 풀기
1.2.4. 커널 패치
1.2.5. 한글 패치
1.2.6. make mrproper
2. 커널 옵션/환경설정
2.1. 컴파일 환경 설정 명령
2.1.1. 미리 알고 있으면 좋은 것들
2.1.2. 환경설정 인터페이스
2.1.2.1. make config 또는 make oldconfig
2.1.2.2. make menuconfig
2.1.2.3. make xconfig
2.2. 환경 설정 규칙: "내 커널은 내가 만든다"
2.3. Code maturity LeveL optionS
2.4. LoadabLe moduLe SupporT
2.5. ProceSSor type and featureS
2.6. GeneraL SetuP
2.6.1. APM
2.6.2. 사라진 것들..
2.7. Memory Technology Devices (MTD)
2.8. Parallel port support
2.9. PLug and PLay SupporT
2.10. BLock deviceS
2.11. Multi-device support (RAID and LVM)
2.12. Networking optionS
2.12.1. Netfilter
2.12.2. QoS and /or fair queueing
2.12.3. IP Security Protocol (FreeS/WAN IPSEC)
2.12.4. 사라진 것들..
2.12.5. /etc/sysctl.conf
2.13. Telephony Support
2.14. ATA/IDE/MFM/RLL support
2.15. IDE, ATA and ATAPI Block devices
2.15.1. 사라진 것들
2.16. SCSI SupporT
2.16.1. SCSI Low-LeveL driverS
2.16.2. PCMCIA SCSI adapter support
2.17. Fusion MPT device support
2.18. IEEE 1394 (FireWire) support
2.19. I2O device support
2.20. Network device SupporT
2.20.1. Ethernet (10 of 100Mbit)
2.20.2. Wan interfaces :
2.20.3. PCMCIA network device support
2.20.4. 그 밖에
2.21. Amateur Radio SupporT
2.22. IrDA (infrared) SupporT
2.22.1. Infrared-port device driverS
2.23. ISDN SubSySteM
2.24. OLd CD-ROM driverS (not SCSI, not IDE)
2.25. Input core support
2.26. Character deviceS
2.26.1. I2C support
2.26.2. Mice
2.26.3. Joysticks
2.26.4. Watchdog Cards
2.26.5. Ftape, the floppy tape device driver
2.26.6. PCMCIA character device support --->
2.27. Multimedia devices
2.28. ACP Modem (Mwave) support
2.29. FiLe SyStemS
2.29.1. Native Language Support
2.29.2. Network FiLe SyStemS
2.29.3. Partition TypeS
2.30. Video For Linux
2.31. ConSoLe driverS
2.31.1. Frame-buffer support
2.32. SounD
2.32.1. AdditionaL Low LeveL Sound driverS
2.32.2. Addvanced Linux Sound Architecture(ALSA) Driver
2.33. USB support
2.34. Bluetooth
2.35. KerneL hackinG
3. 커널 컴파일
3.1. 컴파일에 앞서
3.1.1. 청소
3.1.2. 커널 컴파일 명령
3.1.3. 커널 이미지
3.1.4. 모듈 컴파일
3.1.5. 커널 컴파일에 걸린 시간 알아보기
3.2. 새 커널 설치
3.2.1. 부트 이미지 설치
3.2.2. /etc/lilo.conf 편집
3.2.2.1. /etc/lilo.conf 레코드
3.2.3. lilo 테이블 적용
3.2.4. 커널 이미지 새로 링크하기
3.3. 문제 해결
3.3.1. LILO 프롬프트가 멈춰요
3.3.2. 새 커널로도 이전 커널로도 부트할 수 없다면?
3.3.3. 나는 CD-ROM으로 부트할 수 없는데:
4. 문서에 대해
4.1. 책임의 한계
A. sysctl 값
A.1. network
A.1.1. Global Parameters:
A.1.2. IP Fragmentation:
A.1.3. TCP variables:
A.2. ipv6 값들
B. netfilter patch-o-matic 패치하기
B.1. p-o-m 설치
B.2. p-o-m 옵션 선택
C. 커널 소스 디렉토리
D. 커널 문서들
E. 커널 패러미터
표 목록
3-1. LILO error codes
B-1. conntrack options:
B-2. AH options:
B-3. ESP options:
B-4. FRAG options:
B-5. unclean bits:
B-6. IPv4 options:
B-7. nth options:
B-8. HBH options:
B-9. DST options:
B-10. psd options:
B-11. RT options:
B-12. Time options:
B-13. CONNMARK options:
B-14. ROUTE options:
B-15. H.323 data streams:
B-16. recent options:
B-17. tcp-window-tracking options: