Site icon Re:제로부터 시작하는 개발자 생활

AOSP build on ARM for ARM 2일차

전에 만들었던 AZURE ARM VM 인스턴스를 다시 시작시키고, 돈도 확인하고 214,015원 크레딧 남았다고 뜨네요. 하루 만원씩 꼬박꼬박 나가는것 같기도 하고요.. 9월에 이 프로젝트는 끝내야 겠네요.

여러가지 Build error를 만나고 일단 prebuilts 툴들부터 ARM64용으로 싹 다 교체를 들어갑니다.. 일단 lunch를 통과해야하니.. 급한 go부터 갈아치워봅시다.
go는 다행스럽게도 메인 프로젝트에서 ARM용 바이너리를 만들고 있습니다.
https://go.dev/dl/에서
go1.19.linux-arm64.tar.gz 다운로드
현재 AOSP master branch에서 사용하는 go는 최신 1.19이므로(ubuntu 20.04에서는 1.13을 설치해서 별 도움 안되고. 22.04 도 기대하긴 힘드니. 그냥 바이너리를 받아서 /prebuilts/go/linux-aarch64 에 다가 몽땅 풀어줍시다. 풀면 go 디렉토리가 나오는데 이걸 linux-aarch64로 변환

그리고 각종 스크립트를 뜯어 고치기 시작합니다. 최종 목표는 prebuilts/linux-x86에 들어 있는 모든 바이너리, 라이브러리에 상응하는 prebuilts/linux-aarch64로 똑같이 만들어 넣어주는 것입니다.

이 정도 수정하고 lunch 하면 ckati가 딴지겁니다..

You're building on Linux

Warning: Cannot display lunch menu.

Note: You can invoke lunch with an explicit target:

usage: lunch [target]

Which would you like? [aosp_arm-eng]
Pick from common choices above (e.g. 13) or specify your own (e.g. aosp_barbet-eng):
16:01:46 Build sandboxing disabled due to nsjail error.
16:01:46 Failed to run dumpvars: fork/exec prebuilts/build-tools/linux-x86/bin/ckati: exec format error

그래서 AOSP소스 루트에서 prebuilts/build-tools/build-prebuilts.sh –armonarm 을 호기롭게 실행시켜보면, 딱 수정한만큼 보람차게 마음엔 안내키지만 그래도 반가운 Warning을 보게 되고, soong_ui.bash실행에서 ninja가 딴지 거는 것을 볼 수 있습니다. 이제 다음 타겟은 이 두 녀석이 되겠네요…

16:03:39 ****
16:03:39 You are building on a machine with 15.6GB of RAM
16:03:39
16:03:39 The minimum required amount of free memory is around 16GB,
16:03:39 and even with that, some configurations may not work.
16:03:39
16:03:39 If you run into segfaults or other errors, try reducing your
16:03:39 -j value.
16:03:39 **
16:03:40 Build sandboxing disabled due to nsjail error.
16:03:40 Failed to run soong bootstrap: fork/exec prebuilts/build-tools/linux-x86/bin/ninja: exec format error

Exit mobile version