AOSP build on ARM for ARM 5일차


지난번까지 작업후에, 몇일 지나 다시 Azure VM을 들어가보니, 이제 105천 정도밖에 안남았네요. 한나절 지나고 밤이되니 103천정도로 떨어졌습니다. 하루 4천 정도 나가네요.. 근데 Start상태로 계속 두었던건데… 어째 이게 더 싸게 떨어진것 같은 느낌이 –;; 아무튼 오늘은 좀더 진도가 나가서,

ninja를 AOSP것으로 빌드를 해서 넣었습니다. 리눅스 배포본에서 기본으로 깔리는 버전이 AOSP 1.9.10 버전보다 높아서였는지, 아니면, AOSP에 커스터마이징된 옵션이 있는지 모르겠지만. ninja 빌드가 실패해서, 아래처럼 AOSP의 코드 그대로 받아오고, 빌드 명령 한줄로 바이너리를 뽑아냅니다.

git clone https://android.googlesource.com/platform/external/ninja

./configure.py --bootstrap

한번에 되면 좋겠지만. 이런저런 의존성 에러나 경고가 발생할 수 있으므로 아래의 패키지들을 apt나 pip등등을 이용해서 설치해줍니다. 워낙 마구잡이로 설치해보고, 계속 시도해봤던거라서 정확히 어떤 의존성에 걸리는지는 잊어버렸네요.

libprotoc-dev, protoc, protobuf, libprotobuf

sudo apt install protobuf-compiler
sudo pip install protobuf
sudo apt install libprotobuf-dev
sudo apt install libprotoc-dev
sudo apt install cmake

빌드가 되면 external/ninja/에 ninja바이너리가 떡하니 나오니 이것을 이전에 마련해두었던 /prebuilts/build-tools/linux-arm64/bin 에 복사해주면. 뭔가 좀 더 진행이 됩니다.
특히 prebuilt툴 빌드 돌리는것은 신나게 진도가 나갑니다.

OUT_DIR=out ./prebuilts/build-tools/build-prebuilts.sh –armonarm

— FAIL: TestCLC
panic: unsupported Arch: arm64 [recovered]
panic: unsupported Arch: arm64
.. GO Trace들

아마도 aarch64와 arm64의 혼돈속에서 발생하는 것 같은데, 시간만 좀 있으면 정리가 가능할것 같네요. 여기만 넘어가면 prebuilts툴들은 왠만큼 만들어지기를 기대하고, 곧 AOSP전체도 빌드가 되지 않을까 기대해봅니다.