You cannot see this page without javascript.

커널 컴파일

Linux 조회 수 742 추천 수 0 2014.12.08 16:05:28

 현재 CentOS 6.5 를 설치하면 Kernel 버전은 "2.6.32-431.3.1" 로 설치가 완료됩니다. (yum update 도 진행한 상태임)

다만, 커널의 가장 최신버전은 3.XX 로 상당히 많은 버전업이 된 것을 알 수 있습니다.

커널에 대한 부분은 www.kernel.org 에서 확인이 가능하시며, 다운로드를 위해서는

아래의 경로에서 원하는 버전을 다운로드 하세요.

필자의 경우는 "3.13.4" 버전을 이용하여 진행할 계획이며, 다른 버전도 거의 동일한 방법으로 진행하시면 됩니다.

 

 - 커널 다운로드 : https://www.kernel.org/pub/linux/kernel/

 

커널에 대한 자료를 다운로드 하셨으면, 컴파일을 위해 필요한 패키지들을 설치하여야 합니다.

Yum 이나 RPM 을 이용하셔서 아래의 패키지들을 설치하신 후 내용을 따라서 진행하세요.

 

 - 필요 패키지 : ncurses-devel / hmaccalc / zlib-devel / binutils-devel / elfutils-libelf-devel / qt-devel

yum install ncurses-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel qt-devel


 - 추가 설치 패키지 : #yum groupinstall "Development Tools"  [ 그룹에 포함된 패키지는 아래와 같습니다. ]

flex / gcc / redhat-rpm-config / rpm-build / make / patch / pkgconfig / gettext /
automake / bison / libtool / autoconf / gcc-c++ / binutils / patchutils / byacc /
indent / systemtap / diffstat / elfutils / cvs / rcs / subversion / gcc-gfortran /
doxygen / intltool / git / ctags / cscope / swig

 

yum install flex gcc redhat-rpm-config rpm-build make patch pkgconfig gettext automake bison libtool autoconf gcc-c++ binutils patchutils byacc indent systemtap diffstat elfutils cvs rcs subversion gcc-gfortran doxygen intltool git ctags cscope swig


※ 패키지 설치와 관련되어서 RPM 을 이용하는 경우 의존성이 발생할 수 있으므로 의존성 패키지를 포함하여

   설치에 필요한 패키지를 모두 스크린샷으로 첨부해드립니다. 참고하세요. 

 

 

모든 자료준비(커널파일 및 패키지 설치가 완료되면 다운로드한 커널 파일을 "/usr/src/" 경로에서 압축을 해제하세요.

물론 다른 곳에 원하시면 다른 곳에다 압축을 해제하셔도 좋습니다.

 

 

위 스크린샷과 같은 경로를 기준으로 모든 것을 진행하도록 하겠습니다.

 

- linux-3.13.4]# make mrproper

//

- linux-3.13.4]# make clean

// 커널을 컴파일하기 위해 작업한 소스파일들의 찌꺼기를 정리

- linux-3.13.4]# cp  /boot/config-`uname -r`  ./.config

// 현재 리눅스가 사용하는 커널 설정파일을 이용하여 3.13.4 커널 버전의 컴파일할 소스파일 복사

- linux-3.13.4]# make menuconfig

// 3.13.4 버전 커널의 설정을 변경하기 위한 툴을 실행

 

 

아래 스크린샷을 참고하시어 내용을 입력하세요.

(단, 스크린샷의 "config(일반파일)"은 테스트를 위한 부분으로 ".config(숨김파일)"으로 하셔야 오류가 발생하지 않습니다.)

 

 

위 스크린샷처럼 모든 작업을 진행하시면 아래 스크린샷과 같은 화면으로 동작하게 됩니다.

가장 아래쪽에 있는 "<Load>" 를 선택하시기 바랍니다.

(방향키를 이용하여 움직이고, Enter 키로 선택하시면 됩니다.)

 

 

Load 메뉴를 선택하면 설정의 소스파일을 받아오는 부분이 있는데

