2007 2013 Kandroid
www.kandroid.org »
kandroid s/w fundamentals 교육 »
안드로이드 Platform 
▶ HTC Dream Platform Images
[인베인] emulator용 2.6.23 커널소스(goldfish) 소스 컴파일 및 적용하기
작성자 들풀
작성일 2008-03-03 (월) 19:49
ㆍ추천: 0  ㆍ조회: 4648      
IP: 221.xxx.120
※ 아래의 글은 인베인님의 글을 재분류하는 과정에서 카페매니저가 옮겼음을 알립니다.
 
emulator용 2.6.23 커널소스(goldfish) 소스 컴파일 및 적용하기
 

2.6.23 커널소스를 컴파일하려면 ARM용 크로스 컴파일러가 있어야만 한다. Kernel,gcc,glibc,bintuils을 이용하여

직접 만들어도 되지만 컴파일러 전문업체에서 제공하는 툴체인을 사용하는 것을 여기에서 설명하도록 한다. http://www.codesourcery.com/gnu_toolchains/arm/download.html  사이트에서 ARM EABI, IA32 GNU /Linux  옵션

(라디오박스) 선택한후에 다운로드 받을수 있다.

 

- Target Platform: ARM EABI

- Host Platform: IA32 GNU/Linux

 

바이너리 툴체인을 리눅스PC에서 압축을 해제한후에 Auto Path 설정하도록 한다.

 

fc6#> tar xvf ./arm-2007q3-51-arm-none-gnueabi-i686-pc-linux-gnu.tar

fc6#> export  PATH=$PATH :<cross_compiler_install_path>/bin/

 

http://android.googlecode.com/files/linux-2.6.23-android-m3-rc20.tar.gz 에서 Anrdoi Emulator에 사용되는

커널소스를 다운로드후에 압축을 해제하면 ../tools/lib/images디렉토리에 1.2M 크기의 커널소스들이 위치한다.

아래의 방법대로 커널을 컴파일하여 emulator에 적용하면 된다.

<?xml:namespace prefix = o /><?xml:namespace prefix = o /> 

fc6#> tar xzf linux-2.6.23-android-m3-rc20.tar.gz

fc6#> cd kernel

fc6#> cp ./arch/arm/configs/goldfish_defconfig ./.config

fc6#> vi ./Makefile

         à CROSS_COMPILE ?= <cross_compiler_install_path>/bin/arm-none-linux-gnueabi-

à LDFLAGS_BUILD_ID 주석처리.

fc6#> make menuconfig

fc6#> make zImage

fc6#> cp ./arch/arm/boot/zImage <android_sdk_install_path>/tools/lib/images/kernel-qemu

fc6#> <android_sdk_install_path>/tools/emulator –console –debug-kernel –kernel kernel-qemu

또는 <android_sdk_install_path>/tools/emulator –console –debug-kernel

 
이름아이콘 지농
2009-02-12 18:57
저는 왜 error가 날까요?ㅜ.ㅜ
$ make zImage
/bin/sh: /cygdrive/c/myProgram/CodeSourcery/Sourcery G++ Lite/bin/arm-none-linux-gnueabi-gcc: No such file or directo
y
 CHK     include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
 CHK     include/linux/utsrelease.h
 HOSTCC  scripts/basic/fixdep
 HOSTCC  scripts/basic/docproc
 CC      arch/arm/kernel/asm-offsets.s
/bin/sh: /cygdrive/c/myProgram/CodeSourcery/Sourcery G++ Lite/bin/arm-none-linux-gnueabi-gcc: No such file or directo
y
make[1]: *** [arch/arm/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2
들풀 위의 글은 아주 오래전, 안드로이드 소스 오픈 전 이야기 입니다.
이제는 아래의 URL참고하세요.
http://www.kandroid.org/board/board.php?board=androidsource&command=body&no=4
더불어, kernel 빌드 에뮬상에서 테스트는 아래의 URL 참고 하시구요.
http://www.kandroid.org/board/board.php?board=androidsource&command=body&no=8
2/12 23:17
   
이름아이콘 sunflaur
2009-03-18 14:03
–console 옵션이 있나요?? 없던데 ㅡㅡ; 어떻게 하는거죠??
그리고 goldfish용 make zImage를 시도 해봤는데
kernel/built-in.o: In function 'timekeeping_resume' :
utsname_sysctrl.c:(.text+0x1db2c) : undefined reference to '__aeabi_uldivmod'
utsname_sysctrl.c:(.text+0x1db4c) : undefined reference to '__aeabi_uldivmod'
라고 에러 메시지 떠서 ./kernel/include/linux/time.h 의 timespec_add_ns()함수를 patch하여서 build성공 했는데 에뮬레이터에 적용하니 먹통이네요 ㅡㅡ; 어떻게 해야 해결을 할 수 있는거죠?
제가 어떤 다른 많은 정보를 드려야 하나요?? ㅡㅜ
   
 
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
안드로이드 소스 저장소 복제 및 활용 가이드 [5]+1 브라이언 2009-05-13 10789
110 추방되었던 안드로이드 커널 다시 들어온다. [3]+2 인베인 2010-04-19 8282
109 구글 안드로이드 플랫폼 분석 [12] 성공하자 2008-05-28 7023
108 Android용 Bluetooth solution [7] sandy 2010-05-04 6039
107 Android 2.0 Brief [6]+2 삼스 2009-12-01 5995
106 구글 안드로이드 - JNI : native binding to java [1] 들풀 2008-03-03 5978
105 pmem issue 문의 [6] 재호아빠 2008-12-02 5737
104 구글 안드로이드 - API 정리 들풀 2008-03-03 5693
103 안드로이드 에뮬레이터 Build [Linux] [1] 들풀 2008-03-03 5651
102 [인베인] Ramdisk.img 파일 압축해제 및 재압축 방법.. 들풀 2008-03-03 5480
101 Android Virtualization (KVM for ARM) [4]+2 인베인 2010-04-16 5430
100 구글 안드로이드 - 커널(kernel) Image Build & Replacement.. 들풀 2008-03-03 5401
99 Froyo 에서 i2c driver 의 suspend/resume 동작 [1]+1 손가락 2010-09-14 4820
98 [팁] 실제 하드웨어와 ADB 연결하기 [4] gana쪼꼬렛 2008-11-25 4802
97 구글폰(구글 안드로이드) - 시스템 해킹 들풀 2008-03-03 4775
96 OpenCore버젼 2.1으로 업데이트 [11] 인베인 2009-02-28 4705
1234567