이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
Yocto 프로젝트를 활용한 임베디드 리눅스 개발 2/e
유연하고 확장성 좋은 Yocto 프로젝트 첫 단계
베스트
OS/데이터베이스 top100 24주
가격
20,000
10 18,000
YES포인트?
1,000원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
  • 본 도서의 개정판이 출간되었습니다.

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

이 분야의 이벤트

에이콘 임베디드 시스템 프로그래밍 시리즈

책소개

목차

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 카드를 사용한 완드보드 부팅
다음 단계
요약

저자 소개 3

오타비우 살바도르

관심작가 알림신청
 

Otavio Salvador

다양한 임베디드 리눅스 개발 경험을 가진 유명한 소프트웨어 엔지니어이자 개발자다. 시스템 부팅, 장치 드라이버, 펌웨어 등 리눅스 커널 및 임베디드 시스템과 관련된 오픈소스 프로젝트에 기여하고 있다. 임베디드 리눅스 개발 솔루션 및 서비스를 제공하는 선도적인 브라질 기술 회사인 O.S. 시스템의 최고 경영자다. 이 회사는 임베디드 리눅스 개발, 컨설팅 및 지원을 포함한 다양한 서비스를 제공한다. Yocto 프로젝트에 핵심적인 기여를 해왔다. 이 분야에 대한 전문 지식은 O.S. 시스템을 선도적인 Yocto 프로젝트 기반 솔루션 및 서비스 제공업체로 만드는 데 도움이 됐다.

오타비우 살바도르의 다른 상품

다이앤 앤골리니

관심작가 알림신청
 

Daiane Angolini

임베디드 시스템 및 임베디드 리눅스 개발 전문성을 갖춘 소프트웨어 엔지니어다. 또한 Yocto 프로젝트, 오픈임베디드, 리눅스 커널 등 여러 프로젝트와 커뮤니티에 기여하며 오픈소스 소프트웨어 개발 경험을 쌓았다. 임베디드 컴퓨팅 솔루션을 통해 전 세계 커넥티드 디바이스를 위한 안전한 오픈소스 플랫폼과 모든 하드웨어 및 클라우드에 구성 가능한 클라우드 서비스를 구축한 회사인 Foundries.io의 선임 임베디드 소프트웨어 엔지니어다. Foundries.io에서 다양한 임베디드 시스템용 소프트웨어를 개발 및 개선하고, Yocto 프로젝트 도구를 사용해 ARM 및 x86 아키텍처 기
임베디드 시스템 및 임베디드 리눅스 개발 전문성을 갖춘 소프트웨어 엔지니어다. 또한 Yocto 프로젝트, 오픈임베디드, 리눅스 커널 등 여러 프로젝트와 커뮤니티에 기여하며 오픈소스 소프트웨어 개발 경험을 쌓았다. 임베디드 컴퓨팅 솔루션을 통해 전 세계 커넥티드 디바이스를 위한 안전한 오픈소스 플랫폼과 모든 하드웨어 및 클라우드에 구성 가능한 클라우드 서비스를 구축한 회사인 Foundries.io의 선임 임베디드 소프트웨어 엔지니어다. Foundries.io에서 다양한 임베디드 시스템용 소프트웨어를 개발 및 개선하고, Yocto 프로젝트 도구를 사용해 ARM 및 x86 아키텍처 기반의 LmP 및 BPS를 유지 관리한다.

다이앤 앤골리니의 다른 상품

