CentOS SRPM Kernel Build (커널빌드)

1. 먼저 yum을 이용해 개발 툴들을 설치한다. 일일이 설치 할 수도 있겠지만 yum groupinstll을 이용하자.

# yum groupinstall “Development Tools”

2. 내가 현재 사용하고 있는 커널이 어떤 것인지 확인하자

# uname -a

3. 현재 버전에 맞는 소스 rpm을 다운로드 받아서 설치하자. 각자 알맞은 커널소스로

#wget http://mirror.centos.org/centos-4/4/updates/SRPMS/kernel-2.6.9-42.0.3.EL.src.rpm

#rpm -iv kernel-2.6.~~~~~.rpm

4. 현재 커널의 아카이브를 설정하자. 아마 보통 i686 이나 x86_64정도의 값을 가지게 될 것이다.

#cd /usr/src/redhat/SPECS

#ln -s kernel-2.6.spec kernel.spec

#rpmbuild -bp –target=`uname -m` kernel.spec

5. 기존 패키지 커널 설정을 가지고 오자.

#cd /usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6.9

#cp /usr/src/redhat/SOURCES/kernel-2.6.9-i686-smp.config ./.config

6. 커널 설정을 바꾸자.

# make menuconfig

7.바꾼 설정을 기존의 패키지 설정으로 복사하자. (커널과 맞는걸 선택하자)

#cp ./.config /usr/src/redhat/SOURCES/kernel-2.6.9-i686-smp.config

9. rpm의 스펙을 수정한다.

#cd /usr/src/redhat/SPECS

#vi kernel.spec

10. release의 이름을 바꾼다.

%define release 42.0.3.EL

을 찾아서

%define release 42.0.3.jaewon  //jaewon은 원하는 것으로.

로 바꾼다.

11. 패치가 있으면 패치를 추가한다.

Patch40000: irdeal.patch

%patch40000 -p1

위의 두줄을 적당한 곳에 추가한다.. 적당한 곳이란 spec파일에서 Patch 와 %patch를 검색해 보면 알 수 있을 것이다

12. rpm을 만든다.

#rpmbuild -ba –target=`uname -m` kernel.spec

13. 만들어진 rpm을 확인하고 설치한다.

#cd /usr/src/redhat/RPMS/i686

#rpm -ivh kernel-smp-2.6.9-42.0.3.EL.irdeal.i686.rpm

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.