HTC Desire에 커스텀 롬을 계속 설치하고 엎어버리고를 반복하다.. 심심했습니다.
명색이 컴퓨터공학과 4년공부하고 대학원 수료한 학생인데, Android Source를 빌드해서 휴대폰에 올려볼까란 생각에 갑자기 안드로이드 소스를 XDA-Developers 에서 찾기 시작하였습니다.
여러가지 안드로이드 소스들 중에서 저는 CyanogenMod 를 선택하여 컴파일 하기로 하였습니다.
저는 Ubuntu 10.10 32bit 컴퓨터(구입한지 6년된 ThinkPad R52)에서 CyanogenMod컴파일을 하게 성공하였습니다.
처음에 맥북프로에서 컴파일 하다보니 아래와 같은 에러로 인하여 포기하였습니다. 아 SnowLeopad 가 64비트라서 32비트로 컴파일하다 Linking문제가 생겼나 봅니다 -ㅁ-
Install: out/host/darwin-x86/bin/dictTest
host Executable: emulator (out/host/darwin-x86/obj/EXECUTABLES/emulator_intermediates/emulator)
ld: illegal text reloc to DwarfCUImpl<Dwarf_CUHdr<Dwarf32_SizeHdr, unsigned int>, unsigned int>::get_pc_address_file_info(unsigned long long, Dwarf_AddressInfo*)from out/host/darwin-x86/obj/STATIC_LIBRARIES/emulator-elff_intermediates/emulator-elff.a(dwarf_cu.o) in anon for architecture i386
collect2: ld returned 1 exit status
make: *** [out/host/darwin-x86/obj/EXECUTABLES/emulator_intermediates/emulator] Error 1
Ubuntu에서 Android 2.3.3. Gingerbread OS탑재된 CyanogenMod 컴파일 하여 아래와 같은 결과를 만들었고, 에뮬레이터에서 실행해보니 잘 돌아갑니다.
Generated: (out/target/product/generic/android-info.txt)
Target system fs image: out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img
Install system fs image: out/target/product/generic/system.img
Target ram disk: out/target/product/generic/ramdisk.img
Target userdata fs image: out/target/product/generic/userdata.img
Installed file list: out/target/product/generic/installed-files.txt
studioego@studioego-laptop:~/android/system$
컴파일 성공하면 위의 메시지가 나옵니다 ㅎㅎ
아래는 컴파일 후 에뮬레이터를 이용하여 결과물을 실행한 화면입니다. 잘 돌아갑니다.
Emulator 실행 화면
Gingerbread가 탑재된 CyanogenMod
에뮬레이터에 볼수 있는 Android 2.3.3 정보 1
에뮬레이터에 볼수 있는 Android 2.3.3 정보 2
본인이 빌드를 했으면 빌드 번호에 본인 이름의 컴퓨터와 컴파일 한 날짜가 들어갔을겁니다. ㅎㅎ
Cyanogen_generic-eng 2.3.3. GINGERBREAD eng.studioego.20110327.012445 test-keys
Android Source컴파일하여 에뮬레이터로 올리는 방법을 알았으니 이제 HTC Desire에 CyanogenMod 소스코드를 올리는 것도 올리겠습니다.
이후에 저만의 커스텀롬 올리는 방법과 Android Source분석도 올릴예정입니다.