Yocto 프로젝트를 사용하여 임베디드 리눅스 배포판을 만들기 위해서는, 먼저 Yocto 프로젝트의 소스 코드를 다운로드해야 한다. 아래 단계별로 Yocto 프로젝트 소스 코드를 다운로드하는 방법을 설명하겠다.

작업 디렉토리 생성

Yocto 프로젝트를 위한 작업 디렉토리를 생성한다.

mkdir -p ~/yocto
cd ~/yocto

Yocto 프로젝트 저장소 클론

Yocto 프로젝트에는 여러 개의 Git 저장소가 있다. 이 중에서 poky라는 메타 레이어가 기본 메타 레이어로 가장 기본적인 도구들과 레이어들을 포함하고 있다. poky 저장소를 클론하는 명령어는 다음과 같다:

git clone git://git.yoctoproject.org/poky

이 명령어를 실행하면 poky 디렉터리가 현재 작업 디렉터리에 생성되며, 이 안에 Yocto 프로젝트의 소스 코드가 포함된다.

특정 브랜치 또는 태그 체크아웃

Yocto 프로젝트는 다양한 버전을 가지므로, 특정 브랜치나 릴리스 태그를 지정하여 클론할 수 있다. 예를 들어, "kirkstone" 버전을 사용하고 싶다면 다음과 같이 한다:

cd poky
git checkout -b yocto-kirkstone origin/kirkstone

Poky 디렉터리 구성

poky 디렉터리 안에는 여러 서브 디렉터리와 파일들이 있다. 주요 디렉터리 구조는 다음과 같다:

추가 메타 레이어 다운로드

필요한 경우 프로젝트에 따라 추가 메타 레이어가 필요할 수 있다. 추가 메타 레이어를 다운로드하여 설정하는 방법은 다음과 같다:

  1. meta-openembedded: bash git clone git://git.openembedded.org/meta-openembedded

  2. meta-raspberrypi: bash git clone https://github.com/agherzan/meta-raspberrypi.git

추가 메타 레이어의 경로를 bblayers.conf 파일에 추가하여 빌드 환경을 설정한다.

vi conf/bblayers.conf
  BBLAYERS ?= " \
    /path/to/poky/meta \
    /path/to/poky/meta-poky \
    /path/to/meta-openembedded/meta-oe \
    /path/to/meta-raspberrypi \
  "

주의 사항

환경 변수 설정

빌드 환경을 설정하기 위해 필요한 환경 변수를 설정한다. Yocto 프로젝트 빌드를 효과적으로 수행하기 위해 oe-init-build-env 스크립트를 사용한다:

source oe-init-build-env

이 스크립트는 설정 파일과 빌드 디렉토리 구조를 생성하며, poky/build 디렉토리를 기본 빌드 디렉토리로 설정한다. 빌드 디렉토리 이름을 지정하고 싶다면 명령 뒤에 원하는 디렉토리 이름을 추가할 수 있다:

source oe-init-build-env my-build-directory