일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트
- 그리디
- 알고리즘
- 프로그래머스
- BOJ
- ps
- c++
- 다이나믹프로그래밍
- 빅데이터분석
- 백준
- 이코테
- 코테
- 이진탐색
- bfs
- 타입스크립트
- dfs
- react-native
- 개발자북클럽
- 이것이코딩테스트다
- 구현
- 정렬
- TS
- DP
- 코딩일기
- 백준온라인저지
- Typescript
- SQL
- 최단경로
- 앱개발
- 노마드코더
- Today
- Total
목록Yocto/처음 시작하는 Yocto 프로젝트 (4)
한량처럼 살고 싶다

빌드타임 의존성(DEPENDS)과 런타임 의존성(RDEPENDS_${PN}) 두 개로 나뉜다. 빌드타임 의존성은 Depends에 정의되며, 컴포넌트 빌드 시 의존성이 있는 빌드가 언제 수행되어야 할 지 정의한다.Depends 안의 변수값은 의존성 있는 레시피 이름으로 정의된다. 런타임 의존성은 RDEPENDS_PN 은 패키지 단위로 정의되므로 뒤에 PN이 추가된다.실행 도중의 의존성이기 때문에 빌드 순서에는 의미가 없고 최종적으로 내 컴포넌트가 빌드 완료되기 전에 다른 컴포넌트 빌드가 완료되면 된다.

Bitbake 소개Bitbake 는 실행엔진으로, 쉘과 파이썬 태스크를 효율적이고 병렬적으로 실행할 수 있게 만들어준다. 실제 Bitbake 는 태스크 단위로 실행되는데 태스크에는 do_fetch, do_unpack 등이 존재한다.가장 마지막에 do_rootfs 를 실행한 뒤 이미지를 만드는 do_image를 실행하면 bitbake 의 업무가 끝난다. Bitbake 디렉토리 종류${DL_DIR} 소스 다운로드 원본이 저장되는 위치.모든 컴포넌트가 이 위치를 사용한다.bitbake.conf 파일에 설정 가능하다. ${S} 다운로드 된 소스코드의 압축이 풀리는 위치.${WORKDIR} 하위에 위치하며 default name은 레시피이름-버전이다. ${B} ${B} 디렉토리에는 빌드 과정 중 생성된 결과물..

Metadata vs Bitbakemake 와 makefile 의 차이라고 간단하게 설명 가능 make는 빌드하는 도구이고, makefile은 빌드하는 내용물이 정의되어 있는 메타데이터들.bitbake는 파이썬으로 만들어져있는 yocto를 빌드하는 핵심 도구이자 엔진.metadata는 빌드를 하는 방법을 정의한 파일들 (.bb 파일들 위주) 모든 컴포넌트는 자신만의 bb 파일이 있으며 그 안에는 소스 다운로드 방법부터 빌드 방법까지 전부 정의되어 있다. yocto 시스템은 계층구조로 이뤄져있고 이를 메타데이터로 정의한다.계층 구조는 아래와 같다. layer: 비슷한 기능을 하는 컴포넌트의 레이어를 모아놓은 것recipes: .bb 로 이뤄져있으며 각 컴포넌트가 어떻게 빌드되는지 정의함machine: bs..

임베디드 리눅스 시스템 소개임베디드 하드웨어 구조: 부트로더 + 리눅스 커널과 드라이버 + 미들웨어 + 어플리케이션 + 툴체인 툴체인: 소스코드를 실제 임베디드 시스템 내에서 실행 가능한 바이너리 코드로 바꿔주는 것: 컴파일러, 코어 라이브러리 등이 포함되어 있음 임베디드 리눅스 부팅 순서 부트로더DTB 로딩, 커널을 램에 적재, 커널 시작u-boot 이 임베디드 시스템에서 자주 사용되는 오픈소스 부트로더커널부트로더는 더 이상 사용되지 않고, 메모리를 회수부트로더에서 커널로 제어권이 넘어갈 때, 하드웨어의 세부사항 + 커널 커맨드 정보가 함께 넘어감운영체제에 가장 핵심적인 역할을 하며, 커널이 시작되면 루프 파일 시스템 마운트와 동시에 init 어플리케이션 시작init은 최근 systemd 가 많이 사용..