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
디렉터리 안에는 여러 서브 디렉터리와 파일들이 있다. 주요 디렉터리 구조는 다음과 같다:
- bitbake/: BitBake 도구와 스크립트.
- meta/: 기본 메타데이터 레이어.
- meta-yocto/: Yocto 프로젝트 관련 메타데이터.
- meta-yocto-bsp/: 샘플 보드 지원 패키지(BSP) 메타데이터.
추가 메타 레이어 다운로드
필요한 경우 프로젝트에 따라 추가 메타 레이어가 필요할 수 있다. 추가 메타 레이어를 다운로드하여 설정하는 방법은 다음과 같다:
-
meta-openembedded:
bash git clone git://git.openembedded.org/meta-openembedded
-
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