욕토 프로젝트
여러 세부 시장을 통틀어 모든 하드웨어와 아키텍처에 적합한 사용자 맞춤 리눅스 배포판을 개발할 수 있도록 오픈 소스, 고품질의 인프라, 툴을 제공한다. 아울러, 개발자들이 좀 더 손쉽게 출발할 수 있는 시작점을 제공하도록 만들어졌다.
포키
욕토 프로젝트의 레퍼런스 시스템이며, 툴과 메타데이터의 집합으로 구성된다. 포키는 플랫폼에 독립적이고 비트베이크, 오픈 임베디드 코어와 메타데이터를 사용하여 크로스 컴파일을 수행한다. 완전히 사용자화되고 완벽하고 일관성 있는 리눅스 소프트웨어를 만들기 위해 수천 개의 오픈 소스 프로젝트를 빌드하고 조합하기 위한 메커니즘을 제공한다.
비트베이크
파이썬과 셸 스크립트가 함께 섞여 있는 코드를 파싱하는 작업 스케줄러이다. 파싱된 코드는 기본적인 코드 의존성에 따라 작업을 만들고 실행한다.
오픈 임베디드 코어
오픈 임베디드 코어 메타데이터는 포키 빌드 툴의 핵심이고 주요 기능을 제공하며, 최대한 완벽하도록 제작되었다.
메타데이터
파이썬관 셸 스크립트의 혼합으로 만들어진 메타데이터는 상당히 유연한 시스템을 제공한다.
호스트 시스템 환경설정
포키를 돌리기 위해서는 내 화견이 리눅스의 어떤 배포판인지 알아야 한다. 포키가 지원하는 리눅스 배포판을 이용하길 권장한다.
데비안에 포키 설치
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
'SW > Yocto' 카테고리의 다른 글
yocto GPL 규정 준수와 커스텀 임베디드 리눅스 부팅에 대해 알아볼까요? (0) | 2018.12.14 |
---|---|
yocto 프로젝트 디버깅과 외부 레이어에 대해 알아볼까요? (0) | 2018.12.12 |
yocto 비트베이크 메타 데이터 나누기와 프로젝트를 이용한 개발에 대해 알아볼까요? (0) | 2018.12.11 |
yocto의 임시 빌드 폴더와 패키지 지원 고찰에 대해 알아볼까요? (0) | 2018.12.10 |
yocto hob와 비트베이크 툴에 대해 알아볼까요? (0) | 2018.12.09 |