2007 2013 Kandroid
www.kandroid.org »
kandroid s/w fundamentals 교육 »
안드로이드 Platform 
▶ HTC Dream Platform Images
구글 안드로이드 - 커널(kernel) Image Build & Replacement
작성자 들풀
작성일 2008-03-03 (월) 19:52
ㆍ추천: 0  ㆍ조회: 5446      
IP: 221.xxx.120
첨부#1 config (21KB) (Down:300)
1. 먼저 Gross Compiler를 구하여 설치한다.
http://www.codesourcery.com/gnu_toolchains/arm/download.html 
(ARM EABI, IA32 GNU/Linux 옵션 선택)
2. 안드로이드 Kernel Source를 구하여 설치한다.
http://code.google.com/p/android/downloads/list
(linux-2.6.23-android-m3-rc20.tar.gz)
3. Kernel Compile 환경 설정 및 Kernel Image Build
- 첨부한 config 파일을 <kernel_install_path>/kernel/.config 로 저장한다.
- Makefile의 CROSS_COMFILE ?= <cross_compiler_install_path>/bin/arm-none-linux-gnueabi- 로 설정한다.
- Makefile의 LDFLAGS_BUILD_ID 를 주석처리한다.
- make zImage 를 하면, <kernel_install_path>/arch/arm/boot/zImage 가 만들어진다.
4. 안드로이드 커널 Replacement 및 실행 테스트
- <android_sdk_install_path>/tools/lib/images/kernel-qemu 를 backup한다.
- 위의 zImage를 <android_sdk_install_path>/tools/lib/images/kernel-qemu 로 복사한다.
- <android_sdk_install_path>/tools/emulator.exe를 실행한다.
5. kernel debug log 비교 (My Build Kernel vs. 구글 Release Kernel)
< ................... done, booting the kernel.
< Linux version 2.6.23 (jsyang@kandroid.com) (gcc version 4.2.1 (CodeSourcery Sourcery G+
< + Lite 2007q3-53)) #5 Sun Dec 2 22:19:17 KST 2007

> .................... done, booting the kernel.
> Linux version 2.6.23-gcc3bc3b4 (arve@arvelnx.corp.google.com) (gcc version 4.2.1
> ) #3 Tue Oct 30 16:28:18 PDT 2007


< Memory: 94232KB available (2252K code, 458K data, 92K init)
> Memory: 94212KB available (2268K code, 458K data, 96K init)

< yaffs Dec  2 2007 03:53:16 Installing.
> yaffs Oct 30 2007 16:24:34 Installing.

< goldfish_rtc goldfish_rtc: setting the system clock to 2007-12-02 12:53:05 (1196
< 599985)
< Freeing init memory: 92K
> goldfish_rtc goldfish_rtc: setting the system clock to 2007-12-02 12:55:37 (1196
> 600137)
> Freeing init memory: 96K

< # binder_open(c0843300 c0aa4ce0) (pid 456) got c5cf5000
< binder_open(c0843300 c4f6bea0) (pid 464) got c467a000
< binder_open(c0843300 c0aa4460) (pid 474) got c3d54000
> # binder_open(c0843300 c03bcea0) (pid 464) got c5d3c000
> binder_open(c0843300 c5a729e0) (pid 456) got c54e6000
> binder_open(c0843300 c5a72c60) (pid 469) got c4754000

< binder_open(c0843300 c4f6b2a0) (pid 527) got c398e000
< binder_open(c0843300 c4f6b1a0) (pid 525) got c321e000
< binder_open(c0843300 c38552c0) (pid 542) got c3332000
> binder_open(c0843300 c393bee0) (pid 505) got c4794000
> binder_open(c0843300 c42737c0) (pid 508) got c3b3a000
> binder_open(c0843300 c393bde0) (pid 523) got c343c000

 
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.