core-image-weston은 yocto project kirkstone 브랜치에서 하기 위치에 정의되어 있습니다.
poky/meta/recipes-graphics/images/core-image-weston.bb at kirkstone · yoctoproject/poky
빠르게 아래 명령어들로 확인이 가능합니다.
$ 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 문서에 설명은 아래 위치에 있습니다.
그리고, 구분 설명을 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 모습입니다.
빌드 완료후 걸린 시간을 보니 343분 38초 정도 걸렸습니다.

