티스토리 뷰
TL;DR
Yocto project는 임베디드 리눅스 기반 소프트웨어 개발을 위한 오픈소스 프로젝트이다.
소프트웨어 스택과 설정 환경 및 정보의 공유 뿐만 아니라 모든 소프트웨어 스택을 포함하는 패키지 빌드 도구1)도 함께 배포2)하고 있다.
1) 패키지 빌도 도구는 빌드 명세서에 해당하는 Recipes와 빌드 도구인 Bitbake, 그리고 Document로 구성되어 있다.
2) https://wiki.yoctoproject.org/wiki/Releases
Recipes
모듈 간 의존성 및 각 모듈의 빌드와 설치 방법을 명세한다.
Recipe 마다 하나의 모듈 빌드 명세가 있다고 보면 된다.
Recipe 예:
WebOS AI 모듈의 Recipe: https://layers.openembedded.org/layerindex/recipe/87086/
Audio manager의 Recipe 원본: https://layers.openembedded.org/layerindex/recipe/53163/
Metadata layers
Metalayer 예:
https://caffelli-staging.yoctoproject.org/software-overview/layers/
Layer index(directory):
http://layers.openembedded.org/layerindex/branch/master/layers/
Source directory
poky directory Expand source
build/conf/local.conf Expand source
Bitbake
Recipes에 따라 소스 코드의 다운로드에서 패키지 빌드 및 생성까지의 전 과정을 수행하는 빌드 도구이다.
Gentoo linux의 package manager인 Portage의 영향을 받아 탄생되었다고 한다.
Bitbake 사용자 메뉴얼:
https://www.yoctoproject.org/docs/3.0/bitbake-user-manual/bitbake-user-manual.html
https://www.openembedded.org/wiki/BitBake_(dev)
Bitbake cheat sheet:
https://elinux.org/Bitbake_Cheat_Sheet
Useful bitbake command
% bitbake-layers show-layers % bitbake-layers show-recipes % bitbake -s |
Quick Start
https://www.yoctoproject.org/docs/3.0/brief-yoctoprojectqs/brief-yoctoprojectqs.html
Build poky (Yocto reference system)
# 필수 파일 설치 $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio \ python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa \ libsdl1.2-dev pylint3 xterm # Poky 소스 코드 다운로드 $ git clone https://git.yoctoproject.org/git/poky # oe 환경 설정 $ cd poky $ source oe-init-build-env # 이미지 빌드 $ bitbake core-image-sato # 타겟 실행 $ runqemu qemux86 |
특정 버전을 받고 싶을 때
$ git fetch --tags $ git tag $ git checkout tags/yocto-3.0 -b my-yocto-3.0 |
Yocto repositories
- Yocto project의 모듈 목록 - http://git.yoctoproject.org/
- Recipe 검색 - https://layers.openembedded.org/ (예: https://layers.openembedded.org/layerindex/branch/master/recipes/?q=genivi) - MARS의 전신이었음. Toaster까지의 로드맵 기대.
OpenEmbedded
- Embedded linux 배포판 중 하나 cf. Buildroot, busybox, OpenWRT, uClibc 등등
- Recipe와 bitbake의 탄생지 - https://www.openembedded.org/ (Yocto project의 패키지 빌드 환경은 OE를 채용했다고 보면 된다.)
- OpenEmbedded의 repositories - https://git.openembedded.org/
References
- Yocto 사용법에 대해 간단 명료하게 잘 정리되어 있는 블로그 - https://aqwerf.tistory.com/7
- Yocto project overview and concepts manual - https://www.yoctoproject.org/docs/2.5/overview-manual/overview-manual.html
Comments
-
참고: Yocto builds in container - https://www.embeddeduse.com/2019/02/11/using-docker-containers-for-yocto-builds/
-
참고: Toaster - https://www.yoctoproject.org/docs/3.0/toaster-manual/toaster-manual.html
'해피 코딩' 카테고리의 다른 글
파이썬 알고리즘 문제: Anagram (0) | 2021.01.15 |
---|---|
[번역] 파이썬으로 테트리스 만들기 (0) | 2020.07.12 |
Docker registry 처음 사용하기 (0) | 2019.12.02 |
Docker 처음 사용하기 (0) | 2019.12.02 |
크롤링2 (0) | 2019.08.17 |
- Total
- Today
- Yesterday
- Journal
- React
- 자동거래
- node_modules
- 알고리즘문제
- 개발노트
- 계획
- react-native
- pyTorch
- 개발일지
- 일기
- yocto
- 중년
- firebase
- LearnByArticle
- 저널
- 중년개발자이야기
- wp
- Poky
- 경영
- 개발자
- diary
- 행안부
- 퀀트
- mba
- 코딩인터뷰
- 바질
- AWS
- til
- 바질키우기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |