반응형

i.Mx8 Android compile 다섯번째 (마지막)

 

짧게 하려고 했는데 컴파일 과정을 다 작성하다 보니 길어졌네...

이제 마지막이다.

 

마지막 과정을 하기 전에 다시 한번 export 확인.

 

gcc-arm-8.3-2019.03-x86_64-aarch64-elf.tar.xz

gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz

위의 두 파일을 사용하기 때문에 아래의 내용을 export 한다.

 

export AARCH64_GCC_CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-aarch64-elf/bin/aarch64-elf-
export AARCH32_GCC_CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-arm-eabi/bin/arm-eabi-

 

아래의 명령을 순서대로 입력한다.

cd ${MY_ANDROID}
source build/envsetup.sh
lunch evk_8mp-userdebug
./imx-make.sh -j4 2>&1 | tee build-log.txt

i.MX 8M Plus EVK board 이미지를 컴파일 하기 위해 lunch evk_8mp-userdebug 로 설정하였다.

마지막 줄의 imx-make.sh 를 실행하면 컴파일이 시작된다.

 

컴파일 과정의 모든 내용이 build-log.txt 에 기록되므로 컴파일 에러가 발생하면 terminal의 출력 내용을 보거나 build-log.txt 파일의 내용을 확인해 보면 된다.

 

위 이미지의 내용데로 컴파일이 완료되었으며 3시간 39분 47초가 소요되었다.

 

참고로 build-log.txt 파일은 android_build 디렉토리 내에 있다.

 

빌드가 완료된 후 사용된 용량을 보니 248.2GB 이다.

우분투 18.04 를 설치한 후의 용량이 대락 50GB 정도 였으니 대략 200GB 정도 사용한 것 같다.

따라서 충분한 저장장치 용량을 준비해 둘 것을 권한다.

 

컴파일 에러, 저장장치 용량 부족, 램 용량 부족 때문에 몇 시간씩 걸리는 컴파일을 여러번 하였다.

완료까지 험난한 과정이였다.

OS build는 간단히 설명하려해도 간단히 되지 않는구나...

728x90
반응형

'공부 > i.MX8' 카테고리의 다른 글

201218 i.MX8 Yocto Project (1)  (2) 2020.12.29
201219 i.MX8 Android build 압축  (0) 2020.12.29
201205 i.MX8 Android compile (4)  (0) 2020.12.19
201205 i.MX8 Android compile (3)  (0) 2020.12.19
201205 i.MX8 Android compile (2)  (0) 2020.12.19
반응형

i.Mx8 Android compile 네 번째.

 

Source download 후 마지막으로 아래의 설정을 한다.

 

export MY_ANDROID=`pwd`/android_build

 

안드로이드 이미지를 빌드 하기 위해 문서의 3.2 Building Android images 부분을 참고하여 따라한다.

 

아래의 링크 사이트에서 툴체인을 다운로드 받는다.

 

 

gcc-arm-8.3-2019.03-x86_64-aarch64-elf.tar.xz (71.7MB)

>> bear-metal prgram을 컴파일하기 위한 툴

gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz (384.3MB)

를 다운로드 한다.

 

두 파일을 루트의 /opt/ 에 압축을 푼다.

 

 

gcc-arm-8.3-2019.03-x86_64-aarch64-elf.tar.xz

gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz

위의 두 파일을 사용하기 때문에 아래의 내용을 export 한다.

 

export AARCH64_GCC_CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-aarch64-elf/bin/aarch64-elf-
export AARCH32_GCC_CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-arm-eabi/bin/arm-eabi-

 

참고) 다음의 컴파일 작업을 하기 전에 컴파일 에러가 났었던 항목 정리.

 

error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

위와 같은 에러가 발생하면

sudo apt install libncurses5

위 패키지를 설치한다.

필수 패키지 설치 중 설치되는 패키지 인데 일시적인 문제로 설치되지 않아서 위 에러가 발생했던 것 같다.

한 시간 이상 컴파일 했는데 에러가 나서 당황스러웠다.

 

linux-headers-generic 문제

컴파일 도중 이와 관련된 문제가 있었던 것 같다. 해당 내용을 캡춰한 기록이 있으니...

이 때는 WiFi dongle 문제로 네트워크에 연결이 안 되어 다른 PC에서 복사하여 설치하였다.

 

위 이미지의 3개 파일을

"/var/cache/apt/archives" 에 복사하고 아래 명령으로 설치하였다.

apt-get install linux-headers-generic

 

 

bpttool 부분에서 발생한 SyntaxError: invalid syntax 에러.

bpttool 소스의 주석을 보면 python 2.6 이상 버전은 지원한다고 되어 있다.
python --version

명령으로 확인해 보니. 현재 3.8.5 버전이였다.
혹시 버전 호환성 문제인가 싶어 구버전 python을 설치했다.

sudo apt install python2.7

캡춰한 이미지에서는 python이 인식되지 않고 있지만 우분투 18.04 를 처음 설치한 후 python --version으로 3.8.5 버전이 확인된 상태에서도 bpttool 에서 syntax error가 발생했었다.

 

그래서 아래와 같이 python의 위치를 확인하고 python을 2.7 버전으로 설정하였다.

 

whereis python
sudo ln -s /usr/bin/python2.7 /usr/bin/python
python --version

 

