SW/Yocto

yocto와 poky에 대해 알아볼까요?

얇은생각 2018. 12. 8. 08:00
반응형

욕토 프로젝트

여러 세부 시장을 통틀어 모든 하드웨어와 아키텍처에 적합한 사용자 맞춤 리눅스 배포판을 개발할  있도록 오픈 소스고품질의 인프라툴을 제공한다아울러개발자들이   손쉽게 출발할  있는 시작점을 제공하도록 만들어졌다.

 


포키

욕토 프로젝트의 레퍼런스 시스템이며툴과 메타데이터의 집합으로 구성된다포키는 플랫폼에 독립적이고 비트베이크오픈 임베디드 코어와 메타데이터를 사용하여 크로스 컴파일을 수행한다완전히 사용자화되고 완벽하고 일관성 있는 리눅스 소프트웨어를 만들기 위해 수천 개의 오픈 소스 프로젝트를 빌드하고 조합하기 위한 메커니즘을 제공한다.




비트베이크

파이썬과  스크립트가 함께 섞여 있는 코드를 파싱하는 작업 스케줄러이다파싱된 코드는 기본적인 코드 의존성에 따라 작업을 만들고 실행한다.



오픈 임베디드 코어

오픈 임베디드 코어 메타데이터는 포키 빌드 툴의 핵심이고 주요 기능을 제공하며최대한 완벽하도록 제작되었다.



메타데이터

파이썬관  스크립트의 혼합으로 만들어진 메타데이터는 상당히 유연한 시스템을 제공한다.

 


 호스트 시스템 환경설정

포키를 돌리기 위해서는  화견이 리눅스의 어떤 배포판인지 알아야 한다포키가 지원하는 리눅스 배포판을 이용하길 권장한다.

 


데비안에 포키 설치

yang@yang:~$ sudo apt-get install gawk wget git-core diffstat unzip texinfo build-essential chrpath

 

포키 소스코드 다운로드

yang@yang:~$ git clone git://git.yoctoproject.org/poky




빌드 환경 준비

yang@yang:~$ Source poky/oe-init-build-env [build-directory]

 


Local.conf

 파일은 거의 모든 빌드 프로세스를 조작할  있는 매우 강력한 설정파일이다타깃 머신 지정크로스툴체인최적화 옵션 등등을 줄수 있다.

 

타깃 이미지 빌드

yang@yang:~$ ls meta*/recipes*/images/*.bb


검색된 모든 레시피는 이미지를 제공하는 여기서 이미지란 여러 패키지의 압축을 풀고 변경하여 우리가 실제 타깃에서 사용하는 파일 시스템을 만들어내는 것이다최신 이미지 목록은 욕토 프로젝트 레퍼런스 매뉴얼에서   있다.

타깃을 위한 이미지를 빌드하는 과정은 매우 간단하다.


yang@yang:~$ Bitbake <recipe name>

yang@yang:~$ Bitbake core-image-full-cmdline

 


Qemu에서 이미지 실행

Qemu 무료 오픈 소스 소프트웨어 패키지로 하드웨어 가상화를 지원한다Qemu 기반하는 머신은 실제 타깃 머신 없이 개발  테스트가 가능하다.


yang@yang:~$ Runqemu <machine> <zimage> <filesystems>

yang@yang:~$ runqemu qemuarm core-image-full-cmdline


반응형