현재 독일에 있는 메르세데스-벤츠 이노베이션 랩(MBition, Mercedes-Benz Innovation Lab)에서 수석 소프트웨어 엔지니어(Principal Software Engineer)로 근무하면서 벤츠의 MB.OS 플랫폼과 인포테인먼트 소프트웨어를 개발하고 있다. 이전에는 LG전자 소프트웨어 플랫폼 연구소에서 webOS 플랫폼 관련 업무를 했다. 42 Wolfsburg의 자동차 소프트웨어 교육 프로그램인 SEA:ME의 follow, OpenUp에서 오픈소스 프론티어, 오픈임베디드 TSC 멤버 등 다양한 활동도 병행하고 있다. 에이콘출판사에서 출간한 『자동차 소프트웨
현재 독일에 있는 메르세데스-벤츠 이노베이션 랩(MBition, Mercedes-Benz Innovation Lab)에서 수석 소프트웨어 엔지니어(Principal Software Engineer)로 근무하면서 벤츠의 MB.OS 플랫폼과 인포테인먼트 소프트웨어를 개발하고 있다. 이전에는 LG전자 소프트웨어 플랫폼 연구소에서 webOS 플랫폼 관련 업무를 했다. 42 Wolfsburg의 자동차 소프트웨어 교육 프로그램인 SEA:ME의 follow, OpenUp에서 오픈소스 프론티어, 오픈임베디드 TSC 멤버 등 다양한 활동도 병행하고 있다. 에이콘출판사에서 출간한 『자동차 소프트웨어 아키텍처』(2023), 『Yocto 프로젝트를 활용한 임베디드 리눅스 개발 2/e』(2018), 『Embedded Linux Projects Using Yocto Project Cookbook』(2016), 『BeagleBone Black을 사용한 Yocto 프로젝트』(2015), 『Yocto 프로젝트를 활용한 임베디드 리눅스 개발』(2014) 등을 번역했다.

배창혁의 다른 상품

관련 분류

품목정보

발행일
2018년 08월 31일
쪽수, 무게, 크기
196쪽 | 477g | 188*235*14mm
ISBN13
9791161751894

줄거리

1장, ‘Yocto 프로젝트 소개’에서는 Yocto 프로젝트와 주요 도구를 소개하기 위한 개념과 전제를 제시한다.
2장, ‘포키 시스템’에서는 첫 빌드를 위한 환경을 설명한다.
3장, ‘Toaster을 사용한 이미지 생성’에서는 환경설정과 빌드 도구로 쓸 수 있는 사용자에게 편한 웹 인터페이스를 설명한다.
4장, ‘비트베이크’에서는 비트베이크 도구와 이 도구가 태스크와 그 의존성을 관리하는 방법을 설명한다.
5장, ‘임시 빌드 디렉토리’에서는 빌드 임시 결과 디렉토리를 자세히 설명한다.
6장, ‘패키지 지원 고찰’에서는 모든 바이너리 패키지를 만들고 관리하기 위한 기반으로 사용하는 패키징 메커니즘을 설명한다.
7장, ‘비트베이크 메타데이터’에서는 이 책 전반에 걸쳐 사용하는 비트베이크 메타데이터 언어를 설명한다.
8장, ‘Yocto 프로젝트를 이용한 개발’에서는 개발 환경을 만들기 위해 필요한 작업 흐름을 설명한다.
9장, ‘Yocto 프로젝트 디버깅’에서는 포키로 디버깅 환경을 만들고 사용하는 방법을 설명한다.
10장, 외부 레이어’에서는 Yocto 프로젝트의 가장 중요한 개념 중 하나인 외부 레이어의 사용법을 설명한다.
11장, ‘사용자 레이어 생성’에서는 레이어를 만드는 방법을 설명한다.
12장, ‘레시피 커스터마이즈’에서는 기존 레시피를 커스터마이즈하는 방법을 예제와 함께 설명한다.
13장, ‘GPL 규정 준수’에서는 카피레프트를 지키는 제품에 연관된 작업과 개념을 설명한다.
14장. ‘커스텀 임베디드 리눅스 부팅’에서는 Yocto 프로젝트 도구로 실제 하드웨어를 사용해본다.

출판사 리뷰

이 책에서 다루는 내용

- 포키 작업 흐름의 기본 개념을 이해하고 포키 빌드 환경을 구성하고 준비하는 방법
- 빌드 서버 설정과 Toaster를 사용한 이미지 커스터마이즈 방법
- 이미지 생성과 비트베이크를 사용해 생성된 이미지에 패키지를 다루는 방법
- 패키지 피드를 설정하고 사용한 개발 과정 지원 방법
- 포키를 설정해 Yocto 프로젝트를 디버깅하는 방법
- 비글본 블랙, 라즈베리파이3, 완드보드 이미지 빌드 및 SD 카드를 사용한 부팅 방법


