커널 컴파일을 하기 위해선 gcc, ncurses-devel 가 설치 되어 있어야 합니다.
[root@ruo91 ~]# yum install -y gcc ncurses-devel
1. 커널 버전 다운로드
아래 주소에서 최신 커널을 다운로드 합니다.
http://www.kernel.org/pub/linux/kernel/v2.6/
압축푼 디렉토리를 linux 라는 이름으로 심볼링크를 걸어줍니다.
[root@ruo91 ~]# cd /usr/src
[root@ruo91 ~]# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.5.tar.gz
[root@ruo91 ~]# tar xzvf linux-2.6.30.5.tar.gz
[root@ruo91 ~]# ln -s linux-2.6.30.5 linux
2. 커널 컴파일
현재 사용하고 있는 커널 설정 기반으로 커널 컴파일 하기 위해 .config 설정 파일을 복사해서 진행합니다.
[root@ruo91 ~]# cd /usr/src/linux
[root@ruo91 ~]# make clean
[root@ruo91 ~]# cp /boot/config-`uname -r` ./.config
[root@ruo91 ~]# make menuconfig
기존에 사용하던 .config 를 사용하기 위해 설정파일을 불러옵니다.
General setup 에 들어갑니다.
Local version 에 엔터를 눌러 줍니다.
커널버전 뒤에 사용할 릴리즈 이름을 적어줍니다.
예) -default 로 적었다면 새로운 커널이 생성될때 2.6.30.5-default 로 생성 될것입니다.
설정이 끝나면 Exit 로 메뉴를 빠져 나옵니다.
변경된 설정파일 .config 를 저장해줍니다.
저장 완료후 Exit 로 메뉴에서 빠져 나옵니다.
커널 빌드와 설치를 해줍니다. Vmware 에서 대략 1시간 40분 정도가 소요 됬습니다.
[root@ruo91 ~]# make all ; make modules_install ; make install
빌드와 설치가 정상적으로 되었다면 grub 부트 메뉴에 아래와 같이 새로운 커널이 올라와 있는걸 볼수 있습니다.
[root@ruo91 ~]# cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,0)
# kernel /boot/vmlinuz-version ro root=/dev/sda1
# initrd /boot/initrd-version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.30.5-default)
root (hd0,0)
kernel /boot/vmlinuz-2.6.30.5-default ro root=LABEL=/
initrd /boot/initrd-2.6.30.5-default.img
title CentOS (2.6.18-128.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-128.el5 ro root=LABEL=/
initrd /boot/initrd-2.6.18-128.el5.img
새로운 커널을 사용하기 위해 재부팅을 해줍니다.
[root@ruo91 ~]# shutdown -r now
grub 부트 로더에서 새로운 커널이 올라 왔음을 볼수 있습니다.
정상적으로 커널 컴파일이 됬네요
참고
http://www.howtoforge.org/kernel_compilation_centos
http://www.howtoforge.org/kernel_compilation_centos_p2
'컴퓨터관련 > 리눅스' 카테고리의 다른 글
Vmware Tools 설치 중 /usr/src/linux/include 문제 해결 (0) | 2009.11.06 |
---|---|
파일질라 ftp (0) | 2009.11.05 |
vi에디터 사용법 (명령어와 커서이동방법) (0) | 2009.11.05 |
tar 파일풀고 압축하기(명령어 모음) (0) | 2009.11.05 |
/usr/src/linux/include (0) | 2009.11.04 |