여기에서 ".config"을 수정하지 않고 그대로 확인을 하시기 바랍니다.

 

소스파일 로딩이 마무리되면 "General setup" 항목을 선택하시기 바랍니다.

 

 

"General setup" 항목을 선택 후 아래 스크린 샷을 참고하시어

"Enable deprecated ~~~~ tools" 항목을 선택([*] 은 space 키)하시기 바랍니다.

 

 

항목을 선택하셨으면 가장 아래쪽에 있는 항목에서 "<Save>" 를 선택하시기 바랍니다.

 

 

<Save> 선택 후 출력된 메세지에서 아래 스크린샷과 같이 꼭 "100%" 를 확인하시고 <Exit>를 선택하시기 바랍니다.

 

 

저장완료 후 "General setup" 항목창도 종료하시기 바라며, menuconfig 대화창도 모두 종료하시면 됩니다.

 

 

menuconfig 까지 모두 완료하시고 나면 다시 프롬프트가 출력되어지며, 이제 소스파일 설정을 모두 마쳤으니 make 를

이용하여 컴파일하는 단계만 남았습니다.

거의 다 왔으니 조금만 더 힘을 내시고 바로 Fallow ME~~~!!!

 

설정파일을 이용하여 커널 빌드 및 컴파일을 진행하겠습니다.

- linux-3.13.4]# make all

// ".config" 설정파일을 이용하여 커널 소스 빌드

(상당한 시간이 소요될 수 있으니 참고 기다리세용.)

- linux-3.13.4]# make modules_install

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

- linux-3.13.4]# make install

// 커널 설치

 

커널 빌드 및 컴파일이 완료되고 나면 해당 커널 버전이 부팅이 될 수 있도록  진행하겠습니다.

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

 

- linux-3.13.4]# vi /boot/grub/grub.conf

위 스크린샷의 파란색 부분은 커널 설치 후 자동으로 입력된 값이고, 빨간색이 수정부분입니다.

빌드된 커널버전으로 기본 부팅될 수 있게 설정해주었습니다.

 

모든 설정 및 커널 빌드가 완료되었습니다. 재부팅만 남았고, 재부팅 후 정상동작되는지 여부를 확인합니다.

- linux-3.13.4]# uname -a

 

재부팅까지 모두 완료되어 커널 버전을 확인하니 정상동작하는 것이 보이시나요? 스크롤 압박에도 불구하고 잘 따라오셨습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
229 SoftWare 네트워크 블러그 LynX 2013-09-29 841
228 Windows Windows 10 재작 툴 file [21] LynX 2015-08-19 840
227 CentOS apm소스 [9] LynX 2015-05-29 835
226 Server 웹 동접자 수 확인 코드 LynX 2016-09-08 828
225 CentOS7 ▒ Doly의 CentOS7 강좌 9 3. CentOS시작, 종료, 둘러보기 -1 file [12] LynX 2014-10-23 812
224 Server 톰켓 설치 file LynX 2014-05-20 812
223 CentOS Grub UUID change LynX 2018-08-08 809
222 CentOS memchached [1] LynX 2016-04-21 808
221 Network HSRP 구성 file [20] LynX 2015-04-29 802
220 Programing PHP print LynX 2013-12-12 794
219 RoundCube 첨부 용량 변경 / 한글 수정 [10] LynX 2012-01-31 794
218 Linux 리눅스 기본 명령어 LynX 2014-07-16 792
217 OpenSolaris Open Solaris 에서 MariaDB 설치 [8] LynX 2014-12-30 783
216 APM phpmyadmin 설정 LynX 2013-12-27 774
215 APM httpd.conf 정리 LynX 2013-12-27 770
214 HTML Tag Flowplayer [11] LynX 2013-07-20 768
213 HTML Tag JWPlayer 사용법 #1 시작 file [7] LynX 2013-06-25 761
212 Linux Centos 동영상플레이어 LynX 2014-06-29 755
211 Linux LFS/Preparation - 준비 LynX 2014-08-06 745
» Linux 커널 컴파일 [10] LynX 2014-12-08 742

XE Login