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 조회 수
169 Linux PlayOnLinux [3] LynX 2014-11-28 418
» Linux 커널 컴파일 [10] LynX 2014-12-08 743
167 Linux Codec [12] LynX 2014-12-08 355
166 Linux cinnamon [10] LynX 2014-12-11 287
165 Linux EPEL repository [10] LynX 2014-12-11 945
164 LinuxMint linuxmint LynX 2014-12-11 953
163 Linux lazarus 설치 [10] LynX 2014-12-17 340
162 LinuxMint LinuxMint MariaDB source 설치 [12] LynX 2014-12-19 1135
161 LinuxMint mint linux 한영키 [10] LynX 2014-12-19 385
160 Linux ibus 한영키 전환 문제 nabi [12] LynX 2014-12-19 483
159 Linux lol 설치 [9] LynX 2014-12-22 958
158 Linux ISO 마운트 [10] LynX 2014-12-22 516
157 Linux opensuse yum repository 추가 [13] LynX 2014-12-23 636
156 Linux 리눅스 게이밍 가이드 1부 : 게임을 위한 환경 설정 [10] LynX 2014-12-24 1027
155 Linux 리눅스 게이밍 가이드 2부 : 실전 게임 플레이와 문제 해결 [13] LynX 2014-12-24 714
154 Server Open Solaris 패키지 설치 및 삭제 LynX 2014-12-29 511
153 LinuxMint LinuxMint Apache source 설치 file [8] LynX 2014-12-29 571
152 LinuxMint LinuxMint PHP source 설치 [1] LynX 2014-12-30 297
151 CentOS CentOS 에 설치된 커널과 오랜된 커널 삭제하기 LynX 2014-12-30 970
150 OpenSolaris Open Solaris 설치 file [12] LynX 2014-12-30 417

XE Login