본문 바로가기
기타/툴 관련(리눅스)

커널 업데이트

by WebHack 2011. 5. 19.

리눅스 초보자에게 커널빌드 는 참으로  어려운 과제이다..

커널패닉을 얼마나 많이 먹었던지..

 

이 글은 CentOS 에서 현재 최신커널인 2.6.26.2 로 커널업그레이드를 할것이다.

중간에 커널패닉이 나오긴 하지만 정석이 아닌 하나의 옵션을 이용해서 피해볼것이다.

 

CentOS 를 설치할 때는하드를 SCSI 로 할경우 몇몇 옵션과 에러가 있을수 있기에 

IDE 로 하길 바란다.

 

커널다운로드 

1. www.kernel.org 

2. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.2.tar.gz

 

기본설치

 

1. yum install gcc

2. yum install make

3. yum install ncurses*

 

커널설치

 

1. make mrproper

2. make menuconfig 또는 make oldconfig

   -> make menuconfig 를 할경우 여러 옵션들을 설정해 줘야 한다. 하나하나 옵션을 지정하지

       않고 기존의 config 를 고대로 사용하고자 한다면 make oldconfig 를 이용하자.

3. make

   -> 커널 2.6 에서는 make dep, make clean, make baImage, make modules 를 따로 하지 않고

       make 하나로 통합 되었다.

4. make modules_install

5. make install  

 

설치가 끝난후 vi /boot/grub/menu.lst  실행하자.

 

방금 설치한 커널 2.6.26.2 가 추가 되었을 것이다.

 

title CentOS (2.6.26.2)
        root (hd0,0)
        kernel /vmlinuz-2.6.26.2 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.26.2.img

 

이대로 재부팅해서 새로설치한 커널로 부팅을 하게 되면..

kernel panic !!  <-- 커널패닉 먹으면서 부팅되지 않는다.

 

다시 vi /boot/grup/menu.lst 로 가자.

 

title CentOS (2.6.26.2)
        root (hd0,0)
        kernel /vmlinuz-2.6.26.2 ro root=/dev/VolGroup00/LogVol00 enforcing=0
        initrd /initrd-2.6.26.2.img

이렇게 수정하자. enforcing 이란 강제실행을 뜻한다.

 

이제 재부팅후 최신커널로 부팅을 해보자.!

 

Booting OK !!