레이어 종류
- Poky에는 총 3개 종류의 레이어(BSP, Distro, Software)가 존재하며, 이에 대한 설명은 본 절에서 진행한다.
- 간략하게 각 레이어의 역할은 다음과 같다.
- BSP: 하드웨어(보드)를 부팅시키기 위한 패키지(부트로더, 커널 등)를 정의 (하드웨어에 완전 종속)
- Distro: OS에서 어떠한 정책으로 시스템을 운영할 것인지를 정의 (하드웨어에 일부 종속)
- Software: 서비스하려는 시스템이 어떠한 기능들을 제공할 것인지를 정의 (하드웨어에 완전 독립)
BSP(Board Support Package) 레이어

- 특정 하드웨어(보드)를 부팅하고 동작시키기 위한 하드웨어 지원 레이어이다.
- Poky를 다운로드 받으면 기본적으로 meta-yocto-bsp라는 레이어가 존재한다.
- meta-yocto-bsp에는 머신 설정 파일과 패키지 등 BSP를 위한 레퍼런스로 활용 가능하다.
Distro(배포판) 레이어

- rootfs read-only, package format(rpm/deb 등), debug symbol 추가 등 OS 정책을 정의하는 레이어이다.
- Poky를 다운로드 받으면 기본적으로 meta-poky라는 레이어가 존재한다.
- 새 제품을 구성할 때에 OS의 정책을 설정해야 한다면 meta-poky를 복사해서 주로 사용한다.
Software 레이어

- 애플리케이션과 라이브러리 등 기능 패키지를 제공하는 레이어이다.
- 하드웨어에 종속되지 않으며 독립적으로 구성가능한 레이어이다.
- meta-java, meta-qt5, meta-browser 등 다양한 Software 레이어가 존재한다.
- Software 레이어는 Poky를 다운로드 받을 때 기본적으로 제공되지 않는다.
- 따라서, Software 레이어는 필요에 따라 새로 작성하거나 다운로드 받아 사용한다.
외부 레이어 추가 방법
- 새 레이어를 직접 작성해야하는지 아니면, 기존에 작성된 레이어를 사용해야 되는지 애매한 경우가 있다.
- 이땐, https://layers.openembedded.org/로 접근하여 필요한 레이어를 새로 작성할 필요가 있는지 확인한다.

- 위 사이트로 접근하면 오픈임베디드에서 관리하는 여러 레이어를 확인 가능하다.
- 현재 사용 중인 Poky의 버전(master, kirkstone 등)을 선택한 후 적절한 레이어를 검색하면 된다.
$ git clone <reposiotry-url>
- 적절한 레이어를 찾았다면, 레이어의 Repository 주소를 사용해 다운로드 받는다.
$ cd path/to/poky/build/
$ bitbake-layers add-layer ../meta-<layer>
- 레이어를 다운로드 받았다면 빌드 디렉터리로 이동한 후 bitbake-layers add-layer 명령을 실행시킨다.
- bitbake-layers add-layer를 실행하면 자동으로 meta-<layer>가 빌드 시스템에 자동 등록된다.

- 위 캡쳐는 meta-oe와 meta-java 레이어를 다운로드 받은 후 bitbake-layers add-layer로 등록한 결과이다.
- bitbake-layers add-layer 명령으로 레이어를 등록하면, 자동으로 build/conf/bblayers.conf가 업데이트된다.
- 오픈임베디드에서 내려받은 대부분의 레이어의 경우 meta-oe에 종속되므로, 반드시 meta-oe를 먼저 등록해주어야 한다.
새 레이어 생성 방법
- 만약, 위 절에서 설명한 방법으로 검색해보아도 필요한 레이어가 보이지 않는다면 직접 작성해준다.
$ bitbake-layers create-layer path/to/poky/meta-newlayer
- 새 레이어를 생성할 때에는 bitbake-layers create-layer라는 명령을 활용한다.
- 이 명령을 사용할 때에 레이어가 생성될 위치는 반드시 Poky 하위로 설정한다.
$ cd path/to/poky/build/
$ bitbake-layers add-layer ../meta-newlayer
- 새로운 레이어(meta-newlayer)를 생성하였다면, 이제 빌드 시스템에서 이를 인지할 수 있도록 한다.
- 앞 절에서 설명하였다시피, bitbake-layers add-layer 명령으로 새 레이어를 빌드 시스템에 인지시킬 수 있다.

- 새롭게 생성한 레이어가 정상적으로 등록하면 위와 같은 결과를 확인가능하다.
※ 다음 장에서 새롭게 생성한 레이어 내부 메타데이터(레시피 등)를 커스텀하는 방법을 설명한다.
'Linux > Yocto' 카테고리의 다른 글
| [Yocto 학습] 6장: 레시피(*.bb, *.bbappend) 커스터마이징 방법 - 2 (0) | 2026.05.12 |
|---|---|
| [Yocto 학습] 5장: 레시피(*.bb, *.bbappend) 커스터마이징 방법 - 1 (0) | 2026.05.12 |
| [Yocto 학습] 3장: 비트베이크(bitbake) 문법 (0) | 2026.05.05 |
| [Yocto 학습] 2장: 비트베이크(bitbake)란? (0) | 2026.05.03 |
| [Yocto 학습] 1장: 개요와 튜토리얼 (0) | 2026.05.03 |




