ubuntu 11.04 (내가 제일 좋아하는 ubuntu 버전)에서 android gingerbread(진저브레드) 소스 컴파일에 대한 정보이다.
인터넷에서 검색하면 예전 버전들이 많았다. git repository 위치도 달라서 그냥 다 될 것이라는 기대는 하면 안된다. 공식싸이트(http://source.android.com/source/downloading.html)가 그나마 가장 신뢰해야한다는 생각을 다시 하게 되었다.
구글에 올라온 정보가 약간 틀려서, 조금 수정했다.
$ mkdir ~/bin
나는 진저 브레드 브랜치로 다운받음
$ lunch full-eng
빌드과정이라 시간이 많이 소요됨. 4cpu를 다쓸 수 있게 설정함.
디폴트는 타겟이 arm 기반이라서 안드로이드를 ubuntu에서 돌릴 수 없으나, 잘 바꾸면 돌아갈 수도 있을 것 같다.
ramdisk.img, system.img, userdata.img 파일이 빌드 결과물에 있다.
ramdisk.img 는 개발할때 root fs를 ram에서 실행하기 위해서 필요하다.
system.img는 안드로이드 플랫폼용 이미지이다.
userdata.img는 임베디드 어플단 이미지이다.
이렇게 이미지를 나누어서 flash에 구워진다.
이외, root.img가 만들 수 있는데. 이는 root 디렉토리를 이미지화한 것으로 '/'를 의미한다. 즉 부팅에 대한 초기화 내용이 들어가 있다.
시스템에서는 root/init.rc에 정보를 읽을 것이다.
/system 은 system.img, /data는 userdata.img, 나머지 /는 root.img 을 의미한다.
그래서 안드로이드 파일 시스템 구조는 이렇게 구성이 된다.
(http://blog.naver.com/PostView.nhn?blogId=limpe&logNo=20115813026&redirect=Dlog&widgetTypeCall=true 그림만 참조)
재미있는 것은 root/init.goldfish.rc 파일도 볼 수 있는데, 이는 가상의 하드웨어의 이름이다. init.xxx.rc 파일은 하드웨어 vendor에 따른 초기화를 의미한다 .
arm9기반에서 동작되는 것처럼 지원하는 초기화 이름을 goldfish 라고 해서 사용되고 있는데, 이 파일이 init.goldfish.rc 파일이다.
'안드로이드-iOS-Webkit' 카테고리의 다른 글
안드로이드 컴파일 (ubuntu 11.04 + android 4.01) (0) | 2011.11.16 |
---|---|
android를 x86 (pc)에서 돌려보기 (0) | 2011.11.10 |
삼성 핸드폰 안드로이드 소스 받기 (1) | 2011.11.09 |
Intel ADF 2011 컨퍼런스에서 나온 얘기들 (0) | 2011.09.20 |
모토로이-안드로이드 개발 환경 셋팅 이클립스 셋팅 (0) | 2011.08.04 |