Yocto 머신별 빌드 옵션 설정
같은 bb 파일을 공유하되, 머신별 (보드별, 칩별 등으로 구분) 구분하는 방법
1. 머신을 설정한다.
// 파일명: meta-raspberrypi/conf/machine/raspberrypi3-64.conf
MACHINEOVERRIDES =. "raspberrypi3:"
https://stackoverflow.com/questions/45561697/what-does-machineoverrides-flag-mean
https://github.com/agherzan/meta-raspberrypi/blob/master/conf/machine/raspberrypi3-64.conf
2. 원하는 옵션을 덮어쓸 때는 머신 이름을 쓰면 되고, 추가할 때는 append, 뺄 때는 remove 를 쓰면 된다.
(1) 덮어쓰는 방법: "대상:머신명 = 덮어쓸 내용"
KBRANCH = "standard/base"
KBRANCH:qemuarm = "standard/arm-versatile-926ejs"
(2) 추가하는 방법: "대상:append:머신명 = 띄어쓰기 + 추가할 내용"
KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
(3) 삭제하는 방법: "대상:remove:머신명 = 제거할 내용"
KERNEL_FEATURES:remove:qemux86-64="cfg/sound.scc"
[예시 출처: Yocto bitbake 공식 문서] https://docs.yoctoproject.org/bitbake/dev/bitbake-user-manual/bitbake-user-manual-metadata.html
cf) 빌드 디펜던시 설정
DEPENDS += "recipe1"
https://stackoverflow.com/questions/41722240/how-to-use-depends-in-bitbake
How to use DEPENDS in bitbake
I have a bitbake build environment with multiple recipes, which are dependent in a chain. At the moment I have to do: bitbake recipe1 && bitbake recipe2 I have added: DEPENDS = "recipe1" ...
stackoverflow.com
cf) bitbake 기본 문법 공식 문서
https://docs.yoctoproject.org/bitbake/dev/bitbake-user-manual/bitbake-user-manual-metadata.html
3 Syntax and Operators — Bitbake dev documentation
BitBake supports multiple incarnations of a recipe file via the BBCLASSEXTEND variable. The BBCLASSEXTEND variable is a space separated list of classes used to “extend” the recipe for each variant. Here is an example that results in a second incarnatio
docs.yoctoproject.org