이제 본격적으로 yocto를 통해서 이미지를 생성하려고한다. 일단 NXP에서 제공하는 IMX_YOCTO_PROJECT_USERS_GUIDE를 참조해서 하나씩 따라가 보려고 한다. 크게 필수 패키지 설치, Repo 유틸리티 설정, yocto project 레시피 레이어 다운로드, 이미지 빌드로 나누어 정리 하였다.
1. 필수 패키지 설치
yocto 프로젝트 빌드를 하려면 빌드에 필요한 패키지가 설치되어 있어야한다.
필수 설치 패키지 :
$ 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 rsync curl zstd pzstd lz4c lz4 libssl-de
결과 :
뭔가 찜찜하게 에러메시지 ? 경고메시지 ?가 됐지만 크게 문제되지 않을것 같아 그냥 넘어가겠다. 따로 설치 해보려 했지만 뭔가 제대로 설치가 되지않는다.... 다음에 다시 볼 필요가 있을것 같다. 일단은 진도를 위해 넘어가겠다.
$ mkdir ~/bin (this step may not be needed if the bin folder
already exists)
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ export PATH=~/bin:$PATH
$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --list
$ mkdir tmp-imx-yocto-bsp
$ cd tmp-imx-yocto-bsp
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-kirkstone -m imx-5.15.52-2.1.0.xml
$ repo sync
위 사진을 보면 source 폴더에 meta 폴더들이 생긴것을 볼수있다. 이 안에 recipe들이 들어있고 사용자는 여기서 recipe들을 추가, 제거 해서 필요한 파일들을 생성할 수 있다. 추후에 레시피를 추가해서 hello_world를 찍어볼 예정이고 사용자가 만드는 레시피와 기존 레시피를 활용하는 방법에 대해서도 스터디를 해서 포스팅할 예정이다.
$ DISTRO=fsl-imx-wayland MACHINE=imx7dsabresd source imx-setup-release.sh -b build
$ bitbake core-image-minimal
정상적으로 bitbake 파일이 생성이 되었다.
~/tmp-imx-yocto-bsp/build/tmp/deploy/images/imx7dsabresd 이 경로에서 빌드된 파일들을 보면 기본적으로 포팅하는데 필요한 파일들은 모두 생성이 되었다.
개발 목표 1에 해당하는 이미지 빌드는 정리를 마쳤다. 아직 모르는게 너무 많아서 답답하지만 여러 삽질을 통해 아주 조금씩 알아가는중...