Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코멘토
- 시스템 소프트웨어 개발을 위한 ARM 아키텍처의 구조와 원리
- ARM 아키텍쳐: 메모리 모델과 배리어
- 인프런
- arm
- 실무PT후기
- ARM 아키텍처: 메모리모델과 배리어
- udemy
- Arm 아키텍처: 캐시
- 빌드 시스템
- Arm 아키텍처: 메모리 모델과 배리어
- 코멘토실무PT
- yocto
- Kernel
- BSP
Archives
- Today
- Total
반도체 소프트웨어
요약 1. Yocto Project 개요 본문
- openembedded: 임베디드 리눅스 빌드 프레임워크 및 배포판 개발 회사
- 욕토 프로젝트: 임베디드 공간을 위한 오픈소스 프로젝트
- 포키 리눅스 기반으로 임베디드 시스템을 위한 독립적인 리눅스 배포판 생성을 가능하게 하는 절차와 도구를 만들어내는 목표를 가진 리눅스 재단 작업 그룹
- 하드웨어 기본 아키텍처와 독립적인 임베디드 개발을 위한 공통 기반 정의
- 임베디드 장치용 맞춤형 배포판 빌드를 가능하게 한다.
- 커스텀 리눅스 배포를 위한 소프트웨어 스택을 구성해주는 도구 및 템플릿의 집합
- 커스텀 리눅스: 특정 임베디드 시스템에 최적화된 리눅스 배포판
- 자원 최적화: 메모리, 저장공간, 프로세서 성능 등
- 특화된 기능 지원
- 커스텀 리눅스: 특정 임베디드 시스템에 최적화된 리눅스 배포판
- 욕토는 서로 다른 물리적인 환경들(cpu 아키텍처)에 대한 커스텀 리눅스 구성을 쉽게 할 수 있도록 도와줌
- 소스 빌드를 위한 크로스 컴파일러, 라이브러리, 여러 툴도 욕토에 포함됨
- 포키를 받으면 다음과 같은 소스를 받을 수 있음
- 추상화
- 현재는 임베디드 리눅스에 정말 많은 아키텍처와 소프트웨어 스택이 사용되므로, 욕토프로젝트의 오픈임베디드 빌드 시스템을 모두 알고 사용하는 것은 의미가 없으며 불가능
- 또한 욕토 프로젝트가 이미 추상화가 잘되어있으므로 몇가지 사용법을 알면 내가 원하는 리눅스 시스템을 구축할 수 있음
- Bitbake
- bake: 요리하는 과정, 식사준비하는 과정
- bit: 컴퓨터
- bitbake: 소프트웨어 빌드 프로세스나 컴파일 같은 소프트웨어를 만드는 과정을 지칭
- 파이썬 및 쉘 스크립트를 분석하는 작업 스케줄러, 임베디드 리눅스의 크로스 컴파일을 위한 패키지 및 관련 파일을 빌드하는데 사용되는 툴
- bitbake는 poky에 포함된 도구가 아니고 단독으로도 사용 가능
- 메타데이터
- 다른 데이터를 설명하는 데이터로 언급되며, 설명하는 정보의 속성을 정렬하고 식별하는데 도움을 주는 구조화된 참조 데이터
- 메타데이터는 정보를 조직하고 관리하는데 도움이 되며, 데이터를 검색, 분류, 필터링하거나 다양한 작업을 수행하는데 활용된다
- yocto에서 메타데이터
- 소프트웨어를 어떻게 빌드할지 그리고 빌드하려는 소프트웨어들 간에는 어떤 의존성이 있는지 기술한 데이터
- 메타데이터 종류
- 변수
- 실행 가능한 함수 또는 태스크(bitbake가 실행하는 쉘 함수 또는 파이썬 함수)
- bitbake는 메타데이터 파일을 분석(parsing)하고 그 내용에 기반해 빌드를 수행하고 최종 이미지를 생성
- 메타데이터 파일
- 환경설정 파일
- 변수의 집합, 함수는 미포함. 여기서 선언하면 전역 변수 특징 가짐(즉 다른 메타데이터 파일에서 사용 가능)
- yocto에서 메타데이터
- 클래스 파일
- 빌드를 위해 사용되는 기능들을 추상화해 레시피 파일들이 사용이 가능하게 하는 파일
- 여기에 선언된 변수 및 함수는 해당 클래스파일을 상속한 레시피에서만 사용 가능
- inherit 지시자를 사용해서 클래스 파일을 상속받아 기능 사용 가능
- .bbclass 확장자
- 인클루드 파일
- 클래스 파일, 인클루드 파일 모두 다른 메타 데이터 파일과 공유할 수 있도록 해주는 파일이지만 인클루드 파일은 비공식적인 내용을 공유할 때 주로 사용
- .inc 확장자
- 레시피 파일
- 소프트웨어를 어디서 다운로드받아야하고 받은 소프트웨어는 어떻게 빌드되어야하며 빌드된 산출물은 어디에 위치해야하는지 등의 빌드 전반에 걸친 내용을 기술한다.
- 이파일에서는 bitbake가 실행할 수 있는 함수들이 정의될 수 있다(태스크 라고 부름)
- .bb 확장자
- 레시피확장파일
- 레시피 파일에서 선언된 변수나 태스크를 확장할수있도록해줌
- .bbappend 확장자
- 문법
- 모든 값을 문자열로 인식(값할당시에는 따옴표 사용)
- 대문자로 시작하는 변수명 사용
- 기타
- 환경설정 파일

출처: Udemy, "Yocto(욕토), 쉽게 이해하고 깊게 다루기", https://www.udemy.com/course/yocto-ae/
출처: 알라딘, "Yocto(욕토), 쉽게 이해하고 깊게 다루기", http://aladin.kr/p/b4Ddg
'빌드 시스템 > Yocto Project' 카테고리의 다른 글
요약 2. Bitbake (0) | 2024.01.09 |
---|---|
Yocto(욕토), 쉽게 이해하고 깊게 다루기 with Udemy (0) | 2024.01.08 |