제목 : 커널 소스 컴파일 방법
파트3 4장에서 커널 컴파일에 대한 설명이 있지만, 처음 접하시는 분들이 이해하지 못하시는 것 같아서 좀 더 쉬운 과정으로 설명해 드리므로, 책으로 이해가 안되시는 분들은 참고해 주기 바랍니다. 자세한 내용들은 리눅스의 모든 것 책을 참고하면서 커널 컴파일을 하시기 바랍니다.
1.ftp://ftp.kernel.org 사이트에 접속하여 커널 소스 버전을 확인하고 원하는 소스 버전을 선택하여 다운로드합니다.
URL 위치는 URL창에 있는 주소를 참고하시고, 2013년 12월 23일 현재 3.12.6 버전까지 릴리즈되어 있습니다. 이 소스를 다운로드하여 컴파일해 보겠습니다.
2. 다운로드를 wget를 이용하여 /usr/src 디렉토리로 압축이 풀어지도록 하겠습니다.
# wget -O- ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.12.6.tar.xz | tar xvfJ - -C /usr/src/
3. 커널 소스는 /usr/src 디렉토리 아래로 linux-3.12.6 하위 디렉토리를 생성하여 풀어지게 됩니다. 그러면 /usr/src/linux-3.12.6 디렉토리로 경로를 이동합니다.
4. make menuconfig 명령을 실행하여 커널 메뉴를 설정합니다.

make menuconfig 명령을 실행되면 다음과 같은 커널 메뉴 설정 창이 뜨게 됩니다.
커널 메뉴 설정 규칙이나 옵션 설정들에 대해서는 책을 참고하시고, 옵션에 대한 것들은 <Help>를 클릭하여 참고하면 됩니다.
5. 그러면 책에서 설명한 대로 CPU 종류를 선택해 봅니다.
Processor type and features ------->
Processor family ( Pentium-Pro) ------>
Pentium-4/Cereon(P4-base)/Pentium-4 M/older Xeon
6. CPU 선택이 완료되었으면 <Exit>를 선택하여 엔터키를 칩니다.
7. <Exit>를 선택하여 엔터키를 칩니다.
8. <엔터키>를 쳐서 저장하고 종료합니다.
9. 'make' 명령을 실행하여 커널을 컴파일합니다.
컴파일하는데 시간이 오래 걸립니다. 시스템 사양에 따라서 다르겠지만, 커널 버전이 올라갈수록 컴파일 소요 시간은 더 걸리게 됩니다. 컴파일이 완료될때까지 커피 한 잔하시면서 잠시 쉬시는 것이 좋을 것 같군요. 버추얼머신에서는 커널 컴파일을 해 보지 않아서 시간이 어느 정도 걸릴련지 모르겠지만, 항상 오래 걸릴 것으로 생각하는데, 만일 시간이 오래 걸린다면 DVD나 USB로 부팅해서 커널 컴파일을 해서 컴파일된 것을 압축하여 버추얼머신으로 올기는 과정도 고려해 봄직도 괜찮을 겁니다.
10. 시간이 엄청 걸렸을 겁니다. 제 시스템에서 1시간이 훨씬 넘었군요. 암튼 계속 진행하죠.
상기 같이 오류없이 컴파일이 완료되었다면 다음 단계로 진행하고 오류가 있다면 오류의 원인을 찾아 해결해야 하므로, 오류가 발생된다면 캡쳐해서 올려 주시기 바랍니다.
11. make modules_install 명령을 실행합니다.
다음은 이 명령이 수행 결과입니다.
12. 이제 마지막으로 make install 명령을 실행합니다.
13. /boot 디렉토리의 파일들을 확인합니다.
상기 화면과 같이 새롭게 컴파일된 커널 이미지인 vmlinuz-3.12.6과 initrd-3.12.6.img 파일이 존재함을 확인할 수 있습니다.
14. /lib/modules/3.12.6 디렉토리를 확인해 봅니다. 이 경로는 커널 모듈이 위치하는 경로입니다.
15. 새로운 커널로 부팅될 수 있도록 부트로더 설정 파일에 새로운 커널의 부트 엔트리를 추가하거나 수정해 주면 되는데, make install 명령에 의해서 이미 부트로더 설정 파일에 새로운 커널에 대한 부트 엔트리가 추가되어 있을 겁니다.
자, 이제 시스템을 재시작하여 부트로더 메뉴 화면에서 3.12.6 부트 엔트리를 선택해서 부팅하게 되면 새로 컴파일한 커널로 부팅이 이뤄지게 됩니다.





