티스토리 뷰

728x90

윈도우의 WSL으로 우분투 24.04를 설치하고, 여기서 AOSP를 빌드해보았습니다.

 

먼저 윈도우11에서 WSL을 설치하고, WSL에서 AOSP 소스를 다운로드하고 빌드하였습니다.

 

 

WSL 설치

"Windows 기능 켜기/끄기" 메뉴를 검색해서, 아래와 같이 Hyper-V와 가상 머신 플랫폼을 체크하고 저장합니다.

 

Windows 기능 켜기/끄기

 

리부팅을 하고, 아래와 같이 터미널에서 "wsl --install" 명령어를 입력하여 wsl을 설치합니다.

 

설치가 완료되면 시작 메뉴에 Ubuntu를 검색하시면 설치된 것을 확인하실 수 있습니다.

우분투 24.04나 다른 버전을 설치해야하면, 스토어에서 설치하시면 될거같습니다.

 

 

만약 WslRegisterDistrubtion failed with error: 0x80370102 같은 에러가 나오고, 

"Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS." 라고 한다면 

 

Bios에 들어가서 SVM 모드를 Enable로 설정을 변경해줘야 합니다. (아래 글을 참고)

[리눅스] 리눅스 윈도우10 에 설치 (WSL) 시 오류 WslRegisterDistribution failed with error: 0x80370102 (tistory.com)

 

 

WSL에서 AOSP 소스 다운로드 및 빌드

 WSL을 설치하였다면, 이제 AOSP 소스를 다운로드하고 빌드할 수 있습니다.

 

Repo 설치

Repo는 Android의 많은 git 프로젝트를 관리하는 툴이며, Repo를 사용하여 AOSP의 소스를 다운로드할 수 있습니다.

아래와 같이 curl로 다운로드하여 로컬에 설치를 합니다.

mkdir ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

 

그리고 에디터로 ".bashrc" 파일을 열고

nano ~/.bashrc

 

아래와 같이 PATH에 repo를 추가합니다.

nano ~/.bashrc
export PATH=~/bin:$PATH

 

추가 후, source로 변경사항을 적용을하거나 터미널을 새로 열어줍니다.

source ~/.bashrc

 

AOSP 소스 다운로드

다음과 같이 AOSP 소스를 다운로드합니다.

repo init은 AOSP 프로젝트를 설정하며, master 브랜치를 다른 브랜치로 변경하면 다른 브랜치를 다운로드합니다.

mkdir ~/android
cd ~/android
repo init -u https://android.googlesource.com/platform/manifest -b master

 

sync 명령어를 입력하면 소스를 다운로드하게 됩니다. -j8은 8개의 스레드를 사용하여 다운로드 받으라는 의미로, 좀 더 빠르게 다운로드할 수 있습니다.

repo sync -c -j8

 

repo init
repo sync

 

AOSP 소스 빌드

소스를 모두 받았다면, 아래 명령어를 입력합니다.

lunch를 입력하면 어떤 프로젝트로 빌드할지 선택하는 것이 나오는데, 원하는 것을 선택하시면 됩니다.

source build/envsetup.sh && lunch

 

그리고, 아래 명령어를 입력하면 빌드를 시작합니다. -jN은 N개의 스레드로 빌드하라는 의미로, -j8은 8개의 스레드로 빌드합니다. 빌드 환경에 맞게 설정하시면 됩니다.

make -j8

 

728x90