Yocto 프로젝트를 활용한 임베디드 리눅스 개발 2/e [유연하고 확장성 좋은 Yocto 프로젝트 첫 단계]
- 원서명Embedded Linux Development using Yocto Projects - Second Edition: Learn to leverage the power of Yocto Project to build efficient Linux-based products (ISBN 9781788470469)
- 지은이오타비우 살바도르(Otavio Salvador), 다이앤 앤골리니(Daiane Angolini)
- 옮긴이배창혁
- ISBN : 9791161751894
- 20,000원
- 2018년 08월 31일 펴냄
- 페이퍼백 | 196쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 임베디드 시스템
판매처
개정판책 소개
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
Yocto 프로젝트나 오픈임베디드로 임베디드 리눅스 개발을 처음 시작하는 개발자를 위한 기본서다. Yocto 프로젝트에 대한 기본 개념부터 시작해 실제 디바이스에 적용하는 방법까지 예제와 유용한 팁을 제시하며 읽기 쉽게 설명한다. Toaster 소개 및 라즈베리파이3 개발 보드 활용 등과 같이 Yocto 프로젝트의 최신 업데이트된 기술과 내용을 소개하고 있다.
이 책에서 다루는 내용
■ 포키 작업 흐름의 기본 개념을 이해하고 포키 빌드 환경을 구성하고 준비하는 방법
■ 빌드 서버 설정과 Toaster를 사용한 이미지 커스터마이즈 방법
■ 이미지 생성과 비트베이크를 사용해 생성된 이미지에 패키지를 다루는 방법
■ 패키지 피드를 설정하고 사용한 개발 과정 지원 방법
■ 포키를 설정해 Yocto 프로젝트를 디버깅하는 방법
■ 비글본 블랙, 라즈베리파이3, 완드보드 이미지 빌드 및 SD 카드를 사용한 부팅 방법
이 책의 대상 독자
Yocto 프로젝트 도구를 알아보거나 비교하고, 실제 프로젝트에 사용하기 위해 배우고 싶은 엔지니어들과 임베디드 리눅스에 경험과 열정을 가진 사람들을 대상으로 한다. 독자가 이 책의 내용을 빠르게 익힐 수 있도록 돕고 학습 정체에 빠지는 것을 막는 것이 이 책의 목표이다.
이 책의 구성
1장, ‘Yocto 프로젝트 소개’에서는 Yocto 프로젝트와 주요 도구를 소개하기 위한 개념과 전제를 제시한다.
2장, ‘포키 시스템’에서는 첫 빌드를 위한 환경을 설명한다.
3장, ‘Toaster을 사용한 이미지 생성’에서는 환경설정과 빌드 도구로 쓸 수 있는 사용자에게 편한 웹 인터페이스를 설명한다.
4장, ‘비트베이크’에서는 비트베이크 도구와 이 도구가 태스크와 그 의존성을 관리하는 방법을 설명한다.
5장, ‘임시 빌드 디렉토리’에서는 빌드 임시 결과 디렉토리를 자세히 설명한다.
6장, ‘패키지 지원 고찰’에서는 모든 바이너리 패키지를 만들고 관리하기 위한 기반으로 사용하는 패키징 메커니즘을 설명한다.
7장, ‘비트베이크 메타데이터’에서는 이 책 전반에 걸쳐 사용하는 비트베이크 메타데이터 언어를 설명한다.
8장, ‘Yocto 프로젝트를 이용한 개발’에서는 개발 환경을 만들기 위해 필요한 작업 흐름을 설명한다.
9장, ‘Yocto 프로젝트 디버깅’에서는 포키로 디버깅 환경을 만들고 사용하는 방법을 설명한다.
10장, 외부 레이어’에서는 Yocto 프로젝트의 가장 중요한 개념 중 하나인 외부 레이어의 사용법을 설명한다.
11장, ‘사용자 레이어 생성’에서는 레이어를 만드는 방법을 설명한다.
12장, ‘레시피 커스터마이즈’에서는 기존 레시피를 커스터마이즈하는 방법을 예제와 함께 설명한다.
13장, ‘GPL 규정 준수’에서는 카피레프트를 지키는 제품에 연관된 작업과 개념을 설명한다.
14장. ‘커스텀 임베디드 리눅스 부팅’에서는 Yocto 프로젝트 도구로 실제 하드웨어를 사용해본다.
목차
목차
- 1장. Yocto 프로젝트 소개
- Yocto 프로젝트 의미
- Yocto 프로젝트 상세 소개
- 포키의 의미
- 비트베이크 사용
- 오픈임베디드 코어
- 메타데이터
- Yocto 프로젝트와 오픈임베디드 연합
- 요약
- 2장. 포키 시스템
- 호스트 시스템 환경설정
- 데비안에 포키 설치
- 페도라에 포키 설치
- 포키 소스코드 다운로드
- 빌드 환경 준비
- local.conf
- 타깃 이미지 빌드
- QEMU에서 이미지 실행
- 요약
- 호스트 시스템 환경설정
- 3장. Toaster를 사용한 이미지 생성
- Toaster 소개
- Toaster 설치
- Toaster 시작
- QEMU 이미지 빌드
- 요약
- 4장. 비트베이크
- 비트베이크 이해
- 메타데이터
- 메타데이터 파싱
- 의존성
- 레시피 프로바이더와 프레퍼런스
- 소스코드 다운로드
- 원격 파일 다운로드
- 깃 저장소
- 소스코드 다운로드 최적화
- 네트워크 접근 제한
- 비트베이크 태스크
- 태스크 확장
- 루트 파일시스템 이미지 생성
- 요약
- 5장. 임시 빌드 디렉토리
- 빌드 디렉토리
- 빌드 디렉토리 구성
- 임시 빌드 디렉토리 분석
- work 디렉토리
- sysroot 디렉토리
- 요약
- 6장. 패키지 지원 고찰
- 지원하는 패키지 형식 이용
- 지원 가능한 패키지 형식
- 패키지 형식 선택
- 패키지 설치 시점의 코드 실행
- 셰어드 스테이트 캐시
- 패키지 버전 선택
- 런타임 패키지 의존성
- 패키지 피드
- 패키지 피드 사용
- 요약
- 지원하는 패키지 형식 이용
- 7장. 비트베이크 메타데이터
- 메타데이터 사용
- 메타데이터 작업
- 기본 변수 설정
- 변수 확장
- ?=를 사용한 기본 값 설정
- ??=를 사용한 기본 값 설정
- 즉시 변수 적용
- 앞뒤 추가
- 오버라이드 문법 연산자
- 조건을 가진 메타데이터 설정
- 조건적 추가
- 파일 포함
- 파이썬 변수 설정
- 실행 가능한 메타데이터 정의
- 전역 네임스페이스에서 파이썬 함수 정의
- 상속 시스템
- 요약
- 메타데이터 사용
- 8장. Yocto 프로젝트를 이용한 개발
- 소프트웨어 개발 키트
- 포키 SDK 이용
- 이미지 기반 SDK 이용
- 범용적 SDK: meta-toolchain
- SDK 생성
- 타깃에서 애플리케이션 개발
- 이클립스와 통합
- 요약
- 9장. Yocto 프로젝트 디버깅
- 메타데이터와 애플리케이션 디버깅
- 이미지, 패키지, SDK 내용 추적
- 패키지 디버깅
- 작업 실행 기간의 로그 정보
- devshell 이용
- GNU 프로젝트 디버거 사용
- 요약
- 10장. 외부 레이어
- 레이어를 이용한 유연성 확보
- 레이어의 소스코드에 대한 고찰
- 메타레이어 추가
- Yocto 프로젝트 레이어 에코시스템
- 요약
- 11장. 사용자 레이어 생성
- 새로운 레이어 추가
- 레이어에서 메타데이터 추가
- 이미지 생성
- 패키지 레시피 추가
- recipetool을 사용해 기본 패키지 레시피 자동 생성
- 신규 머신 추가
- 머신에 이미지 배치
- 커스텀 배포
- MACHINEFEATURES와DISTROFEATURES비교
- 변수의 범위
- 요약
- 12장. 레시피 커스터마이즈
- 일반적인 사용 사례
- Autoconf 사용 레시피에 추가 옵션 적용
- 패치 적용
- 존재하는 패키지에 추가 파일 적용
- 파일 탐색 경로
- 레시피 설정 변경
- BusyBox 커스터마이제이션
- linux-yocto 프레임워크 커스터마이징
- 요약
- 13장. GPL 규정 준수
- 카피레프트
- 카피레프트 규약과 상용화 코드의 비교
- 라이선스 규약의 가이드라인
- 포키에 포함된 소프트웨어 라이선스 관리
- 상업 라이선스
- 카피레프트 규약을 지키기 위한 포키의 사용
- 라이선스 검사
- 소스코드 제공
- 컴파일 스크립트와 수정된 소스코드 제공
- 라이선스 문구 제공
- 요약
- 카피레프트
- 14장. 커스텀 임베디드 리눅스 부팅
- 개발 보드 살펴보기
- 올바른 BSP 레이어 찾기
- 하드웨어 사용
- 비글본 블랙
- 라즈베리파이 3
- 완드보드
- 생성한 이미지 부팅
- SD 카드를 사용한 비글본 블랙 부팅
- SD 카드를 사용한 라즈베리파이 3 부팅
- SD 카드를 사용한 완드보드 부팅
- 다음 단계
- 요약
도서 오류 신고
정오표
정오표
[p.32]
데비안에 포키 설치
->
데비안에 패키지 설치
[p.33]
페도라에 포키 설치
->
페도라에 패키지 설치