(1) 컴파일전 장치 정보 확인
- cat /proc/cpuinfo ( cpu정보 확인 )
- cat /proc/meminfo ( memroy정보 확인 )
- lspci (Lan 카드 정보 확인)
- lsmod (로딩된 모듈 정보 확인)
(2) 소스 다운 받기
- [소스 검색 : http://rpmfind.net]
- [wget을 이용한 다운로드]
(3) 커널 소스 설치(*.src.rpm)
- rpm –ivh kernel-2.6.9-42.0.10.EL.src.rpm
- rpm –ivh로 *.src.rpm를 설치하면 /usr/src/redhat/SPECS/kernel-2.6.spec 이라는 파일이 생긴다. 이후에 rpmbuild –bp를 이용하여 커널소소를 설치한다.
- rpmbuild –bp -–target=noarch /usr/src/redhat/SPECS/kernel-2.6.spec.
(4) 커널 심볼릭 링크 걸기
- cd /usr/src/redhat/BUILD/kernel-2.6.9
- mv linux-2.6.9/ /usr/src/
- 커널소스를 /usr/src/ 디렉토리로 이동시켜준다.
- ln –sf /usr/src/linux-2.6.9 /usr/src/linux
- 커널소스 컴파일시 커널소스를 /usr/src/linux로 인식하는 경우가 있으므로 심볼릭 링크를 연결해준다.
Makefile 수정
(5) 네트워크 설정 최적화 (웹서버 설정 최적화)
- cd /usr/src/linux-2.6.9/include/net
- cat tcp.h | grep TIMEWAIT – tcp.h의 값을 확인한다.
- #define TCP_TIMEWAIT_LEN (60*HZ) /* how long to wait to destroy TIME-WAIT
- vi tcp.h - tcp.h 값 수정하기
#define TCP_TIMEWAIT_LEN (1*HZ) /* how long to wait to destroy TIME-WAIT
(6) 메모리 설정 확인
- cat /usr/src/linux/openzonewww2_as44_uni1224.conf | grep high
- CONFIG_HIGHMEM4G=y
- # CONFIG_HIGHMEM64G is not set
(7) 커널컴파일
- make mrproper
- 기존의 커널 설정을 초기화, 커널모듈 초기화 및 원래의 커널 상태로 회귀한다.
- (처음부터 커널을 다시 설정하고자 할 때 사용)
- make menuconfig (커널 설정 요소를 선택해주는 명령어)
- #수정 부분
- code maturity level options
- []Prompt for development and/or incomplete code/drivers(제거)
- # Processor type and features
- [] Allocate 3rd-level pagetables from highmem (제거)
[make menuconfig 수행시 화면]
[최적화 설정]
(필수 선택 옵션)
[File systems]
-> EXT3 journalling file system support (필수선택)
**주의 옵션
서버에 설치된 물리적 메모리의 용랴잉 4G 이상 장착시 반드시 High Memory Support에서
64GB 선택
(선택해제 옵션 목록)
[Processor type and features] # 노트북에 설치할 것이 아니므로 아래 옵션 선택해제
--> Toshiba Laptop support (선택해제)
--> Dell Laptop support (선택해제)
[Device Drivers]
-> Sound
--> Sound card support (선택해제)
-> Networking support
--> Bluetooth subsystem support (선택해제)
-> Networking support
--> PPP (point-to-point protocol) support (선택해제)
-> Networking support
--> PCMCIA network device support
---> PCMCIA network device support (선택해제)
-> Networking support
--> FDDI driver support (선택해제)
-> ISDN subsystem
--> ISDN support (선택해제)
-> Multimedia devices
--> Video For Linux (선택해제)
-> InfiniBand support
--> InfiniBand support (선택해제)
## 커널 컴파일 관련 설정 작업이 끝나면 설정 정보 저장 후 커널 컴파일 작업 수행
- make deps (의존성 검사 – 2.6 버전에서는 사용하지 않아도 됨)
- vi Makefile (생성될 이미지 파일 이름 변경)
- make
- make bzImage
- 커널 이미지 생성에 기여
- make modules
- make modules_install
- make install
- 커널 이미지를 생성 ,/boot에 커널 이미지 복사 ,grub 정보까지 변경
(7-1) 저장된 커널 설정과 불러오기
- Load An Alternate Configuration File 선택 후 적용할 커널 파일명 입력
- 커널 설절 파일명 선택 : 예 ) dell2950-rhel4.5-standard.config
- 설정 정보 확인 후 커널 컴파일 작업 진행
(8) 커널 업데이트 확인 사항
- /boot/grub/grub.conf 파일 확인 ( 이미지가 생성 되었는지 확인 및 default=0 값 변경)
- #sync
- init 6
- reboot 후 커널 업데이트 사항 확인
- uname –r
- cat /proc/version
- cat /proc/meminfo (물리적 메모리 용량과 시스템에서 확인 메모리가 용량이 맞는지 확인)
- cat /proc/cpuinfo
(8) 커널 컴파일 Sample script
#!/bin/sh
####### config file copy
#cp default.conf /usr/src/linux
# make mrproper
# make menuconfig
####### config file loading
########################## menuconfig
cd /usr/src/linux
#make deps
make
make bzImage
make modules
make modules_install
make install
(9) 커널 업데이트 확인 사항들
- /boot/grub/grub.conf 파일 확인 (이미지가 생성되었는지 확인 및 default=0 값 변경)
- #sync
- #init 6
- reboot 후 커널 업데이트 사항들 확인
- uname –r
cat /proc/version
'리눅스' 카테고리의 다른 글
[manual] dns server manual (0) | 2010.05.07 |
---|---|
[config] ssh 설정 옵션들 (0) | 2010.04.28 |
[setting] tomcat 설치 (0) | 2010.04.28 |
[setting] app 설치시 옵션 (0) | 2010.04.28 |
[config] Linux 설치후 초기 설정 (0) | 2010.04.28 |