■ 커널 이미지를 만들어 커널 버전은 최신으로 유지하자.
커널 소스는 모듈 프로그래밍이나 드라이버 설치 등 다양한 작업에서 필요로 하기 때문에 설치하는것이 좋다.
■ 기본적으로 작업은 root 계정에서 이루어 진다.


(1) 커널 소스 / 패키지 다운로드
: 커널 컴파일에 앞서 커널 소스와 필요한 패키지들을 설치한다.

○ 커널 소스
: # apt-get install linux-source

○ 패키지
: # apt-get install build-essential
  # apt-get install bin86
  # apt-get install kernel-pakage
  # apt-get install libncurses5-dev


(2) 커널 소스 설치
: /usr/src/linux-source-x.x.x 경로로 가면 다운받은 묶여있는 커널소스(linux-source-x.x.x.tar.bz2) 를 확인할 수 있다.
  (ex) linux-source-3.0.0.tar.bz2

○ 소스 설치
: /usr/src/ 경로에 linux-source-x.x.x.tar.bz2 링크 파일을 압축해제하면, /linux-source-x.x.x/ 폴더에 소스파일이 설치된다.
 # tar jxvf linux-source-x.x.x.tar.bz2
- 설치가 끝나면 linux-source-x.x.x 디렉토리에서 커널소스를 확인할 수 있다.


(3) 커널 환경설정
: 커널 컴파일 전에 커널 환경설정을 현재 사용하고 있는 커널의 환경설정과 동일하게 만들어줘야 한다.

○ 환경 설정파일 복사
- /boot 경로의 파일들은 부트로더에서 사용한다.
- /boot 경로에서 configuration 파일을 확인할 수 있다. (ex) config-3.0.0-12-generic
- configuration 파일을 /usr/src/linux-source-x.x.x/linux-source-x.x.x/.config 로 복사한다.

  ex) # cp /boot/config-3.0.0-12-generic /usr/src/linux-source-3.0.0/linux-source-3.0.0/.config

○ 환경 설정파일 적용
- 이전에 컴파일했던 기록이 있으면 make mrproper 명령으로 의존성을 삭제한다. (첫 컴파일이면 안해줘도 된다.)
- 커널소스 디렉토리에서 make menuconfig 명령 실행(root 권한)
- 설정 창의 맨 밑에 Load하는 부분을 클릭하고 복사한 .config 파일을 선택하여 커널 컴파일시 적용 되도록 한다.
- 설정 창에서 저장하고 나온다.


(4) 커널 컴파일
: 컴파일을 위한 소스파일 설치 / 설정파일 적용 단계를 정상적으로 마쳤다면 커널 컴파일을 실행한다.

○ clean / compile (make-kpkg 로 컴파일할 경우)
  # make-kpkg clean (처음 컴파일시 생략가능)
  # make-kpkg --initrd --revision=love01 kernel_image modules_image kernel_headers

○ clean / compile (make 로 컴파일할 경우)
  # make distclean (처음 컴파일시 생략가능)
  # make -j8  ( -j 옵션을 사용해 cpu 사용률을 높여 더 빠른 시간에 컴파일을 진행할 수 있다.)

※ make -j 옵션 관련 포스팅 자료 (컴파일 속도 최적화)
http://blog.naver.com/invain?Redirect=Log&logNo=80094907942

by 민트앤라떼 2012. 3. 12. 17:24