• 베스트
  • 소득공제
  • 무료배송

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

  • 오타비우 살바도르,다이앤 앤골리니
  • 배창혁
  • 에이콘출판
  • 2024년 08월 28일
사용자 평점
0리뷰 0개
5%20,90022,000원
적립금
880원 (4% 적립)
추가 적립 안내
  • 5만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

  • 10만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

    정가제FREE(상품/사은품) 금액이
    5,000원 이상이면 5,000원 추가적립

회원가입 시 적립금 즉시 지급!

배송비
무료 (해외배송의 경우 지역에 따라 상이)

배송안내

배송비 안내
  • 1만원 이상 주문 시 무료배송 입니다.
  • 주문하신 상품을 해외로 배송 하시는 경우에는 별도의 항공료 가 부과됩니다
서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
주문 수량 변경시 안내

[주문/배송] 주문 수량 변경 시 안내

주문 수량 변경 시,배송일정이 변경될 수 있으니 반드시 확인해 주시기 바랍니다.
(고객센터 1544-9020)

지금 주문하면 9/16(수) 출고 가능
택배보다 빠른, 나우드림
상품 규격 정보
상품상세정보
ISBNISBN-13 : 9791161758671
쪽수240쪽
크기기타 규격
제품구성단행본
이 책이 속한 분야
  • 컴퓨터/IT > OS
관련 이벤트

AI추천 이유

책 소개

Yocto 프로젝트나 오픈임베디드로 임베디드 리눅스 개발을 처음 시작하는 개발자를 위한 기본서다. Yocto 프로젝트에 대한 기본 개념부터 시작해 실제 디바이스에 적용하는 방법까지 예제와 유용한 팁을 제시하며 읽기 쉽게 설명한다. 개정된 3판에서는 많은 내용이 수정됐으며 Yocto 프로젝트의 최신 업데이트를 반영했다. Toaster, 라즈베리 파이 4 개발 보드 활용 등을 다루고 현대 임베디드 시스템에서의 효율적인 빌드 관리 방법을 소개한다. Yocto 프로젝트를 처음 접하는 독자에게 필수 안내서가 될 것이다.

목차

[목 차]

 

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 생성

__일반 프로젝트에서 따라야 할 가이드라인

____프로젝트 라이선스 제약 조건의 지속적인 모니터링

____보안이 프로젝트에 끼칠 수 있는 해로움

____유지 관리 비용에 대한 과소평가

____프로젝트의 위험 요소와 제약을 최대한 빨리 해결

__정리

 

 

__찾아보기

 

 

추천사

    ◈ 지은이의 말 

    리눅스는 최첨단 제품에 꾸준히 사용돼 왔으며, 임베디드 시스템은 인류의 기술 포트폴리오에서 중요한 역할을 해왔다.

    Yocto 프로젝트는 여러분의 프로젝트를 위한 최적의 선택이 될 수 있다. 이 프로젝트는 반복적인 작업 대신 제품 개발에 대부분의 에너지와 리소스를 사용할 수 있도록 풍부한 도구 세트를 제공한다.

    임베디드 리눅스 기반 제품 및 개발 팀의 일반적인 작업과 요구 사항이 이 책을 구상하는 데 지침이 됐다. 그러나 실용적이고 직관적인 접근 방식으로 활발한 커뮤니티 회원들이 집필한 이 책은 학습 과정과 제품 프로젝트 모두에 디딤돌이 될 것이다.

    3판은 독자들이 보내준 피드백을 반영해 완전히 재작성했으며, Yocto 프로젝트와 관련된 복잡한 개념을 쉽게 이해할 수 있도록 내용을 확장하고 Yocto 프로젝트 LTS 버전 4.0(코드명: kirkstone)까지의 변경 사항을 반영해 철저하게 업데이트했다.

    또한 에뮬레이션을 통해 제품 개발 속도를 높이고자 QEMU를 사용하는 방법과 Yocto 프로젝트 및 일반 프로젝트 지침에 관한 2개의 새로운 장을 추가했다.

출판사 서평

◈ 이 책에서 다루는 내용

◆ 포키(Poky) 워크플로 이해

◆ 포키 빌드 환경 설정 및 준비

◆ 예제를 통해 살펴보는 최신 버전의 Yocto 프로젝트

Toaster를 사용한 빌드 서버 설정과 이미지 커스터마이즈

◆ 비트베이크(BitBake)를 사용한 이미지 생성과 생성된 이미지에 패키지를 맞추는 방법

◆ 패키지 피드 설정과 사용을 통한 개발 프로세스 지원

◆ 포키 설정을 통한 Yocto 프로젝트 디버그

SD 카드를 통해 비글본 블랙, 라즈베리 파이 4 및 비전파이브용 이미지를 빌드하고 부팅하는 방법

◆ 에뮬레이션을 사용해 개발 주기를 단축하기 위한 QEMU 사용

 

◈ 이 책의 대상 독자

임베디드 리눅스 경험이 있는 엔지니어와 애호가를 대상으로 하며, 프로젝트에서 평가, 비교 또는 사용하기 위해 Yocto 프로젝트의 도구에 대해 배우고자 하는 사람을 위한 책이다. 일반적인 학습 곡선의 함정에 빠지지 않고 빠르게 속도를 낼 수 있게 도와주는 것이 이 책의 목적이다.

 

◈ 이 책의 구성

1, ‘Yocto 프로젝트 소개에서는 Yocto 프로젝트의 일부와 주요 도구를 소개하기 위해 첫 번째 개념과 전제를 제시한다.

2, ‘포키 시스템에서는 첫 번째 빌드에 필요한 환경을 소개한다.

