| <nopad>[[Linux| Linux 관련 문서 |
| 리누스 토르발스 · 커널 · 배포판 (목록) · 환경변수 · 소프트웨어 · 명령어 · GUI 환경 · Linux 게이밍 · Tux · Flatpak · Snap · AppImage · Linux From Scratch · Buildroot · Yocto Project |
| 파일:logo-buildroot.png | |
| Buildroot | |
| <colbgcolor=#002b36><colcolor=#ffffff> 개발 | Buildroot Project |
| 라이선스 | GPL |
| 최초 발매 | 2001년 |
| 최신 버전 | 2026.02.0 |
| 용도 | 임베디드 리눅스 시스템 빌드 자동화 |
| 지원 플랫폼 | ARM, x86, x86_64, MIPS, PowerPC, RISC-V 등 |
| | |
1. 개요
Buildroot는 임베디드 리눅스 시스템을 구성하기 위한 경량 빌드 시스템이다. 크로스 컴파일 툴체인, 부트로더, 리눅스 커널, 루트 파일시스템, 사용자 공간 패키지를 하나의 빌드 과정에서 통합적으로 생성할 수 있다. 특정 하드웨어 환경에 맞춘 맞춤형 리눅스 이미지를 만드는 데 최적화되어 있으며, 범용 배포판을 제작하기보다는 제한된 자원을 가진 임베디드 시스템을 위한 최소 구성 환경을 구축하는 데 적합하다.2. 특징
Buildroot는 Makefile 기반의 단순한 구조를 가지고 있어 전체 시스템 구성이 직관적이며 이해하기 쉽다. Linux 커널과 동일한 Kconfig 시스템을 사용하여 메뉴 기반 설정을 제공하므로, 사용자는 make menuconfig를 통해 필요한 기능과 패키지를 쉽게 선택할 수 있다. 또한 크로스 컴파일 툴체인을 자동으로 생성하거나 외부 툴체인을 연동할 수 있어 임베디드 개발 환경을 효율적으로 구축할 수 있다.필요한 구성 요소만 선택하여 빌드하는 방식이기 때문에 결과 이미지의 크기가 작고 가벼우며, 부팅 속도와 자원 효율성이 뛰어나다. ext 계열 파일시스템뿐만 아니라 squashfs, ubifs, initramfs 등 다양한 파일시스템 형식을 지원하여 저장 매체에 맞는 구성이 가능하다.
한편 Buildroot는 런타임 패키지 관리 기능을 기본적으로 제공하지 않으며, 시스템 변경 시 전체 이미지를 다시 빌드하는 방식을 사용한다. 이로 인해 유연성은 제한되지만, 시스템 일관성과 안정성을 유지하는 데 유리하다. 또한 비교적 빠른 빌드 속도를 제공하여 프로토타입 제작이나 초기 개발 단계에서 효율적으로 활용될 수 있다.