안드로이드 앱 개발자는 AOSP (android open source project)의 소스만 받으면 충분하다. [JB 소스 받는 링크]

하지만 디바이스 드라이버나 안드로이드 스마트폰 개발자는 안드로이드 커널 소스를 따로 받아야 한다.


안드로이드 커널 소스는 AP (application processor) 제조사에 따라 받아야 한다.

에뮬레이터 플랫폼으로 개발할 경우는 common 프로젝트를 퀄컴 칩셋의 경우는 MSM  프로젝트를 받으면 된다.


이렇게 커널 소스까지 받으면 개발용 보드에 커널을 올려 커널을 수정하거나 각종 하드웨어 디바이스를 개발할 수 있다.


커널 소스를 받는 방법은 아래와 같다.


1. 개요

 1. 구글 저장소를 자신의 컴퓨터로 복사한다.

 2. 작업할 브랜치로 이동 후 소스를 받는다.


2. 상세 과정

2.1. 원하는 커널의 저장소를 복사한다.

에뮬레이터 플랫폼으로 개발할 경우 아래 명령을 실행.

 git clone https://android.googlesource.com/kernel/common.git


git clone 명령은 프로젝트 히스토리 전체를 받아온다.

복사할 경로를 지정하지 않았으므로 프로젝트명인 common 디렉터리를 만들어지고   그 아래 .git 디렉터리 생성된다.


이때 .git 디렉터리 크기는  773MB이다.

2.2. common 디렉터리로 이동 후 다운로드 가능한 브랜치를 확인.

cd common

git branch -a


ICS가 리눅스 커널 3.0.1, android 4.1 JB 가 3.0.31를 기반으로 하므로  커널은 3.4 버전을 선택하자.


2.3. git checkout 명령으로 remotes/origin/android-3.4 브랜치로 이동하고 소스를 받는다.

cd common

git checkout -t remotes/origin/android-3.4 -b mykernel-3.4



아래와 같이 mykernel-3.4 브랜치가 만들어지고 받아진 2.1.단계의 저장소 크기와 추가로 받은 소스까지 합한 전체 크기는 1.3G가 된다.


3. 퀄컴 칩셋용 커널을 받는 방법.

현재 AP는 퀄컴 칩셋을 많이 사용하므로 이를 지원하는 커널을 받는 과정을 아래와 같이 추가한다.

+ Recent posts

티스토리 툴바