리누즈 토발즈가 작년 크리스마스 이브에 리눅스 커널 2.6.28 버전을 내놓으면서 '크리스마스 휴일에 커널 컴파일을 하면서 즐겨보자'라고 했다지요? 그 다운 농담이라고 여기면서도, 한편으론 이름있는 명절날 방구석에 혼자 틀어박혀 커널 컴파일을 하는 사람이 진짜로 있다면 좀 불쌍하고 딱하겠다는 생각도 했었습니다.
그런데...
제가 하도 심심해서 또다시 커널 컴파일을 하면서 설날을 보냈다는거 아니겠습니까... 에효~~

지난번에는 kernel.org에서 바닐라 커널을 받아서 컴파일 했는데, 오늘은 얼마전 시험삼아 칼아놓은 우분투 Jaunty 알파에서 커널 소스를 받아서 해봤습니다. 우분투의 커널 버전으로는 2.6.28-5가 됩니다.
두가지 커널이 어떻게 다른지는 물론 모릅니다. 다만 우분투의 커널 소스가 우분투엔 좀 더 잘 어울리지 않을까하는 짐작만 할 뿐이죠.

아무튼 그래도 한번 해봤던 일이라 그런지 첫번째 경험보다는 조금 가벼운 마음으로 시작할 수 있었습니다. 시간도 넉넉하고, 조급할 일도 없기에 설정을 세심하게 살펴보며 .config 파일을 편집했습니다. 참고자료도 많이 찾아봤고요. 먼저번에는 빼도 이상이 없으리라 거의 확신할 수 있는 항목만 건드렸는데, 이번엔 없애도 되겠다 싶은 것들은 모두 과감히 빼버렸습니다.

컴파일하여 부팅해보니, 결과는 좋은 편입니다. 각 커널들의 비교를 해볼게요.

- 부팅 직후의 소비 메모리
2.6.27-11-generic (우분투 8.10의 최신 커널) --> 365mb
2.6.28-mojo (먼저번에 컴파일한 커널) --> 327mb
2.6.28-1-5-mojolog (오늘 컴파일한 커널) -->288mb
기본으로 깔리는 커널과 비교하면 무려 80mb 가량 적게 소비하게 되었네요.

사용자 삽입 이미지


- vmlinuz의 크기
2.6.27-11-generic -> 2.2mb
2.6.28-mojo -> 2.2mb
2.6.28-1-5-mojolog -> 2.1mb
요건 별 차이가 없습니다.

- initrd.img의 크기
2.6.27-11-generic -> 8.3mb
2.6.28-mojo -> 6.1mb
2.6.28-1-5-mojolog -> 4.3mb
반 가까이 작아졌고요.

- /lib/modules의 해당 디렉토리
2.6.27-11-generic -> 항목 2,536개, 크기 97.1 MB
2.6.28-mojo -> 항목 1272개, 크기 36.7 MB
2.6.28-1-5-mojolog -> 항목 519개, 크기 18.0 MB
이 부분이 가장 차이가 많이 나지요. 모듈을 무지하게도 많이 빼버렸더니만...

- 로그인 화면이 뜰 때까지의 부팅 속도
2.6.27-11-generic -> 32초
2.6.28-mojo -> 29초
2.6.28-1-5-mojolog -> 25초

현재까지 별다른 에러 없고, 되던 것이 안되는 것 없음..

사용자 삽입 이미지


트랙백 주소 - http://mojolog.com/tcb/trackback/396

댓글을 달아 주세요

  1. 동근2reply | del   2009/02/03 02:01
    커널컴파일 도중에 make menuconfig에서 헤매고 있습니다. 너무 어렵고 복잡하네요. 컨피그 설정하는거 설명이 자세히 나와있는 사이트가 있나요? 몇개 찾아봤지만 오래된 문서라 다른점이 너무 많더군요.
    아니면 벽헌님의 노하우를 자세히 공개하시면 감사하겠습니다.
    • 벽헌del   2009/02/03 13:38
      그 과정이 확실히 복잡하고 어렵기는 하더군요.
      자세한 설명이 있는 문서는 저도 못찾았습니다. 그리고 뭐 노하우랄 것도 없지만, 몇가지 적어놓은 것이 있기는하니 시간내서 정리해보기로 할게요.