# \[OSSCA Git 활용 및 Yocto\] core-image-weston 빌드해 보기

**URL:** <https://community.topst.ai/t/ossca-git-yocto-core-image-weston/687>\
**Category:** Yocto\
**Created:** [October 14, 2025, 12:36am UTC](https://community.topst.ai/t/ossca-git-yocto-core-image-weston/687 "2025-10-14T00:36:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![WJMoh](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.topst.ai/wjmoh/32/383_2.png) [@WJMoh](https://community.topst.ai/u/WJMoh)\
**Post date:** [October 14, 2025, 12:36am UTC](https://community.topst.ai/t/ossca-git-yocto-core-image-weston/687/1 "2025-10-14T00:36:28Z")

</div>

core-image-weston은 yocto project kirkstone 브랜치에서 하기 위치에 정의되어 있습니다.

> [poky/meta/recipes-graphics/images/core-image-weston.bb at kirkstone · yoctoproject/poky](https://github.com/yoctoproject/poky/blob/kirkstone/meta/recipes-graphics/images/core-image-weston.bb)

빠르게 아래 명령어들로 확인이 가능합니다.

> $ bitbake-layers show-recipes core-image-weston  
> $ git grep -n “core-image-weston” poky/meta  
> $ ls poky/meta/recipes-graphics/images/core-image-weston.bb

bb 파일 내용을 간추리면 이 레시피는 `inherit core-image` 하고, Wayland/Weston 구성(예: `weston`, `weston-init` 등)을 이미지에 포함하도록 패키지들을 묶어 image를 정의하고 있습니다.

이 bb 파일에서 무엇인지 잘 모르겠다고 생각할 수 있는 부분은 @bb.utils.contains 라는 녀석일 것 같습니다. Yocto 문서에 설명은 아래 위치에 있습니다.

> [7 Library Functions — Bitbake dev documentation](https://docs.yoctoproject.org/bitbake/bitbake-user-manual/bitbake-user-manual-library-functions.html#bb.utils.contains)

그리고, 구분 설명을 GPT에게 물어보니, 아래처럼 설명해 주고 있습니다.

> **X11을 켠 배포판이면** 이미지에 몇 개 패키지를 **조건부로 추가** 하라는 뜻이에요.
> 
> 구문 쪼개보기:
> 
> - `CORE_IMAGE_BASE_INSTALL += " ... "`  
> → 이미지에 기본으로 들어갈 패키지 목록 변수에 **패키지를 덧붙임** (공백으로 이어 붙임).
> - `${@ ... }`  
> → BitBake의 **인라인 파이썬** 실행. 안의 표현식을 평가해 그 문자열로 치환.
> - `bb.utils.contains('DISTRO_FEATURES', 'x11', 'weston-xwayland matchbox-terminal', '', d)`  
> → `DISTRO_FEATURES`에 `'x11'`이 **포함되면** `"weston-xwayland matchbox-terminal"`을 반환, \*\*없으면\> \*\* 빈 문자열(`""`) 반환. `d`는 BitBake 데이터스토어.
> 
> 따라서 전체 의미:
> 
> 배포판의 `DISTRO_FEATURES`에 `x11`이 있으면, 이 이미지는 `weston-xwayland`(Weston에서 X 클라이언트 실행용 XWayland)와 `matchbox-terminal`(가벼운 터미널 앱)을 **추가 설치** 한다. 없으면 아무 것도 추가하지 않는다.

참고:

- `+=` 는 앞에 공백을 하나 두고 값을 **추가** 하는 연산자입니다.
- `CORE_IMAGE_BASE_INSTALL`는 `core-image` 계열 이미지에서 실제 `IMAGE_INSTALL`에 합쳐지는 **기본 패키지 집합** 을 담는 변수입니다.

제 업무용 PC에서 실행시켜본 yocto core-image-weston의 build 모습입니다.

 ![image](https://canada1.discourse-cdn.com/flex004/uploads/topst/original/1X/0b3772353ce1df6a8cd51e0c596b9c893afe5db7.png)

빌드 완료후 걸린 시간을 보니 343분 38초 정도 걸렸습니다.

 ![image](https://canada1.discourse-cdn.com/flex004/uploads/topst/original/1X/8847a59b2f8266609342dc118a71a0b70dffc95a.png)
