최대 1 분 소요

....급기야는 안드로이드 커널 빌드까지 하게 되었다. 안드로이드 싫어 ㅜㅜ..

1. 전 포스팅(넥서스원 CyanogenMod7 설치) 에서 CyanogenMod 롬을 설치해준다.


2. 개발에 필요한 도구들 다운!
32bit and 64bit systems:
git-core gnupg  sun-java6-jdk  flex  bison  gperf  libsdl-dev  libesd0-dev  libwxgtk2.6-dev  build-essential  zip  curl  libncurses5-dev  zlib1g-dev

64bit only:
ia32-libs  lib32z1-dev lib32ncurses5-dev  gcc-multilib  g++-multilib

들을 다운받는다. 물론 다운은 sudo apt-get install 패키지명!


3. Repository 셋업을 한다.
$mkdir -p ~/bin
$curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$chmod a+x ~/bin/repo
$echo $PATH|grep ~/bin>/dev/null||export PATH="${PATH}":~/bin


4. ROM 소스코드를 다운받는다.
$mkdir -p ~/android/system
$cd ~/android/system

For CyanogenMod 7 (Gingerbread):
$repo init -u git://github.com/CyanogenMod/android.git -b gingerbread

For CyanogenMod 9 (Ice Cream Sandwich):
$repo init -u git://github.com/CyanogenMod/android.git -b ics

For CyanogenMod 10 (Jelly Bean):
$repo init -u git://github.com/CyanogenMod/android.git -b jellybean

$repo sync -j16  (엄청 오래걸린다.. 해놓고 밥먹고 오자 그래도 안끝남ㅋㅋㅋ)

안드로이드 툴체인 환경변수 설정도 아래와 같이 해준다.
$export CCOMPILER=${HOME}/android/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-


5. 안드로이드 커널 소스 다운!
$mkdir -p ~/android/kernel
$cd ~/android/kernel
$git clone git://github.com/CyanogenMod/cm-kernel.git  (얘도 좀 많이 걸림..)
$cd cm-kernel


6. Configure the Build
폰을 PC와 연결하고, 안드로이드 SDK 도 설치하여 ADB 명령이 가능하다고 가정.
설치가 안되어 있다면 관련 포스팅은 여기


$adb pull /proc/config.gz ~/android/kernel/cm-kernel/config.gz
$cat config.gz | gunzip > .config

그다음에 configure 해주자

$make ARCH=arm CROSS_COMPILE=$CCOMPILER oldconfig
머 yes/no 선택하라고 하는데 걍 아무거나 대충해줘도 됨

만약 수정된걸 하고싶다면 수정후 알아서 요걸로.
$make ARCH=arm CROSS_COMPILE=$CCOMPILER menuconfig

7. 빌드하자
$make ARCH=arm CROSS_COMPILE=$CCOMPILER -j`grep 'processor' /proc/cpuinfo | wc -l`

빌드하는데 시간 좀 걸린다.. 빌드가 끝났다면
~/android/kernel/cm-kernel/arch/arm/boot 안에 zImage가 있어야 한다.



으아 여기까지 왔다.. 나머지는 다음 포스팅에서... ~
Ubuntu에서 Android Kernel 빌드하기(2/2)





카테고리:

업데이트:

댓글남기기