여기까지 하면 더 이상의 컴파일 에러가 발생하지 않고 정상적으로 빌드 되었다.

728x90
반응형

'공부 > i.MX8' 카테고리의 다른 글

201219 i.MX8 Android build 압축  (0) 2020.12.29
201206 i.MX8 Android compile (5)  (0) 2020.12.19
201205 i.MX8 Android compile (3)  (0) 2020.12.19
201205 i.MX8 Android compile (2)  (0) 2020.12.19
201205 i.MX8 Android compile (1)  (0) 2020.12.18
반응형

i.Mx8 Android compile 두 번째

 

문서에 나와 있는데로 아래의 git 설정을 한다.

 

git config --global user.name "xxxxxx"
git config --global user.email "xxxxxx@xxxxx.xxx"

 

문서에 나와 있는데로 안드로이드 릴리즈 패키지 압축을 푼다.

경로를 다른 곳으로 해도 되겠지만 경로 수정을 하는 일이 발생할 수 있으니 따라하는게 편해서 따라 했다.

cd ~

홈디렉토리로 이동해서 압축을 푼다.

홈 디렉토리는 루트 디렉토리(/) 밑의 home 디렉토리 밑의 리눅스 사용자 계정명으로 설정된 폴더를 말한다.

 

안드로이드 릴리즈 패키지는 아래 경로에서 다운로드 받을 수 있다. (140MB 정도)

 

www.nxp.com/design/software/embedded-software/i-mx-software/android-os-for-i-mx-applications-processors:IMXANDROID?&tab=Design_Tools_Tab

 

Android OS for i.MX Applications Processors | NXP

 

www.nxp.com

 

 

문서에 나와 있는 그대로 Q10.0.0_2.5.0_ANDROID_SOURCE 를 다운로드 받았다.

 

 

NXP 에 로그인 창이 나오면 로그인을 하고,

 

라이선스 동의하고,

 

다운로드 받는다.

 

다운로드 받은 파일을 홈 디렉토리로 이동하고 압축을 푼다.

 

tar xzvf imx-android-10.0.0_2.5.0.tar.gz

 

 

728x90
반응형

'공부 > i.MX8' 카테고리의 다른 글

201219 i.MX8 Android build 압축  (0) 2020.12.29
201206 i.MX8 Android compile (5)  (0) 2020.12.19
201205 i.MX8 Android compile (4)  (0) 2020.12.19
201205 i.MX8 Android compile (3)  (0) 2020.12.19
201205 i.MX8 Android compile (1)  (0) 2020.12.18
반응형

NXP site 에서 자료 (ex. android_Q10.0.0_2.5.0_docs.zip) 를 다운로드 받고 자료 내에 있는 문서에서

 

Android_User's_Guide.pdf 를 보고 따라하기.

우분투는 18.04 버전을 사용하였다.

Android_User's_Guide.pdf
0.40MB

 

Note1) 컴파일을 위해서 최소 메모리 용량은 RAM 16GB을 사용해야 한다.

  RAM 8GB의 PC로 시도하다가 한 두 시간 후 컴파일이 종료된 현상이 발생하였다.

  옵션을 변경해서 컴파일해도 여전히 메모리 부족으로 종료되어서 결국 메모리를 증가시켰다.

 

Note2) 컴파일을 위해서는 최소 저장공간을 300GB 확보하는 것을 권한다.

  200GB면 충분할 줄 알고 컴파일하다가 몇 시간 후 용량 부족으로 중단 되었다. ㅠ.ㅠ

  그래서 500GB의 SSD를 구매하여 우분투 18.04 를 설치하고 컴파일 하였다.

  컴파일 완료 후 저장 공간을 확인하니 약 250GB가 사용되었다. (우분투 OS 포함되니 컴파일만 200GB 사용되는 것 같다)

  참고로 repo 폴더를 삭제하면 용량을 많이 줄일 수 있다고 한다.

 

위 내용에 따라 아래 사이트에 접속해서 Android build에 필요한 패키지가 설치되어 있는지 확인한다.

 

source.android.com/setup/build/initializing

 

빌드 환경 설정  |  Android 오픈소스 프로젝트  |  Android Open Source Project

 

 

아래와 같은 내용이 나와 있다.

 

 

위에서 문서 아이콘을 선택하면 명령어가 복사된다.

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

위 명령을 실행해서 필수 패키지를 설치한다.

 

계속 하겠습니까? Y 가 기본이므로 Enter 하여 설치.

 

문서에 나와 있는데로 아래 패키지 설치.

 

apt-get install android-tools-fsutils 에서 문제가 있다.

대체 패키지가 있다고 나온다.

그래서 대체 패키지 설치

 

apt-get install android-sdk-libsparse-utils android-sdk-ext4-util

타이핑 하기 어려우면 터미널의 내용을 복사 & 붙여넣기 해서 실행하면 된다. 마우스로 해당 내용 선택한 다음 복사 & 붙여넣기.

 

728x90
반응형

'공부 > i.MX8' 카테고리의 다른 글

201219 i.MX8 Android build 압축  (0) 2020.12.29
201206 i.MX8 Android compile (5)  (0) 2020.12.19
201205 i.MX8 Android compile (4)  (0) 2020.12.19
201205 i.MX8 Android compile (3)  (0) 2020.12.19
201205 i.MX8 Android compile (2)  (0) 2020.12.19

+ Recent posts