- Published on
Yocto
- Authors
- Name
- JaeHyeok CHOI
- none
What is Yocto?
임베디드 리눅스 기반의 커스텀 운영체제를 생성하고 관리하기 위한 오픈소스 프로젝트이다. 임베디드 시스템의 요구사항을 충족하기 위해 Linux 시스템을 커스터마이징하고 최적화하는데 사용된다.
목적
개발자들이 이식성과 확장성이 높은 임베디드 Linux 배포판을 생성하도록 돕는다. 이를 통해 다양한 하드웨어 플랫폼에 최적화된 Linux를 만들 수 있다.
구성 요소
BitBake
빌드 도구로써, 패키지를 정의하고 소스를 가져와 컴파일 및 이미지를 생성한다.
레시피
소프트웨어 패키지를 정의하는 파일로, 소스 코드의 위치, 빌드 방법, 설치 방법 등을 설명한다.
레이어
설정과 레시피를 계층적으로 관리하며, 특정 하드웨어나 소프트웨어 기능을 추가한다.
특징
- 커스터마이징 가능: 필요한 패키지만 포함한 경량화된 OS를 제작 가능
- 재현 가능성: 동일한 설정으로 항상 동일한 빌드 결과물 생성
- 확장성: 다양한 아키텍처를 지원, 특정 하드웨어를 위한 드라이버 및 설정 추가 가능
커스텀 리눅스 OS 설치 과정
- 이미지 빌드
- 이미지 하드웨어 저장 장치에 저장
- 보드 전원 On ⇒ 부트로더 실행
- 부트로더 ⇒ 저장장치 이미지 실행
Bitbake Overview
BitBake는 Python 언어로 작성된 프로그램이다. 가장 높은 수준에서 BitBake는 메타데이터를 해석하고 실행에 필요한 작업을 결정하고 해당 작업을 실행한다.
GNU Make와 유사하게 BitBake는 소프트웨어 구축 방법을 제어한다. GNU Make는 “makefile”를 통해 제어를 하지만, BitBake는 “레시피”를 사용한다.
Metadata
Bitbake로 이미지 빌드를 수행하기 위해 사용한다.
참고 블로그
https://aal-izz-well.tistory.com/entry/Yocto-%EC%84%B8%EB%AF%B8%EB%82%98-%EC%9E%90%EB%A3%8C