본문 바로가기

Build System/Yocto Project5

Yocto Project Yocto Project는 임베디드 소프트웨어를 위한 사용자 정의의 리눅스 배포판 생성을 가능하게 하는 절차들과 도구를 만들어내기 위한 오픈소스 프로젝트 Bitbake는 python과 shell script로 작성되어 embedded linux의 크로스 컴파일 과정을 위한 패키지와 관련파일들을 빌드하는데 사용되는 tool(상기 이미지의 파란색 부분) Poky는 yocto의 reference system으로서 가장 2024. 8. 9.
PACKAGECONFIG Description Yocto recipe상에서 해당 레시피에 대한 feature에 대하여 enable하거나 disable 또는 dependency를 설정할 수 있는 변수로서 아래와 같은 형태로 사용한다. 기본형태 PACKAGECONFIG ??= "f1" PACKAGECONFIG[f1] = "--with-f1,--without-f1,build-deps-f1,rt-deps-f1" 1. PACKAGECONFIG에 명시된 feature에 대하여 해당 feature에 대한 configure를 설정 ex) f1이 PACKAGECONFIG에 명시되어 있으므로 PACKAGECONFIG[f1]이 활성화 되어 정의된 configure 적용 2. 각 feature에 대한 configure 설정, 4 가지 config 설.. 2022. 3. 15.
Bitbake 명령어 Bitbake 명령어task 실행bitbake -C task이후의 모든 과정 실행              -c  특정 task만 실행 unpack: src fetchconfigure: 빌드 config 설정compile: 컴파일cleanall: repository를 포함한 모든 정보 제거recipe 내 bitbake util1.bb.utils.contains"${@bb.utils.contains('VAR', 'test', 'libtest.so', '', d)}"상기 구문의 경우 VAR라는 변수에 'test'가 있으면 3번째 인자를 선택하고, 아니면 4번째 인자를 선택하는 util example# 해당 예제의 경우 INVITE_PLATFORM 변수에 hud-display가 존재하면 file://0001-.. 2021. 9. 15.
bitbake metadata variable bitbake에서 변수 할당은 metadata 문법의 핵심으로 잘 숙지할 필요가 있다. 기본변수설정 기본적으로 다음과 같이 변수를 할당한다. AAA = "var" 변수 확장 A = "Aval" B = "Left${A}Right" A에 할당된 값은 "Aval" B에 할당된 값은 "LeftAvalRight recipe 변수 yocto에서 사용되는 환경 변수 PR : Package Revision PN: Package Name PV: Package Version P : Package : "${PN}-${PV}" PF : Package full name : "${PN}-${PV}-${PR}" S : Unpacked source code directory - 압축해제, 패치, 컴파일이 진행되는 디렉토리 D: De.. 2020. 8. 4.
recipe customize 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.. 2020. 8. 4.
728x90