AOSP build on ARM for ARM 6일차


이제 남은 크레딧이 7만 몇 백 정도네요.. 9월이면 다 끝날 것 같긴한데. 그래프를 보면, Processing좀 썼던 때 살짝 튀는 것 말고는 저장용량인지 기본 할당받아 둔 용량인지로 그래프의 기울기가 일정하게 유지되길래. 일반 200GB 크기로 SSD로 디스크 새로 추가하고 고성능 1T SSD에서 작업하던 데이터 옮기고, 1TB 데이터 디스크는 지우는 작업을 하고 있습니다. 실제 차지한 데이터 용량만큼이라고 해도 디스크 속성이 달라서 아마 비용이 좀 내려가면, 조금더 오래 실험을 할 수도 있을 것 같습니다. 이러다 더 급해지면, CPU 자원도 다운그레이드 할지도 모르겠네요. <현재 크기:Standard D4ps v5(4개 vcpu, 16GiB 메모리) >

아래 LUN0를 없애고 LUN1으로 이동
LUN
디스크 이름
스토리지 유형
크기(GiB)
최대 IOPS
최대 처리량(MBps)
암호화
호스트 캐싱
0
AOSPonARM_DataDisk_0  // 이건 이제 지웠습니다.  참 추가하고 지우고 쉽네요..
프리미엄 SSD LRS
1024
5000
200
PMK를 사용하는 SSE
1
AOSPonARM_Datadisk_1
표준 SSD LRS
200
500
60
PMK를 사용하는 SSE

아무튼 이러한 일환으로 오늘은 AOSP받아왔던 코드들을 depth=1로 주고, prune으로 정리해봅니다. 전에 받을때 partial-clone으로 받아서 비슷하게 동작이 되었던 것 같긴한데, 그 보다 좀 더 오래전 방식이고 꽤나 무식한 방법인 git depth 1로 일괄로 털어버리면, 어찌 될런지 궁금하네요. 한김에 기존에 WSL x86_64시스템에서 받아두었던것도 털고 코드 용량은 줄여서 받은 상태에서 빌드를 걸어보고 있습니다. 사용하는 명령어들은 아래정도가 되겠네요

처음 repo init시에 옵션을 주거나 이미 받아왔다면 아래처럼
repo init --depth=1
로 해놓고, commit HEAD 다시 조정해두고
repo sync -c -j4
repo forall -c git gc --prune=1
로 FETCH HEAD하나만 달랑 남기고 모두 날립니다. 현재 로컬 작업분도 날아가니 주의가 필요합니다. reflog도 날아갈 수 있어 혹 서버에 push 안해둔채로 잘 못 되었을때 영영 복구 불가능할 수도 있습니다.
실제 commit추가 작성하고 push등 작업할 GIT등은 Remote와 완전하게 sync 맞추어야 불필요한 conflict, gerrit오류 등등을 피할 수 있으므로 아래처럼 unshallow로 다시 받아줍니다.
repo forall prebuilts/build-tools build/make build/soong -c git fetch --unshallow

AOSP사이트에 보면 최신 내용으로 --partial-clone --clone-filter=blob:limit:10M  라고 있는데, 이건 아무래도 큰 파일들을 안 가져오는 기능 같기도 하고 git lfs의 기능같기도 하고 잘 모르겠네요.