3, ‘Toaster를 사용한 이미지 생성에서는 설정 래퍼 및 빌드 도구로 사용할 수 있는 사용자 친화적인 웹 인터페이스를 보여준다.

4, ‘비트베이크 기초에서는 비트베이크 메타데이터 개념을 소개한다.

5, ‘비트베이크 상세 소개에서는 비트베이크 도구가 태스크와 의존성을 관리하는 방법을 보여준다.

6, ‘임시 빌드 디렉터리에서는 빌드의 임시 작업 디렉터리를 자세히 설명한다.

7, ‘패키지 지원 고찰에서는 모든 바이너리 패키지를 만들고 관리하는 데 기본으로 사용되는 패키징 메커니즘을 소개한다.

8, ‘비트베이크 메타데이터에서는 다른 모든 장에서 사용될 비트베이크 메타데이터 언어를 자세히 살펴본다.

9, ‘Yocto 프로젝트를 이용한 개발에서는 개발 환경을 확보하는 데 필요한 워크플로를 설명한다.

10, ‘Yocto 프로젝트를 이용한 디버깅에서는 포키를 사용해 디버그 환경을 생성하는 방법과 이를 사용하는 방법을 소개한다.

11, ‘외부 레이어에서는 Yocto 프로젝트의 중요한 개념 중 하나인 외부 레이어 사용의 유연성을 살펴본다.

12, ‘사용자 레이어 생성에서는 레이어를 만들어보는 실습을 한다.

13, ‘레시피 커스터마이즈에서는 기존 레시피를 커스터마이즈하는 방법을 소개한다.

14, ‘GPL 규정 준수에서는 카피레프트(copyleft) 준수 제품에 관련된 태스크와 개념을 살펴본다.

15, ‘커스텀 임베디드 리눅스 부팅에서는 실제 하드웨어 머신과 Yocto 프로젝트의 도구를 사용한다.

16, ‘에뮬레이션을 통한 제품 개발 속도 향상: QEMU’에서는 QEMU로 제품 개발을 가속화하는 방법을 알아본다.

17, ‘모범 사례에서는 저자의 경험을 바탕으로 Yocto 프로젝트 및 일반적인 프로젝트 관련 가이드라인을 설명한다.

 

◈ 옮긴이의 말

Yocto 프로젝트를 활용한 임베디드 리눅스 개발 3/e』를 출간하게 돼 감회가 새롭습니다. 1판의 번역서가 출간된 이후 Yocto 프로젝트가 국내외에서 얼마나 많은 제품과 회사에 도입될지에 대해 많은 궁금증이 있었습니다. 그러나 이제는 Yocto 프로젝트의 확고한 입지를 직접 확인할 수 있게 됐습니다.

저는 다양한 오픈소스 프로젝트의 컨트리뷰터로 활동하고 국내외 콘퍼런스에 참석하며 Yocto 프로젝트를 활용하는 많은 개발자와 프로젝트를 접했습니다. 이 과정을 통해 Yocto 프로젝트의 사용이 점차 확대되고 있음을 실감했고, 이는 Yocto 프로젝트의 장점과 필요성을 명확히 설명해줬습니다.

Yocto 프로젝트의 큰 장점 중 하나는 거의 모든 SoC(System on Chip)(Intel, Qualcomm, Samsung, Renesas, NVIDIA) 업체들이 BSP Yocto 프로젝트 기반으로 릴리스하고 있다는 점입니다. 이로 인해 Yocto 프로젝트는 유연성과 확장성을 제공하며, 다양한 오픈소스 프로젝트와 상용 제품에서의 채택으로 이어지고 있습니다. 대표적인 오픈소스 프로젝트로는 webOS OSE(Open Source Edition), AGL(Automotive Grade Linux), RDK 등이 있으며, 상용 제품으로는 LG webOS TV, BMW, 벤츠, 현대자동차의 IVI Telematics 시스템 등이 있습니다.

그럼에도 여전히 많은 개발자가 Yocto 프로젝트 사용에 어려움을 겪고 있습니다. 이는 임베디드 OS 개발에 대한 깊은 지식과 함께 Yocto 프로젝트에서 사용하는 문법을 익혀야 한다는 복잡한 조건 때문입니다. 이러한 난관을 해결하기 위해 Yocto 프로젝트 커뮤니티는 문서화와 개발 도구의 개선을 통해 개발자들의 진입 장벽을 낮추고자 노력하고 있습니다. 저 역시 10년 이상 이 분야에 몸담고 있지만 여전히 배워야 할 것이 많다고 느낍니다.

Yocto 프로젝트를 시작하는 가장 좋은 방법은 이 책과 같은 기본서를 통해 기초를 다지고 실제 제품에 적용하면서 필요한 지식을 습득하는 것입니다. 어려움이 있을 경우 저에게 문의하거나 Yocto 프로젝트 메일링 리스트, IRC 등을 활용해 도움을 받을 수 있습니다.

3판을 준비하면서 Yocto 프로젝트의 중요성이 더욱 커지고 있음을 느꼈습니다. 이 책이 Yocto 프로젝트를 시작하는 개발자에게 유용한 길잡이가 되기를 바라며, 독자 여러분의 성공적인 프로젝트에 조금이나마 기여할 수 있기를 희망합니다.

 

저자 소개
저자 : 오타비우 살바도르,다이앤 앤골리니
도서리뷰 (0)
이 책을 읽고 어떤 느낌을 받으셨나요? 리뷰를 남기고 다른 독자들과 함께 공유해보세요.

등록된 리뷰가 없습니다

첫번째 리뷰어가 되어주세요

교환/반품/환불
반품/교환방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
반품/교환 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

매장에서 사용할 수 있는 바코드가 있어요!