BLOG main image
분류 전체보기 (26)
미국생활 (0)
InfoReview (4)
Industry (16)
잡담 (3)
Resource (3)
Communication (0)
Visitors up to today!
Today hit, Yesterday hit
2008. 1. 24. 18:15
안드로이드 뉴스 그룹을 헤매다가 우연히 발견한 링크: http://honeypod.blogspot.com/2007/12/compile-android-kernel-from-source.html 일본 사람인 듯 한데, 안드로이드 소스코드를 코드 소서리의 GCC 툴체인을 이용해서 Fedora Core 8에서 컴파일 하는 방법을 올려 놓았다.

당장 따라해 봤다. 일단 툴체인을 코드 소서리 홈페이지에서 (http://www.codesourcery.com/gnu_toolchains/arm/download.html) 받아서 내 Fedora Core 7 머신으로 복사하고, 예전에 받아놓은 안드로이드 커널 소스도 설명에 따라서 풀어본다. (툴체인 받을때 ARM GNU/Linux하고 IA32 GNU/Linux를 선택했다.)

우선 에뮬레이터를 실행하고 adb를 붙여서 config 파일을 가져온다.

[tykim@tiger sdk]$ android_sdk_linux_m3-rc37a/tools/adb pull /proc/config.gz .
* daemon not running. starting it now *
1 KB/s (5564 bytes in 3.516s)
[tykim@tiger sdk]$
[tykim@tiger sdk]$ ls -l
total 20
drwxrwx--- 5 tykim tykim 4096 2007-12-13 10:56 android_sdk_linux_m3-rc37a
-rw-r--r-- 1 tykim tykim 5564 2008-01-24 21:26 config.gz

그리고 설명에 나온 것처럼 config 파일 복사하고 Makefile 수정한 다음에 make로 커널 컴파일을 돌리면, 델 래티튜드 D600 머신에서 약 6분정도 걸린다. 궁금하신 분은 아래의 컴파일 로그 파일 참조...   ^^;
그리고 컴파일된 이미지의 크기를 보면:

[tykim@tiger kernel]$ ls -l arch/arm/boot/zImage
-rwxrwxr-x 1 tykim tykim 1235052 2008-01-24 21:45 arch/arm/boot/zImage
[tykim@tiger kernel]$ ls -l ../sdk/android_sdk_linux_m3-rc37a/tools/lib/images/kernel-qemu
-rwxrwxr-x 1 tykim tykim 1245836 2007-12-12 06:32 ../sdk/android_sdk_linux_m3-rc37a/tools/lib/images/kernel-qemu
[tykim@tiger kernel]$

오히려 원래 SDK에 있는 것보다 10KBytes 정도 줄어든 것을 확인해 볼 수 있다. 새로 컴파일 된 이미지를 이용해서 에뮬레이터를 돌려보면:

사용자 삽입 이미지

안드로이드 에뮬레이터


짜잔... 원래 에뮬레이터와 아무런 차이 없이 실행 잘 된다. 이상 안드로이드 커널 컴파일 실험 끝!!!
^^;