2015. 12. 1. 15:32
[펌]http://stg.etribe.co.kr/2014/08/08/centos-6-5-%EC%BB%A4%EB%84%90-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8-%ED%95%98%EA%B8%B0/
아래의 내용은 제가 CentOS 커널을 업데이트 하는 방법을 잘 몰라서 검색한 내용을 발췌한 내용입니다.
위의 URL을 가시면 전문이 있습니다.

참고로 CentOS의 커널 버전을 업그레이드 한 이유는 Centos6.x 버전의 리눅스 커널에서 의문의 다운 현상이 지속되어서 입니다.

해당 다운 현상은 커널 버전으로 판단되어 업그레이드 하였으며, 이후 문제 없이 사용하고 있습니다.
(커널 버전은 생각도 안하고 개고생했습니다...ㅠ.ㅠ.)

-설치 환경

OS : CentOS 6.5

커널 버전 : 2.6.32-431.23.3.e16.x86_64

-업데이트 순서

커널에 필요한 패키지 설치 및 업데이트

원하는 버전의 커널 다운로드

커널 컴파일 및 환경 설정

커널 적용

재부팅 및 작동확인


1. 커널에 필요한 패키지 설치 및 업데이트.

일단 현재 커널 버전을 확인해 봅니다.

커널확인

현재 패키지에는 현재 커널이 맞을수가 있습니다.

그래서 최신커널 업데이트 전에 모든 패키지를 업데이트 합니다.

#yum update

커널 업데이트 중 make menuconfig 라는 명령어를 통해

환경설정을 하게 되는데

이때 화면들이 깨지거나 제대로 알아보기 힘든 상황을 피하기위해

ncuses-devel 이란 라이브러리를 인스톨 합니다.

#yum install ncurses-devel

그리고 커널 설치시 필요한 패키지들이 묶여있는 그룹패키지를 설치합니다.

#yum groupinstall “Development Tools”


2. 설치를 원하는 버전의 커널을 다운로드 

https://www.kernel.org/pub/linux/kernel/v3.x/

저 주소로 가면 여러 버전의 커널이 나열되있는걸 볼수 있습니다.

제목 없음

전 일단 가장 최신버전을 받아봅니다.

/var의 경로로 다운로드를 해봅니다.

#cd /var

#wget http://www.kernel.org/public/linux/kernel/v3.x/linux-3.16.tar.gz

(혹시 wget 명령어가 먹히지 않으면 #yum -y install wget 으로 다운로드패키지를 설치합니다.)

받은 파일의 압축을 풀고 링크 설정

#tar xvzf linux-3.16.tar.gz

#cd /usr/src/

#ln -s /var/linux-3.16 linux


3. 커널 컴파일 및 환경 설정

make 명령어를 통해 컴파일과정을 거쳐 환경설정을 합니다.

#cd /usr/src/linux

#make mrproper

#make clean  //커널컴파일을 위해 소스파일들의 찌꺼기(?)를 정리

#cp /boot/config-‘uname -r’ ./.config  //현재 리눅스의 커널 설정파일을 이용해

3.16버전의 컴파일할 소스파일 복사

(‘uname -r’ 이 안먹힐때가 있더군요 그럴땐그냥 파일이름으로 대체하시면됩니다.)

#make menuconfig  //업데이트할 커널의 설정변경을 위한 툴 실행

제목 없음

설정화면이 보이면 일단 Load 메뉴를눌러 .config 소스 파일을 받아옵니다.

소스파일 로딩이 완료되면 General setup 항목을 선택합니다.

제목 없음

Enable deprecated sysfs features to support old userspace too

라는 항목을 <space bar> 를 이용해 체크해줍니다.

하단에 Save메뉴를 통해 저장 100%까지 게이지가 차는걸 확인한후 Exit로 빠져나옵니다.

설정파일을 이용하여 커널빌드 및 컴파일 합니다.

#make all

//”.config” 설정파일을 이용하여 커널소스 빌드(꽤 시간이 걸립니다.)

저는 이과정에서 한참지난후 알수없는 에러로 인해 리눅스를 다시 깔았던….기억이…ㅜㅜ

#make modules_install

//커널 소스 빌드내용을 모듈로 설치

#make install

//커널 설치


4. 커널 적용

리눅스 부트로더인 grub.conf 파일을 열어서 내용을 확인합니다.

#vi /boot/grub/grub.conf

제목 없음

파란 상자 안에 내용이 커널설치후 자동으로 입력된 값입니다.

제가 업데이트할때까지만해도 3.15가 최신이었어서 캡쳐본은 버전이 3.15네요.

빨간 상자 안에 값을 보시면 원래 default=1이 주석 처리 되있었는데

제가 커널적용을 위해 default=0을 주석처리하고 1번으로 변경한 내용입니다.

 


5. 재부팅 및 작동확인

재부팅후 제대로 반영됐는지 확인해 보겠습니다.

제목 없음

반영이 잘 된것 같습니다.


Posted by 까망후니