Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ubuntu
- fprintf
- usb2.0
- jenkins
- intents
- 속도저하
- 프레임버퍼
- interrupt context
- layouts
- Shared Folder
- 멀티프로세싱
- makefile
- 소캣
- 디스크 축소
- interrupt handler
- gparted
- context
- DMA
- activities
- 젠킨스
- pagefile.sys
- 디스크립터
- sscanf
- 환경 변수
- fscanf
- memcmp
- context switch
- HDR
- sprintf
- 문자형 디바이스 파일
Archives
- Today
- Total
do{학습}while
YOCTO) 무엇이고 왜 사용하는가? 본문
🚀 YOCTO란?
Yocto Project는 임베디드 리눅스 시스템을 만들기 위한 오픈소스 빌드 시스템이야.
조금 더 쉽게 말하면…
"내가 원하는 구성으로 리눅스를 처음부터 직접 만들어주는 공장 같은 도구"야.
🧠 왜 YOCTO가 필요할까?
일반적인 리눅스(Ubuntu, Debian 등)는 누군가 만들어 놓은 완성품을 설치해서 쓰는 방식이야.
하지만 임베디드 시스템은 다르지:
- 디바이스 성능이 낮아 → 불필요한 것 빼야 함
- 커널/드라이버를 바꿔야 함 → 직접 수정해야 함
- 보드마다 구성 다름 → 맞춤형 시스템이 필요함
이런 걸 가능하게 해주는 게 바로 Yocto야.
🔧 Yocto가 해주는 일
Yocto는 내부적으로 이런 걸 자동화해줘:
| 단계 | 설명 |
| fetch | 소스 코드 다운로드 (예: 커널, busybox 등) |
| unpack | 압축 풀기 |
| patch | 필요시 패치 적용 |
| compile | 컴파일 (크로스 컴파일 포함) |
| install | 임시 루트파일시스템에 설치 |
| package | 패키징 (rpm, ipk, tar 등) |
| image | 부팅 가능한 이미지 생성 (ext4, wic 등) |
📦 Yocto의 주요 구성 요소
| 구성 | 요소역할 |
| BitBake | 빌드 도구 (make 같은 역할) |
| Recipe (.bb) | 각 패키지 빌드 방법 정의 |
| Layer | 기능별 코드 모음 (meta-xxx 형태) |
| Machine 설정 | 보드/CPU 설정, 하드웨어의 스펙 설명 |
| Image 설정 | rootfs 구성 정의 |
🧰 Yocto가 제공하는 주요 리소스와 환경
| 제공 | 항목 설명 |
| 리눅스 커널 소스 | 다양한 버전의 커널 소스를 자동으로 받아오고, 패치하거나 설정할 수 있음 |
| 크로스 툴체인 (Toolchain) | 타겟 아키텍처용 크로스 컴파일러, 링커, 디버거 등을 자동 생성 |
| QEMU 가상 머신 | 실제 보드 없이 가상으로 부팅/실행 테스트 가능 (qemuarm, qemux86 등) |
| 루트 파일 시스템 이미지 생성 도구 | ext4, squashfs, wic 등 다양한 형식 지원 |
| 패키징 시스템 | ipk, rpm, deb 형태로 패키지 생성 가능 (선택 가능) |
| SDK 생성 기능 | 타겟 보드를 위한 개발자용 SDK(toolchain 포함) 자동 생성 |
| 디버깅 및 분석 툴 통합 | GDB, strace, systemd-analyze, perf 등 포함 가능 |
| 보드 지원 패키지(BSP) | 특정 보드용 디바이스 트리, 부트로더, 드라이버 등을 통합 관리 |
| 이미지 커스터마이징 템플릿 | 최소 시스템부터 X11/Wayland 기반 GUI 시스템까지 구성 가능 |
✨ 요약 한 줄
Yocto = 내가 원하는 리눅스를 완전히 커스터마이징해서 만들어주는 임베디드 전용 빌드 시스템.
'YOCTO' 카테고리의 다른 글
| YOCTO) 자주 사용하는 디버깅 명령어 (0) | 2025.03.23 |
|---|---|
| YOCTO) 메타 데이터 종류, 메타 데이터 파일 종류 (0) | 2025.03.23 |
| YOCTO) 변수 cheat_sheet (0) | 2025.03.23 |
| YOCTO) Source를 fetch하는 방식 (0) | 2025.03.23 |
| YOCTO) 빌드 시간을 단축 시간을 방법 (1) | 2025.03.23 |