우분투 ubuntu2009/01/26 23:11
리누즈 토발즈가 작년 크리스마스 이브에 리눅스 커널 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초

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

사용자 삽입 이미지



TRACKBACK http://mojolog.net/trackback/396 관련글 쓰기

댓글을 달아 주세요

  1. 동근2

    커널컴파일 도중에 make menuconfig에서 헤매고 있습니다. 너무 어렵고 복잡하네요. 컨피그 설정하는거 설명이 자세히 나와있는 사이트가 있나요? 몇개 찾아봤지만 오래된 문서라 다른점이 너무 많더군요.
    아니면 벽헌님의 노하우를 자세히 공개하시면 감사하겠습니다.

    2009/02/03 02:01 [ ADDR : EDIT/ DEL : REPLY ]
    • 벽헌

      그 과정이 확실히 복잡하고 어렵기는 하더군요.
      자세한 설명이 있는 문서는 저도 못찾았습니다. 그리고 뭐 노하우랄 것도 없지만, 몇가지 적어놓은 것이 있기는하니 시간내서 정리해보기로 할게요.

      2009/02/03 13:38 [ ADDR : EDIT / DEL ]