Buildroot Practical
Buildroot가 푸는 문제 — Yocto와의 핵심 차이 분석
Buildroot의 위치 — 임베디드 리눅스 rootfs 빌드 시스템, Yocto와의 트레이드오프.
Buildroot 디렉터리 구조 분해 — board·configs·dl·output
Buildroot 트리 — package, board, configs, fs, output, dl 디렉터리의 역할.
Buildroot Kconfig 설정 — menuconfig와 defconfig 작성
Buildroot의 Kconfig 시스템 — make menuconfig 사용법, defconfig 패턴, 옵션 의존성.
Buildroot 첫 빌드 — QEMU에서 동작하는 시스템 만들기
qemu_aarch64_virt_defconfig로 첫 시스템을 빌드하고 QEMU에서 부팅하는 전체 흐름.
Buildroot 패키지 시스템 분석 — .mk와 Config.in 동작 추적
Buildroot 패키지 작성 규약 — Config.in 옵션 노출과 .mk 빌드 레시피.
Buildroot 외부 트리 — BR2_EXTERNAL 구성과 활용
회사·팀의 패키지·보드 정의를 Buildroot 본체와 분리하는 BR2_EXTERNAL 메커니즘.
Buildroot 보드 Customize — overlay·post-build·post-image 흐름
보드별 파일 추가, 빌드 후 처리, 이미지 생성 후 처리 — 세 가지 hook.
Buildroot 출력 파일시스템 — initramfs·squashfs·ext4·cpio 선택
Buildroot가 생성하는 파일시스템 형식 비교 — 언제 무엇을, 크기·읽기성능·쓰기 가능성.
Buildroot 새 패키지 작성 — autotools·cmake·python 통합
Buildroot에 새 패키지를 추가하는 실전 — autotools·cmake·python 세 케이스.
Buildroot 실전 — BeagleBone Black 시스템 처음부터 끝까지
Buildroot로 BeagleBone Black용 완전한 시스템을 구축 — defconfig부터 SD 카드 부팅까지.
Buildroot Toolchain 선택 — Internal vs External 비교
Buildroot toolchain 결정 — internal toolchain의 단순함과 external toolchain(Bootlin·Linaro·vendor SDK)의 속도·호환성 트레이드오프.
Buildroot 커널 Customize — defconfig fragment와 DTS 통합
Buildroot에서 mainline 커널을 vendor 트리·custom config·in-tree DTS로 customize하는 패턴.
Buildroot U-Boot 통합 — 빌드·env·fw_env 흐름
Buildroot가 U-Boot를 가져와 빌드·패키징하는 방식과 env·fw_env.config로 런타임에 접근하는 패턴.
Buildroot 빌드 캐싱 분석 — dl·ccache·per-package
Buildroot의 캐싱 계층 — dl/ source 캐시, ccache compile 캐시, BR2_PER_PACKAGE_DIRECTORIES와 sstate가 없는 이유.
Buildroot post-build·post-image 심화 — rootfs 최종 수정 흐름
post-build·post-image·post-fakeroot 세 hook의 정확한 차이, 환경 변수, BR2_ROOTFS_OVERLAY 한계, system_table.txt로 권한·devnode 다루기, genimage로 SD 이미지 만들기.
Buildroot OTA 이미지 업데이트 — RAUC·swupdate 통합
Buildroot에서 RAUC·swupdate·Mender를 통합해 A/B 부팅·atomic update를 제공하는 패턴. slot 설계, bundle 생성, U-Boot bootcount, 서명·롤백까지.
Buildroot SDK 생성·배포 — make sdk와 application 워크플로
Buildroot가 만든 toolchain을 application 개발자에게 SDK로 배포하는 패턴과 relocatable toolchain 한계.
Buildroot Security·CVE 추적 — pkg-stats와 Reproducible Builds
Buildroot의 CVE 추적·legal info 산출·SBOM·reproducible build로 보안과 컴플라이언스를 관리하는 패턴.
Buildroot CI/CD 구축 — Container Build와 Cache 공유
GitLab/GitHub Actions에서 Buildroot 트리를 컨테이너로 빌드하고 dl·ccache를 팀이 공유하는 패턴.
Buildroot → Yocto 마이그레이션 — 언제·어떻게 옮길까
Buildroot가 한계에 도달하는 신호와 Yocto/OE로 점진 이전하는 패턴, meta-buildroot 같은 hybrid 옵션.