반응형

환경) 우분투 18.04

 

i.MX8 Yocto Project 두 번째.

첨부한 문서를 따라서 진행해 본다.

 

i.MX_Yocto_Project_User's_Guide.pdf
0.21MB

i.MX Yocto Project User's Guide.

 

아래 필수 패키지 설치.

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
pylint3 xterm

 

 

계속 설치하여 아래와 같이 설치완료.

 

 

728x90
반응형

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

201218 i.MX8 Yocto Project (1)  (2) 2020.12.29
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
반응형

환경) 우분투 18.04

 

i.MX8 Yocto Project 첫 번째 빌드 방법 문서 다운로드.

 

NXP 메인 사이트에서 Product >> i.MX Applications Processors >> i.MX 8 Processors

i.MX 8 Series Product에서 제일 위의 i.MX8 선택.

TOOLS & SOFTWARE tab 선택.

 

왼쪽 메뉴에서 Embedded Software >> BSP, Drivers and Middleware 선택.

오른쪽의 Embedded Linux for i.MX Application Processors 선택.

 

DOCUMENTATION 탭 선택.

 

아래로 내려가서 Supporting Imformation 항목의

L5.4.47_2.2.0_LINUX_DOCS 선택.

 

참고 링크) www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX?tab=Documentation_Tab

 

Embedded Linux for i.MX Applications Processors | NXP

 

www.nxp.com

로그인을 하고 파일을 다운로드 받는다.

 

 

 

아쉽게도 용량이 10MB 보다 커서 첨부할 수 없네...

대신 참고할 파일만 첨부.

 

i.MX_Yocto_Project_User's_Guide.pdf
0.21MB

 

 

728x90
반응형

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

201218 i.MX8 Yocto Project (2)  (0) 2020.12.29
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
반응형

환경) 우분투 18.04

 

다음 프로젝트 저장 공간 확보를 위해 i.MX8 Android build 압축해 보았다.

 

검색해 보니 tar.xz가 압축률이 좋다고 하여 tar.xz 로 압축.

처음에 우분투 탐색기에서 오른쪽 클릭하여 tar.xz 형식을 선택하고 압축을 했는데 진행상황을 볼 수 없어서 중단.

터미널로 아래 명령을 실행하여 압축하였다.

tar Jcvf android_build.tar.xz android_build/

 

압축이 끝나기까지 대략 6시간 걸렸다.

참고로 android_build 디렉토리는 파일이 많아 용량 확인도 시간이 오래 걸린다.

 

 

압축한 파일 확인. 145.5GB 의 폴더를 압축한 것이였다.

압축된 폴더의 내용도 확인.

 

압축을 하였으니 기존의 디렉토리는 삭제.

압축된 android_build.tar.xz 의 용양를 보면 31GB 이다. 145.5GB가 31GB로 압축되었다.

 

 

휴지통에 있어도 용량이 많으니 완전 삭제. 휴지통에서 삭제될 때 오른쪽 위에 삭제 진행상태가 표시된다는 것을 이제 알았다.

 

 

다시 확보된 SSD 용량. 이제 다음 프로젝트로...

 

728x90
반응형

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

201218 i.MX8 Yocto Project (2)  (0) 2020.12.29
201218 i.MX8 Yocto Project (1)  (2) 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
반응형

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 세번째.

이제 안드로이드 릴리즈 소스 코드 얻기.

 

imx-android-10.0.0_2.5.0.tar.gz가 ~/. 디렉토리에 있다는 가정하에 아래의 명령어를 실행한다.

mkdir ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=${PATH}:~/bin
source ~/imx-android-10.0.0_2.5.0/imx_android_setup.sh

 

그러면 아래와 같이 소스 코드를 다운로드 받기 시작한다.

 

참고) 실수로 git 설정을 하지 않고 실행하면 아래와 같은 GitError가 발생한다.

Repo Init failure

 

아래와 이미지와 같이 설정을 하고 실행하면 다시 진행할 수 있다.

 

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

소스 다운로드 과정이 상당히 시간이 많이 소요된다. 인터넷이 안정적이고 빠른 환경에서 다운로드 할 것을 권장한다.

 

참고) 다운로드 도중 오랫동안 멈추어 있기에 시스템이 멈춘 줄 알고 중단시켰다.

 

 

그리고 다시 시작하니 다행히 이어서 진행되었다.

시간이 오래 걸리고 멈춘 것처럼 보여도 기다리면 진행되니 느긋하게 기다리자. 정확하지는 않지만 몇 시간은 기다렸던 것 같다.

 

한 참을 기다린 후 드디어

위와 같이 안드로이드 소스가 빌드할 준비가 되었다는 메시지를 확인할 수 있다.

 

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 (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