이 책의 대상 독자

이 책은 Yocto 프로젝트 도구를 알아보거나 비교하고, 실제 프로젝트에 사용하기 위해 배우고 싶은 엔지니어들과 임베디드 리눅스에 경험과 열정을 가진 사람들을 대상으로 한다. 독자가 이 책의 내용을 빠르게 익힐 수 있도록 돕고 학습 정체에 빠지는 것을 막는 것이 이 책의 목표이다.

지은이의 말

현재의 기술 트렌드를 보면 리눅스는 앞으로 주역이 될 것이다. 리눅스는 지속적으로 기술을 선도하는 오픈소스 제품을 내놓고 있으며 임베디드 시스템은 어느 곳에서든 찾아볼 수 있다.
Yocto 프로젝트는 이러한 프로젝트를 위한 최적의 선택이다. 개발에 필요한 도구 개발 시간을 줄이고 제품 개발에만 에너지를 집중할 수 있게 다양한 툴과 리소스를 제공한다.
임베디드 리눅스 기반 제품과 이를 개발하는 개발 팀의 일반적인 작업 요구 사항이 이 책에서 개념을 잡는 가이드라인이 됐다. 활발히 활동하는 커뮤니티 구성원의 실질적이고 명료한 접근을 통해 쓰여진 이 책은 프로젝트 및 개인의 학습에 있어서 발전을 위한 주춧돌이 될 것이다.

옮긴이의 말

이 책의 1판 『Yocto 프로젝트를 활용한 임베디드 리눅스 개발』를 출간할 때, 과연 국내외에서 Yocto 프로젝트를 사용하는 제품이나 회사가 많이 있을지 의문을 품었다. 4년이 지나는 동안 많은 오픈소스 프로젝트의 기여자로 활동하고 국내외 콘퍼런스에 참여하면서 Yocto 프로젝트를 사용하는 많은 개발자 및 프로젝트를 만나면서 Yocto 프로젝트를 사용하는 곳이 점점 더 많아지고 있다는 것을 알게 됐다.
강연을 하며 Yocto 프로젝트를 왜 사용하고 무엇이 좋은지에 대한 질문이많았다. 그에 대해거의 모든 SoC 업체(intel, Qualcomm, Renesas, NVIDIA 등)가 BSP를 Yocto 프로젝트 기반으로 릴리스하며, Yocto 프로젝트는 유연하고 확장성이 좋기 때문이라고 답해줬다.
Yocto 프로젝트를 사용하는 대표적인 오픈소스 프로젝트는 webOS OSE(Open Source Edition), AGL(Automotive Grade Linux), GENIVI Baseline, RDK 등이 있고, 상용 제품 중 가전에서는 LG webOS TV, 차량에서는 BMW, 벤츠, 현대자동차 등에 들어가는 IVI 및 Telematics 시스템 등에서 Yocto 프로젝트가 다양하게 사용되고 있다.
많은 개발자가 여전히 Yocto 프로젝트를 사용하는 데 많은 어려움을 겪고 있다. 저자뿐만 아니라 Yocto 프로젝트 오픈소스 진영에서도 이런 문제를 해결해 많은 개발자의 진입 장벽을 낮추기 위해 문서화, 개발하기 쉬운 도구를 제공하기 위해 노력 중이다.
기본적으로 임베디드 OS를 만드는 데는 많은 지식이 필요하고, 거기에 Yocto 프로젝트에서 사용하는 문법을 익혀야 하기 때문에 나 또한 6년 이상 사용하면서도 어려움을 겪고 계속 배워나가고 있다. 가장 좋은 시작은 이 책과 같은 기본서로 시작해서 실제 제품에 적용해가며 필요한 것을 배워나가는 것이다.

리뷰/한줄평1

리뷰

10.0 리뷰 총점

한줄평

첫번째 한줄평을 남겨주세요.