
local.confpoky/build/conf/local.conf 파일이 만들어진다.local.conf의 역할
1-1. target machine(MACHINE 지정)
1-2. cross-toolchain 지정
local.conf 주의점
2-1. local.conf 파일은 기본 설정들을 override하기에 매우 유용하지만,
local.conf에서 변경 사항은 어떠한 소스코드 추적 시스템에 의해서도 추적되지 않기 때문에 조심할 것
local.conf 내 변수MACHINEMACHINE: 빌드할 타겟 머신(e.g. MACHINE = "qemux86-64")

${MULTIMACH_TARGET_SYS}=${MACHINE}-${DISTRO}-${OS}로 나뉘는 것 같음(예상)poky/meta-yocto-bsp 레이어에 의해 기본적으로 지원)
${BUILDDIR}/conf/bblayers.conf에서 추가) 한후,<Layer>/conf/machine/<MACHINE_NAME>.conf 로 확인할 수 있다.MACHINE= 'target machine' | description |
|---|---|
beaglebone | 32bit ARM 레퍼런스 플랫폼 비글본 블랙 |
genericx86 | 일반적인 32bit x86 시스템 |
genericx86-64 | 일반적인 64bit x86 시스템 |
mpc8315e-rdb | NXP MPC8315 PowerPC reference platform |
edgerouter | 64bit MIPS reference platform Edge Router |
MACHINE= 'target machine' | description |
|---|---|
qemuarm | QEMU ARM 에뮬레이터 |
qemuarm64 | QEMU ARM64 에뮬레이터 |
qemumips | QEMU MIPS 에뮬레이터 |
qemumips64 | QEMU MIPS64 에뮬레이터 |
qemuppc | QEMU PowerPC 에뮬레이터 |
qemux86-64 | QEMU x86 64bit 에뮬레이터 |
qemux86 | QEMU x86 에뮬레이터 |
추가적인 BSP 레이어 사용은 링크 참고
${TOPDIR}
내 bitbake shell에서 build 디렉토리$ bitbake -e | egrep "TOPDIR="
poky/build
${DL_DIR}DL_DIR="${TOPDIR}/downloads"
downloads의 역할SRC_URI= tar ball download일 경우libmpc 컴포넌트를 예를든다.poky/meta/recipes-support/libmpcpoky/meta/recipes-support/libmpc/libmpc_1.0.3.bblibmpc_1.0.3.bb 컴포넌트 레시피 內SRC_URI = "http://www.multi..../download/mpc-${PV}.tar.gz""http://www.multi..../download/mpc-1.0.3.tar.gz"을 다운 후 DL_DIR이 가리키는 곳에 저장${DL_DIR}/mpc-1.0.3.tar.gz.done 파일을 생성해 완료함을 표시한다.
downloads 스크린 샷들


SRC_URI= git일 경우do_fetch 태스크를 실행할 때, SRC_URI = git:// 일 경우, -> ${DL_DIR}/git2/<git URL>로 download
${TMPDIR}TMP_DIR="${TOPDIR}/tmp"

${DISTRO}DISTRO="poky"

${TMP_DIR}/work/${MACHINE}-${DISTRO}-OS/결과물들로 생성된다.
${INHERIT}INHERIT += "rm_work"INHERIT += "rm_work"
다시 이미지 만들어보자. $ du -sh build/tmp 해보면 아예 안했을 때보다는 줄어있다.${RM_WORK_EXCLUDE}rm_work에 의해 지워지는 레시피 리스트에서 제외하기 원할 때RM_WORK_EXCLUDE += "recipe-name"RM_WORK_EXCLUDE += "core-image-minimal"IMAGE_INSTALL
${PACKAGE_CLASSES}${SSTATE_DIR}SSTATE_DIR = "${TOPDIR}/sstate-cache"
include를 사용하여, local.conf에 append할 '파일'을 지정할 수 있다.${TOPDIR}/my-local.conf라는 파일을 두고, 내 ${BUILDDIR}/conf/local.conf에서 include를 사용하여 추가해보자.
CPU_COUNT = "${@oe.utils.cpu_count()}"
BB_NUMBER_THREADS = "${@max(${CPU_COUNT}*7//10,1)}"
PARALLEL_MAKE = "-j ${BB_NUMBER_THREADS}"
${TOPDIR}에 있다고 가정# local.conf
include ${TOPDIR}/my_class.bbclass
(layer/classes) $ tree .
├── my_class.bbclass # <-
├── sample_1.bbclass
├── sample_2.bbclass
├── ....
local.conf에 INHERIT += "my_class"를 사용하면 된다.