Yocto 프로젝트를 활용한 임베디드 리눅스 개발

도서명:Yocto 프로젝트를 활용한 임베디드 리눅스 개발
저자/출판사:오타비우 살바도르 , 다이앤 앤골리니/에이콘출판
쪽수:240쪽
출판일:2024-08-28
ISBN:9791161758671
목차
1장. Yocto 프로젝트 소개
__Yocto 프로젝트 의미
__Yocto 프로젝트 상세 소개
__오픈임베디드 프로젝트와 Yocto 프로젝트의 연합
__포키의 의미
____비트베이크
____오픈임베디드 코어
____메타데이터
__Yocto 프로젝트 릴리스
__정리
2장. 포키 시스템
__빌드 호스트 시스템 준비
____리눅스용 윈도우 서브시스템(WSLv2) 사용
____리눅스 기반 시스템 준비
__포키 소스코드 다운로드
__빌드 환경 준비
__local.conf 파일 소개
__타깃 이미지 빌드
__QEMU에서 이미지 실행
__요약
3장. Toaster를 사용한 이미지 생성
__Toaster 소개
__Toaster 설치
__Toaster 시작
__QEMU 이미지 빌드
__정리
4장. 비트베이크 기초
__비트베이크 이해
__비트베이크 메타데이터 집합
__메타데이터 유형
__정리
5장. 비트베이크 상세 소개
__메타데이터 파싱
__의존성
__선호하는 레시피 설정
__소스코드 다운로드
____원격 파일 다운로드
____깃 저장소
__소스코드 다운로드 최적화
____네트워크 접근 비활성화
__비트베이크 태스크
__정리
6장. 임시 빌드 디렉터리
__빌드 디렉터리
__빌드 디렉터리 구성
__임시 빌드 디렉터리 분석
__work 디렉터리
__sysroot 디렉터리
__정리
7장. 패키지 지원 고찰
__지원하는 패키지 종류
____지원하는 패키지 형식
____패키지 형식 선택
__패키지 설치 시점의 코드 실행
__셰어드 스테이트 캐시
__패키지 버전 선택
__런타임 패키지 의존성
__rootfs 이미지 생성을 위한 패키지 사용
__패키지 피드
____패키지 피드 사용
__정리
8장. 비트베이크 메타데이터
__비트베이크의 메타데이터
__메타데이터 작업
__정리
9장. Yocto 프로젝트를 이용한 개발
__소프트웨어 개발 키트(SDK)
__온디바이스 개발을 위한 네이티브 SDK 생성
__크로스 개발 SDK 유형
__표준 SDK
__확장 SDK
____devtool을 사용해 이미지 빌드
____QEMU에서 이미지 실행
____외부 깃 저장소를 사용한 레시피 생성
____devtool을 사용해 레시피 빌드
____devtool을 사용해 타깃으로 배포
____SDK 확장
__정리
10장. Yocto 프로젝트 디버깅
__메타데이터와 애플리케이션 디버깅
__이미지, 패키지, SDK 내용 추적
__패키지 디버깅
____패키지 확인
__작업 실행 기간의 로그 정보
__메타데이터 변수 디버깅
__devshell 이용
__GNU 디버거 사용
__정리
11장. 외부 레이어
__레이어를 이용한 유연성 확보
__레이어의 소스코드에 대한 고찰
__메타레이어 추가
__Yocto 프로젝트 레이어 생태계
__정리
12장. 사용자 레이어 생성
__새로운 레이어 추가
__레이어에서 메타데이터 추가
____이미지 생성
____패키지 레시피 추가
____신규 머신 추가
____커스텀 배포판
__MACHINE_FEATURES와 DISTRO_FEATURES 비교
__변수의 범위
__정리
13장. 레시피 커스터마이즈
__일반적인 사용 사례
____태스크 확장
__Autoconf 사용 레시피에 추가 옵션 적용
__패치 적용
__기존 패키지에 추가 파일 적용
____파일 탐색 경로
____레시피 기능 설정 변경
__Kconfig 기반 프로젝트에 대한 설정
__정리
14장. GPL 규정 준수
__카피레프트
____카피레프트 규약과 상용화 코드의 비교
__포키에 포함된 소프트웨어 라이선스 관리
____상용 라이선스
__카피레프트 규약을 지키기 위한 포키의 사용
____라이선스 검사
____소스코드 제공
____컴파일 스크립트와 수정된 소스코드 제공
____라이선스 문구 제공
__정리
15장. 커스텀 임베디드 리눅스 부팅
__올바른 BSP 레이어 찾기
____하드웨어 사용에 영향을 미치는 요소
____널리 사용되는 BSP 레이어 살펴보기
__물리 하드웨어 사용
__비글본 블랙
____비글본 블랙 빌드
____비글본 블랙 부팅
__라즈베리 파이 4
____라즈베리 파이 4 빌드
____라즈베리 파이 4 부팅
__비전파이브
____비전파이브 빌드
____비전파이브 부팅
__다음 단계로 넘어가기
__정리
16장. 에뮬레이션을 통한 제품 개발 속도 향상: QEMU
__QEMU란?
__하드웨어보다 QEMU를 사용할 때의 이점
__실제 하드웨어를 선택해야 하는 시점
__runqemu 기능 사용
____runqemu를 사용해 그래픽 애플리케이션 테스트
____runqemu를 사용해 메모리 제약 조건 검증
____runqemu를 사용해 이미지 회귀 테스트
__정리
17장. 모범 사례
__Yocto 프로젝트에서 따라야 할 가이드라인
____레이어 관리
____너무 많은 레이어를 만들지 않기
____새로운 Yocto 프로젝트 릴리스를 위한 제품 메타데이터 준비
____커스텀 배포판 만들기
____제품에 기존 이미지를 재사용하지 않기
____저평가돼 있는 표준 SDK
____리눅스 커널 및 부트로더 수정을 위해 많은 패치 적용하지 않기
____AUTOREV를 SRCREV에서 사용하지 않기
____SBOM 생성
__일반 프로젝트에서 따라야 할 가이드라인
____프로젝트 라이선스 제약 조건의 지속적인 모니터링
____보안이 프로젝트에 끼칠 수 있는 해로움
____유지 관리 비용에 대한 과소평가
____프로젝트의 위험 요소와 제약을 최대한 빨리 해결
__정리
__찾아보기