분류

2018년 2월 8일 목요일

Yocto 학습 : 작업 #6 - 사용자 정의 이미지 만들기

---------------------------------------------------------------------------------------------------
이 문서는 Yocto Training - HOME 문서를 한글 화 한 것입니다. 저자이신 Daiane Angolini 님의 수락 하에 한글 화 작업을 진행하고 있습니다. 일부 주석을 첨부 할 것이며, 필요하면 의역을 통해 일부 내용이 변경 되거나 누락 될 수 있습니다. 하지만 기본은 구글이 번역하겠습니다.

원본은 https://community.nxp.com/docs/DOC-94849 입니다.
---------------------------------------------------------------------------------------------------
업데이트 하는 것 잊지 마세요

사용자 정의 이미지 만드는법

<yocto> /source 폴더에 들어가 사용 가능한 이미지를 찾으세요
※작업1에서 BSP를 다운로드 받은 폴더 (fsl-community-bsp)


$ find -name *image*.bb
./meta-fsl-demos/recipes-fsl/images/fsl-image-gui-sdk.bb
./meta-fsl-demos/recipes-fsl/images/fsl-image-test.bb
./meta-fsl-demos/recipes-fsl/images/fsl-image-gui.bb
./meta-fsl-demos/recipes-qt/images/qt-in-use-image.bb
./meta-fsl-demos/recipes-qt/images/qte-in-use-image.bb
./meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb
./meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb
./meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_6.7.5.bb
./meta-openembedded/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb
./poky/meta-hob/recipes-core/images/hob-image.bb
./poky/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb
./poky/meta/recipes-devtools/mkelfimage/mkelfimage_svn.bb
./poky/meta/recipes-sato/images/core-image-sato-dev.bb
./poky/meta/recipes-sato/images/core-image-sato.bb
./poky/meta/recipes-sato/images/core-image-sato-sdk.bb
./poky/meta/recipes-qt/images/qt4e-demo-image.bb
./poky/meta/recipes-core/images/core-image-minimal.bb
./poky/meta/recipes-core/images/core-image-base.bb
./poky/meta/recipes-core/images/core-image-minimal-dev.bb
./poky/meta/recipes-core/images/core-image-minimal-initramfs.bb
./poky/meta/recipes-core/images/build-appliance-image.bb
./poky/meta/recipes-core/images/core-image-minimal-mtdutils.bb
./poky/meta/recipes-extended/images/core-image-lsb-sdk.bb
./poky/meta/recipes-extended/images/core-image-basic.bb
./poky/meta/recipes-extended/images/core-image-lsb-dev.bb
./poky/meta/recipes-extended/images/core-image-lsb.bb
./poky/meta/recipes-graphics/images/core-image-directfb.bb
./poky/meta/recipes-graphics/images/core-image-x11.bb
./poky/meta/recipes-graphics/images/core-image-clutter.bb
./poky/meta/recipes-graphics/xcb/xcb-util-image_0.3.9.bb
./poky/meta/recipes-bsp/u-boot/u-boot-mkimage_2012.04.01.bb
./poky/meta/recipes-bsp/u-boot/u-boot-mkimage_2011.06.bb
./poky/meta/recipes-bsp/u-boot/u-boot-mkimage_2011.03.bb
./poky/meta/recipes-rt/images/core-image-rt-sdk.bb ./poky/meta/recipes-rt/images/core-image-rt.bb
위의 이미지들은 (파일 명칭에 'image'가 들어잇는 것이 기본 패키지 파일입니다.) 기본(베이스) 이미지, 새 패키지를 추가할 수 있는 위치 또는 새 이미지의 예제로 사용될 수 있습니다.

bitbake -s 는 로컬에서 사용 가능한 패키지를 보여줍니다. grep 옵션을 통해 원하는 패키지 이름을 필터링 할 수 있습니다.

$ bitbake -s | grep calibrat
calibrateproto :0.0+gitAUTOINC+1da6fd1e2c7a49648245c98481fabea8b9690a8c-r2
libxcalibrate :0.0+gitAUTOINC+209d83af61ed38a002c8096377deac292b3e396c-r0
xinput-calibrator :0.7.5+gitAUTOINC+c01c5af807cb4b0157b882ab07a893df9a810111-r1

예를 들어 패키지 이름이 xinput-calibrator이며 이 패키지를 포함하려면 이 문자열이 필요 할 것입니다.

디펜던시 트리를 보려면 아래 명령을 입력하세요

$ bitbake -g fsl-image-test
fsl-image-test의 경우나 다른 이미지의 경우도 동일합니다.

이미지 정의 파일에 패키지 이름을 넣습니다.

$ cd meta-fsl-demos/
$ vim recipes-fsl/images/fsl-image-test.bb

IMAGE_INSTALL list에 패키지 파일 이름을 추가하세요
IMAGE_INSTALL += " \
   packagegroup-fsl-gstreamer \
   packagegroup-fsl-tools-testapps \
   packagegroup-fsl-tools-benchmark \
xinput-calibrator \
"

이미지에 패키지를 포함하려면 conf/local.conf파일을 다음과 같이 구성하세요


MACHINE ??= 'imx6qsabresd'
DISTRO ?= 'poky'
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES = "debug-tweaks tools-sdk"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
CONF_VERSION = "1"
BB_NUMBER_THREADS = '8'
PARALLEL_MAKE = '-j 8'
ACCEPT_FSL_EULA = "1"

CORE_IMAGE_EXTRA_INSTALL += "xinput-calibrator"

그리고 다음
$ bitbake fsl-image-test

conf/local.conf에 디버그 또는 기본 빌더를 추가하는 설정 아래와 같습니다.
EXTRA_IMAGE_FEATURES += "tools-sdk"

이후에 만들어지는 모든 이미지에 개발 도구가 포함됩니다. 동일한 이미지 파일에 포함될 수 있습니다.


Poky 설명 :
'tools-sdk'- gcc, make, pkgconfig 등과 같은 개발 도구를 추가합니다.
"dev-pkg"- 설치된 모든 패키지에 -dev 패키지를 추가합니다. 이미지의 라이브러리와 비교하여 개발할 때 유용합니다.
"tools-debug"- gdb 및 strace와 같은 디버깅 도구를 추가합니다.

명령어 입력 방식이 마음에 들지 않거나, 윈도우 방식의 인터페이스를 선호하는 경우 HOB를 살펴볼 수 있습니다.
HOB 문서 https://www.yoctoproject.org/documentation/hob-manual
유투브에서 HOB 시작 가이드 비디오 (Hob소개) 를 검색해보세요


Yocto 교육 문서 - 홈
Yocto 학습 : 작업 #5 - 커널
Yocto 학습 : 작업 #7 - 툴 체인 만들기

댓글 없음:

댓글 쓰기