Yocto와 Buildroot: 내 보드용 리눅스 통째로 빌드하기
부트로더, 커널, 루트 파일 시스템, 내 앱까지 하나의 이미지로 재현 가능하게 빌드하는 도구.
왜 필요한가
라즈베리 파이 OS처럼 완성된 배포판은 시제품에는 편하지만, 제품에는 필요 없는 패키지가 많고 업데이트를 통제하기 어렵습니다. 제품용 리눅스는 필요한 것만 담아, 언제든 같은 이미지를 다시 만들 수 있어야 합니다.
비교
| Buildroot | Yocto | |
|---|---|---|
| 배우기 | 쉬움 (menuconfig) | 어려움 (레이어, 레시피) |
| 빌드 시간 | 짧음 | 김 |
| 패키지 관리 | 이미지 통째로 | 패키지 단위 업데이트 가능 |
| 산업 사용 | 소형 기기 | 칩 벤더 BSP, 차량, 대형 제품 |
결과물
- 부트로더 (U-Boot)
- 커널 + 디바이스 트리
- 루트 파일 시스템 (busybox 또는 필요한 패키지)
- 크로스 툴체인과 SDK
Yocto 개념
- 레이어: 기능 묶음 (meta-poky, 칩 벤더 BSP 레이어, 내 제품 레이어)
- 레시피 (.bb): 소프트웨어 하나를 받고 빌드하고 설치하는 방법
- 머신 / 디스트로 / 이미지: 대상 보드 / 정책 / 최종 구성
NXP, TI, ST 같은 칩 회사가 Yocto BSP 레이어를 제공하므로, 보통 그 위에 내 레이어를 얹어 시작합니다.