AOSP 직접 빌드하여 넥서스4에 설정하기 #2 - 프레임워크 빌드

|

#1 커널빌드에서 이어짐.




프레임워크를 다운받을 디렉토리를 만들고, repo init 후 repo sync로 다운받도록 한다.

branch는 최신인 android-4.4.4_r2로 선택.

다른 버전(브랜치)도 얼마든지 선택 가능.


브랜치 목록은 이곳에서 볼 수 있다.





repo sync는 대략 한시간정도 걸린다. (물론 네트워크 속도에 따라 다름...)



여기에 디바이스용으로 빌드를 하려면 각 디바이스와 버전에 맞는 바이너리를 추가 해 주어야 한다.

아마 이 바이너리들은 오픈소스가 아니라서 이렇게 배포를 하는 듯...


목록은 여기서 확인하고, 넥서스4의 4.4.4는 이 세 파일을 다운받으면 된다.





r2용 바이너리가 따로 있는 기기/버전이 있는데, mako/4.4.4는 다행히 r1의 바이너리로 정상 동작을 하는것으로 보인다.


첫 빌드에서 와이파이가 안켜지는 증상으로 실패했는데 이유인즉 바이너리는 4.4.4용을 받아놓고,

실제 프레임워크 소스는 4.4 를 받아 빌드를 한 것. 이런 멍충한 실수를....






다운받으면 tgz파일이 다운되고, 압축을 풀면 각각 sh 파일이 하나씩 나온다.

이 sh 파일을 프레임워크 루트에서 실행하면 vendor 디렉토리 아래에 해당 파일들이 위치하게 된다.


sh파일을 실행하면 약관 내용이 나온다. 끝까지 간 후 화면에 나온대로 I ACCEPT 를 입력하면 파일을 저장한다.










프레임워크는 준비되었고, 이제 이 빌드에 포함될 커널을 먼저 빌드해놓은 이미지로 교체하자.


device/lge/mako-kernel/kernel 파일이 있는데, 이 파일을 커널빌드에서 나온 zImage 파일로 교체하면 된다.

소프트링크를 걸던, 복사를 하건 그건 각자 알아서 하면 된다.





참고로 이 파일의 makefile 설정은 device/lge/mako/device.mk 에  있다 (캡춰부분)

makefile을 수정하려면 그것도 상관없음.





이제 프레임워크 빌드 순서에 따라 build/envsetup.sh 를 실행해주고, lunch를 통해 빌드 타겟을 설정한다.





envsetup.sh의 실행은 source 명령(.) 으로 실행하는것을 유의.

각 기기별 빌드타겟 확인은 이곳에서 확인 가능.




그리고 make.


대략 두시간정도 걸렸고, PC성능이 좋다면 한시간 내외로 끝날 수 도 있다.



빌드가 완료되면  out/target/product/mako 위치에 이미지 파일들이 위치하게 된다.

이 중 아래 여섯개의 파일을 복사해둔다.




내 경우엔 우분투에서 빌드 - 윈도우에서 플래싱이라 복사를 따로 했지만, 빌드한 PC에서 바로 플래싱하는 경우는 경로만 잡아주면 된다.



다음 포스트 플래싱하기에서 계속.


And