Yocto

Yocto Project의 레퍼런스 시스템 포키 (Poky)

chbae 2023. 4. 20. 04:52
728x90
반응형

Yocto Project에 대해서는 앞의 글에서 설명을 했지만, 간단히 요약하면 자신만의 임베디드 리눅스를 만들기 위한 도구, 템플릿등을 제공하는 여러 작은 프로젝트를 가지고 있다.

Poky 소개

이 Yocto Project의 레퍼런스 시스템이 포키이고, 이 글에서는 포키를 받아 빌드를 하고 이를 가지고 할 수 있는 것들에 대해서 설명하고자 한다.

 

포키를 가지고 Beaglebone Black, qemux86 등에서 돌아가는 기본 리눅스 이미지 생성를 생성할 수 있고, 여기에 독자들이 필요한 서비스나 애플리케이션을 간단하게 추가하여 자신만의 리눅스를 만들 수 있다. 포키를 이용한 사례로, 자동차 플랫폼인 GENIVI와 AGL 등이 있다.

포키로 기본 리눅스 이미지 빌드 (현재 릴리스된 최신 버전 4.0 kirkstone로 빌드한다.)

 

1. 포키 다운로드

$ git clone git://git.yoctoproject.org/poky -b kirkstone

 

2. 환경 설정

기본으로 설정되는 BSP(MACHINE)는 qemux86이다. 예를 들어 이를 beaglebone으로 변경하고 싶으면 build/conf/local.conf 파일에 MACHINE="beaglebone"을 추가하면 된다. 기본적으로 사용할 수 있는 BSP는 "find meta-yocto-bsp/conf/machine meta/conf/machine -name *.conf" 명령어를 통해 알 수 있다.

 

$ source oe-init-build-env

 

3. 포키 빌드

$ bitbake core-image-minimal

 

core-image-minimal은 실행 후 가장 기본적인 리눅스 shell 까지 나오게 하는 이미지이고, 이외에 기본적으로 제공하는 여러가지 이미지들이 있다. 기본적으로 제공하는 이미지를 보려면 "find . -name core-image*.bb" 명령어로 찾아보면 된다.

 

4. 빌드 이미지

빌드 이미지는 build/tmp/deploy/[MACHINE] 에 생성된다. 각 개발 보드에 맞게 이미지를 구우면 정상적으로 부팅이 된다.

 

포키를 이용하여 간단한 리눅스 이미지를 만드는 방법에 대해 설명하였다. Yocto Project의 근간이 되는 오픈임베디드(OpenEmbedded)를 사용하여 원하는 패키지를 이미지에 추가하고, 필요한 패키지를 오픈임베디드 문법에 맞도록 구성하는 방법에 대해서는 다음 글에서 설명하다록 한다.

728x90