You cannot see this page without javascript.

커널 컴파일

Linux 조회 수 743 추천 수 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 Linux [Linux] 특정 계정만 su -(root)를 통한 root접근 허용 LynX 2014-07-04 294
228 Linux CentOS 6.5에 JSP를 위한 JDK & Tomcat file LynX 2014-07-05 477
227 Linux Xming 으로 X-Window 원격 접속 하기 LynX 2014-07-07 1417
226 Xpress Engine xe 서버이전 LynX 2014-07-10 324
225 Xpress Engine XE 애드온(addon)개발하기 LynX 2014-07-11 1044
224 Xpress Engine XE 애드온의 제작 규칙 LynX 2014-07-11 420
223 Xpress Engine XE 애드온 --XE 애드온의 기초 이해 LynX 2014-07-11 842
222 Xpress Engine XE - XML 쿼리 언어 LynX 2014-07-11 3104
221 Xpress Engine module_srl 과 mid 변환 LynX 2014-07-12 576
220 Xpress Engine XE용 query xml 방식으로 일반 테이블도 접근 처리 하기 LynX 2014-07-14 459
219 Xpress Engine xe 모든 변수값 출력해 보기 LynX 2014-07-14 93746
218 Xpress Engine xe 외부 php 파일에서 db 접근하기 executeQuery() LynX 2014-07-14 919
217 Linux 리눅스 기본 명령어 LynX 2014-07-16 792
216 Xpress Engine XML 쿼리 대신 직접 mysql 사용하기 LynX 2014-07-16 391
215 Xpress Engine XML 쿼리 대신 직접 mysql 사용하기 LynX 2014-07-19 273
214 Linux SSH 컴파일 설치 LynX 2014-07-19 376
213 Linux 페도라17(centos7) 새로운 서비스 관리 LynX 2014-07-20 570
212 Linux systemd unit 등록 옵션 LynX 2014-07-22 20455
211 Linux rc.local 서비스 등록하기 LynX 2014-07-22 505
210 Linux sendmail, dovecot 설치 및 설정 [20] LynX 2014-08-01 2724

XE Login