본문 바로가기
Build System/Yocto Project

recipe customize

by rewyear 2020. 8. 4.

bbappend 활용하기 

.bbappend의 확장자를 가지고 있는 append파일은 .bb의 내용을 확장하거나 override하기 위해 사용한다.

bitbake가 append 파일을 인식하기 위해서 .bb레시피와 이름이 같아야 한다.

 

Common Usecase

이미 존재하는 레시피를 수정해야 하는 경우 .bb에 이어 .bbappend 파일을 레이어에 만들어야 함

ex) testapp_1.0.bb / testapp_1.0.bbapend

 

 

Patch 적용하기

이미 존재하는 패키지에 패치를 적용하고 싶은 경우에는 다음과 같이 FILEEXTRAPATHS변수를 활용해야 한다.

 

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

SRC_URI += "file://patch1.patch"

 

_prepend의 경우 우선순위가 낮은 레이어라도 패치를 적용한다.

.patch가 기본 확장자

 

추가 파일 적용하기

추가해야 할 파일이 있는 경우(.cfg, .so등 환경설정이나 lib파일) FILESEXTRAPATHS 변수를 다음 처럼 사용해야 한다.

 

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
SRC_URI += "file://newconfigfile.conf"

 

do_install_append() {
   install -m 644 ${WORKDIR}/newconfig.conf ${D}${sysconfdir}
}

 

do_install_append 함수는 함수 내부의 코드 블록을 원본 do_install 함수의 메타데이터 밑에 붙인다. 

 

파일 탐색 경로 

SRC_URI에 일반 파일이나 패치가 포함되면, 비트베이크는 이 파일을 FILESPATH나 FILESEXTRAPATH 변수에 들어 있는 값의 경로에서 찾음

300x250

'Build System > Yocto Project' 카테고리의 다른 글

Yocto Project  (0) 2024.08.09
PACKAGECONFIG  (0) 2022.03.15
Bitbake 명령어  (0) 2021.09.15
bitbake metadata variable  (0) 2020.08.04