You cannot see this page without javascript.

커널 컴파일

Linux 조회 수 754 추천 수 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
번호 제목 글쓴이 날짜 조회 수

XE Login