실제 레시피(.bb), 설정 파일(local.conf, layer.conf) 등에서 자주 등장하고, 빌드 동작, 패키징, 이미지 구성에 큰 영향을 주는 핵심 변수들이야.
🧱 1. 📦 패키지/레시피 관련 변수
변수설명예시
PN | 레시피 이름 (Package Name) | "busybox" |
PV | 버전 (Package Version) | "1.35.0" |
PR | 수정 릴리즈 번호 (Package Revision) | "r0" |
LICENSE | 라이선스 종류 | "GPLv2" |
SUMMARY | 짧은 설명 | "Small utilities for embedded systems" |
DESCRIPTION | 긴 설명 | "BusyBox combines tiny versions of many common UNIX utilities..." |
HOMEPAGE | 프로젝트 URL | "https://busybox.net" |
SECTION | 카테고리 | "base" |
🌐 2. 📥 소스 코드 다운로드 관련
변수설명예시
SRC_URI | 소스 경로 (URL, 파일, Git 등) | git://..., file://..., https://... |
SRCREV | Git 리포지토리에서 사용할 커밋 | "abcdef123456" |
S | 실제 소스 디렉토리 | "${WORKDIR}/git" |
WORKDIR | 레시피 작업 디렉토리 | "tmp/work/.../busybox/1.35.0-r0" |
🛠️ 3. ⚙️ 빌드/컴파일 관련
변수설명예시
EXTRA_OECONF | ./configure에 넘길 옵션 | "--enable-static" |
EXTRA_OEMAKE | make 명령 시 옵션 | "-j4" |
do_compile | 컴파일 명령 정의 | oe_runmake |
do_install | 설치 명령 정의 | oe_runmake install DESTDIR=${D} |
D | 설치 디렉토리 루트 | "${WORKDIR}/image" |
STAGING_DIR_HOST | 툴체인 및 헤더 파일 경로 | "tmp/work/.../sysroot-destdir" |
📦 4. 🧱 패키징 관련
변수설명예시
PACKAGES | 생성할 패키지 목록 | "${PN} ${PN}-dev ${PN}-dbg" |
FILES_${PN} | 패키지에 포함될 파일 목록 | "/usr/bin/*" |
RDEPENDS_${PN} | 런타임 의존성 패키지 | "libc libgcc" |
DEPENDS | 빌드 타임 의존성 | "zlib openssl" |
INSANE_SKIP_${PN} | QA 검사 무시 설정 | "ldflags" |
📷 5. 🖼 이미지 구성 관련
변수설명예시
IMAGE_INSTALL | 이미지에 포함할 패키지 목록 | "busybox dropbear" |
IMAGE_FSTYPES | 생성할 이미지 포맷 | "ext4 wic.gz tar.gz" |
ROOTFS_POSTPROCESS_COMMAND | 루트파일시스템 후처리 함수 | remove_unused_files; |
EXTRA_IMAGE_FEATURES | 디버깅/개발 도구 포함 설정 | "debug-tweaks tools-debug" |
⚙️ 6. 시스템 경로 관련
변수설명예시
TMPDIR | 전체 빌드 결과 디렉토리 | "poky/build/tmp" |
DL_DIR | 소스 다운로드 캐시 경로 | "~/yocto/downloads" |
SSTATE_DIR | sstate 캐시 경로 | "~/yocto/sstate-cache" |
BBPATH | BitBake가 설정파일을 찾는 경로 | "poky/build" |
LAYERDIR | 현재 레이어의 루트 디렉토리 | "meta-custom" |
🧪 7. 테스트 및 디버깅 변수
변수설명예시
INHERIT | 클래스 상속 | "image qt5 cmake" |
BB_NO_NETWORK | 외부 네트워크 사용 제한 | "1" |
BB_NUMBER_THREADS | BitBake 병렬 태스크 수 | "8" |
PARALLEL_MAKE | make -j 병렬 수 | "-j8" |
🧠 팁: 값 확인하는 명령어
bitbake -e <recipe> | grep ^SRC_URI
bitbake -e busybox | less
→ 해당 레시피의 변수 값을 실시간으로 확인할 수 있어!
'YOCTO' 카테고리의 다른 글
YOCTO) 자주 사용하는 디버깅 명령어 (0) | 2025.03.23 |
---|---|
YOCTO) 메타 데이터 종류, 메타 데이터 파일 종류 (0) | 2025.03.23 |
YOCTO) Source를 fetch하는 방식 (0) | 2025.03.23 |
YOCTO) 빌드 시간을 단축 시간을 방법 (1) | 2025.03.23 |
YOCTO) 무엇이고 왜 사용하는가? (0) | 2025.03.23 |