1. Yocto의 근원
2001년 발표한 Linux 기반의 PDA인 Sharp Zaurus SL-5000 시리즈 부터라고 한다.
OpenZaurus project
- Sharp는 open source license에 따라 SL-5000 제품의 ROM Image의 소스코드를 공개하였고, 이를 기반으로 2002년에 OpenZaurus project 시작
debian 기반의 소스 빌드 방식을 사용한 이 프로젝트는 프로젝트의 규모가 커지면서 여러 Target architecture를 지원하는데 한계를 나타냄.
이러한 문제를 개선하기 위해 2003년에 OpenEmbedded가 시작.
2001년 발표한 Linux 기반의 PDA인 Sharp Zaurus SL-5000 시리즈 부터라고 한다.
OpenZaurus project
- Sharp는 open source license에 따라 SL-5000 제품의 ROM Image의 소스코드를 공개하였고, 이를 기반으로 2002년에 OpenZaurus project 시작
debian 기반의 소스 빌드 방식을 사용한 이 프로젝트는 프로젝트의 규모가 커지면서 여러 Target architecture를 지원하는데 한계를 나타냄.
이러한 문제를 개선하기 위해 2003년에 OpenEmbedded가 시작.
2. OpenEmbedded project
- OpenZaurus의 패키지들이 이 프로젝트에 통합됨.
OpenEmbedded는 BitBake라는 Python 으로 작성된 빌드 프로그램과 Metadata(recipe와 관련된 설정 파일들)라는 빌드 명세로 구분.
Bitbake는 2004년에 Make tool 처럼 독립적인 프로젝트로 분리.
따라서, 다음과 같이 분리됨.
- Bitbake는 별도의 독립적 프로젝트
- OpenEmbedded는 Bitbake 용 Metadata를 관리하는 프로젝트
OpenEmbedded가 급성장하며, 7천여개의 recipe, 300여개의 Machine을 지원하게 됨.
OpenEmbedded의 경우, 개발자가 직접 commit 하는 push 모델로 운영되다 보니 규모가 커지면서 코드의 충돌 관리가 쉽지 않아지고, 상업적인 지원도 쉽지 않아짐.
이를 개선하기 위해 다양한 시도가 있었으며, 그 중 하나로 Poky Linux의 등장.
- OpenZaurus의 패키지들이 이 프로젝트에 통합됨.
OpenEmbedded는 BitBake라는 Python 으로 작성된 빌드 프로그램과 Metadata(recipe와 관련된 설정 파일들)라는 빌드 명세로 구분.
Bitbake는 2004년에 Make tool 처럼 독립적인 프로젝트로 분리.
따라서, 다음과 같이 분리됨.
- Bitbake는 별도의 독립적 프로젝트
- OpenEmbedded는 Bitbake 용 Metadata를 관리하는 프로젝트
OpenEmbedded가 급성장하며, 7천여개의 recipe, 300여개의 Machine을 지원하게 됨.
OpenEmbedded의 경우, 개발자가 직접 commit 하는 push 모델로 운영되다 보니 규모가 커지면서 코드의 충돌 관리가 쉽지 않아지고, 상업적인 지원도 쉽지 않아짐.
이를 개선하기 위해 다양한 시도가 있었으며, 그 중 하나로 Poky Linux의 등장.
3. Poky Linux
OpenedHand라는 스타트업이 2006년 발표한 Poky Linux는 기존 OpenEmbedded를 깔끔하게 정리한 프로젝트
- 특징
800여개 정도의 선별된 recipe
QEMU(가상화 소프트웨어) 가상 환경 및 SDK 빌드 지원
아주 잘 정리된 Manual
이 회사는 2008년 Intel에 합병되고, 그로 인해 Poky 는 Atom 기반의 장비에만 집중
OpenedHand라는 스타트업이 2006년 발표한 Poky Linux는 기존 OpenEmbedded를 깔끔하게 정리한 프로젝트
- 특징
800여개 정도의 선별된 recipe
QEMU(가상화 소프트웨어) 가상 환경 및 SDK 빌드 지원
아주 잘 정리된 Manual
이 회사는 2008년 Intel에 합병되고, 그로 인해 Poky 는 Atom 기반의 장비에만 집중
4. Yocto Project
Poky Linux를 기반으로 Embedded Linux 배포본 개발 절차를 개선하기 위한 프로젝트 (Linux Foundation Workgroup에서 2010년 발표)
OE-Core : 2011년에 Poky에서 분리된 Metadata이며, 현재 Yocto 에서 말하는 OpenEmbedded는 OE-Core를 말함.
OE-Classic : 이전의 OpenEmbedded
- OE-Core 포함 범위
ARM, x86, x86-64, MIPS, MIPS64 와 같은 주요 아키텍쳐 지원
QEMU emulated machine 으로 X-Based GUI(Sato)를 지원(실제 하드웨어 X)
실제 하드웨어 의존적이지 않은 Metadata set 만 지원
Bitbake의 Layering 기능으로 각각의 BSP metadata 로 분리
소프트웨어 모듈은 meta-qt, meta-nodejs 등과 같은 별도의 layering으로 구분
개발자가 직접 Comit 하는 Push model(OpenEmbedded) 이 아닌, Pull Model로 poky, openembedded를 관리하여 프로젝트 충돌 가능성 없음.
Poky Linux를 기반으로 Embedded Linux 배포본 개발 절차를 개선하기 위한 프로젝트 (Linux Foundation Workgroup에서 2010년 발표)
OE-Core : 2011년에 Poky에서 분리된 Metadata이며, 현재 Yocto 에서 말하는 OpenEmbedded는 OE-Core를 말함.
OE-Classic : 이전의 OpenEmbedded
- OE-Core 포함 범위
ARM, x86, x86-64, MIPS, MIPS64 와 같은 주요 아키텍쳐 지원
QEMU emulated machine 으로 X-Based GUI(Sato)를 지원(실제 하드웨어 X)
실제 하드웨어 의존적이지 않은 Metadata set 만 지원
Bitbake의 Layering 기능으로 각각의 BSP metadata 로 분리
소프트웨어 모듈은 meta-qt, meta-nodejs 등과 같은 별도의 layering으로 구분
개발자가 직접 Comit 하는 Push model(OpenEmbedded) 이 아닌, Pull Model로 poky, openembedded를 관리하여 프로젝트 충돌 가능성 없음.
5. 용어
bitbake : 2004년 OE-Classic에서 분리된 빌드 툴
OE-Core(OpenEmbedded-Core): 2011년 Poky에서 분리된 Core Metadata, Poky에서는 Meta-openembedded 제공
OE-Classic(이전의 OpenEmbedded): Bitbake와 OE-Core
Poky: OE-Core를 포함한 통합 Image를 만들 수 있는 Metadata와 Bitbake
Yocto Project: Linux Foundation 에서 관리하는 Embedded linux 배포본 빌드 시스템
Metadata : 환경설정 파일(*.conf), 클래스 파일(*.bbclass), 레시피 파일(*.bb, *.bbappend)
#Source of Yocto #Yocto #BitBake #Poky #Feature #Term
bitbake : 2004년 OE-Classic에서 분리된 빌드 툴
OE-Core(OpenEmbedded-Core): 2011년 Poky에서 분리된 Core Metadata, Poky에서는 Meta-openembedded 제공
OE-Classic(이전의 OpenEmbedded): Bitbake와 OE-Core
Poky: OE-Core를 포함한 통합 Image를 만들 수 있는 Metadata와 Bitbake
Yocto Project: Linux Foundation 에서 관리하는 Embedded linux 배포본 빌드 시스템
Metadata : 환경설정 파일(*.conf), 클래스 파일(*.bbclass), 레시피 파일(*.bb, *.bbappend)
No comments:
Post a Comment