처음에 등장한 빌드 시스템은 uClib 프로젝트에 기원을 둔 빌드루트(buildroot)다.
빌드루트 초기 목표는 테스트로 uclibc 라이브러리 기반의 루트 파일 시스템을 생성하는 것이다.
빌드루트는 설정 도구로 kconfig와 Makefile 구조에 기반을 두고 있다. 빌드하기 전에 여러 소프트웨어 패키지에
패치를 적용한다. 요즘 빌드루트는 여러 아키텍처를 지원하고 루트 파일 시스템, 커널, 부트로더 이미지를 빌드할 수 있다.
이후에 오픈임베디드(OpenEmbedded)가 나타났다. 리눅스 배포판 빌드를 위한 것이기 때문에 목적이 약간 달랐다. 오픈임베디드는 비트베이크(bitbake)빌드 엔진에 의해 해석한 레시피(recipe)에 기반을 둔다. 비트베이크는 Portage(젠투의 배포 패키지 관리자)에서 파생한 도구다. 오픈임베디드의 특징으로는 패키지들 사이에 의존성을 지정할 수 있고 나중에 비트베이크가 모든 레시피를 파싱하고 의존성을 만족하는 올바른 순서로 태스트( 오픈 임베디드에서 일의 단위) 큐를 생성한다는 점이다. 오픈임베디드로 만든 배포판으로는 Angstrom과 OpenMoko가 있다.
또 다른 오픈임베디드에 기반을 둔 배포판은 포키(Poky)리눅스이다. 포키는 욕토가 배포하는 방식으로 욕토 프로젝트의 레퍼런스 시스템이며, 툴과 메타데이터의 집합으로 구성된다.
포키는 욕토의 빌드 시스템이고 바탕에 오픈임베디드 코어 메타데이터(레시피, 클래스, 설정 파일)와 비트베이크 빌드 엔진을 사용한다.
욕토 프로젝트는 리눅스 기반의 임베디드 시스템 빌드에 도움을 주는 도구를 제공하는 것을 목표로 하는 오픈소스 프로젝트이다. 욕토 프로젝트 아래 포키, 비트베이크 빌드 엔진, 오픈임베디드 코어 같은 여러 소프트웨어 프로젝트가 있다.
'karma( 업 ) > YOCTO' 카테고리의 다른 글
YOCTO, 몇 가지 중요한 용어 및 개념 (0) | 2022.02.23 |
---|---|
YOCTO 준비하기 - wsl2 에 Docker 설치하다. (1) | 2021.12.21 |
YOCTO 준비하기-win10에 wsl2 설치하다. (0) | 2021.12.20 |