스크랩

구간

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

원제 : Embedded Linux Development with Yocto Project

오타비우 살바도르, 다이앤 앤골리니 저 | 배창혁, 이상욱 역 | 에이콘출판 | 2015년 01월

북트리

정가
$37.60
판매가
$27.41 (27%↓) 최저가 보상
적립금
$0.55 (2%P)

품절된 상품입니다.

이 책을 꼭 원하시는 고객님께서는 아래 "상품문의"를 클릭 후 구매의사를
알려주세요. 책이 확보 될 경우 연락 드리겠습니다.

북카트 바로구매 위시리스트

이책의 개정판 정보

Yocto 프로젝트를 활용한 임베디드 리눅스 개발 [2판] 오타비우 살바도르, 다이앤 앤골리니 저 | 에이콘출판 | 2018년 08월

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9788960776517 / 180쪽 188 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

  • 27,000
  • 22,500
  • 23,400
  • 19,800

책 소개

출판사 리뷰

출판사 서평 ★ 요약 ★ 이 책은 욕토 프로젝트(Yocto Project)나 오픈임베디드(OpenEmbedded)로 임베디드 리눅스 개발을 처음 시작하는 개발자를 위해 세계 최초로 출간된 기본서다. 욕토 프로젝트에 대한 기본 개?념들부터 시작해서 실제 디바이스에 적용하는 방법까지 예제와 유용한 팁을 제시하며 읽기 쉽게 설명되어 있다 ★ 이 책에서 다루는 내용 ★ ■ 오픈임베디드(OpenEmbedded), 욕토 프로젝트(Yocto Project), 비트베이크(BitBake)의 차이점 ■ 비트베이크 메타데이타 문법 ■ 사용자만의 ... ★ 요약 ★ 이 책은 욕토 프로젝트(Yocto Project)나 오픈임베디드(OpenEmbedded)로 임베디드 리눅스 개발을 처음 시작하는 개발자를 위해 세계 최초로 출간된 기본서다. 욕토 프로젝트에 대한 기본 개념들부터 시작해서 실제 디바이스에 적용하는 방법까지 예제와 유용한 팁을 제시하며 읽기 쉽게 설명되어 있다 ★ 이 책에서 다루는 내용 ★ ■ 오픈임베디드(OpenEmbedded), 욕토 프로젝트(Yocto Project), 비트베이크(BitBake)의 차이점 ■ 비트베이크 메타데이타 문법 ■ 사용자만의 애플리케이션 개발환경 설정 방법 ■ 크로스컴파일 환경에서의 애플리케이션 디버깅 방법 ■ 리눅스 커널에 기능을 추가하거나 제거하는 방법 ■ 손쉽게 프로젝트 라이선스 규약을 준수하는 방법 ■ 욕토 프로젝트를 이용하여 임베디드 리눅스 시스템을 만드는 방법 ★ 이 책의 대상 독자 ★ 이 책은 욕토 프로젝트 툴을 알아보거나 비교하고, 실제 프로젝트에 사용하기 위해 이를 배우고 싶은 엔지니어들과 임베디드 리눅스에 경험과 열정을 가진 사람들을 목표로 한다. 이 책의 목표는 독자를 빨리 배우게 하고 학습 정체에 빠지는 것을 막는 데 있다. ★ 이 책의 구성 ★ 1장. ‘욕토 프로젝트 소개’에서는 욕토 프로젝트의 역사와 구성에 대해 알아본다. 2장. ‘포키 시스템’에서는 첫 빌드(build)를 위한 환경을 설명한다. 3장. ‘Hob을 사용한 이미지 생성’에서는 환경 설정과 빌드 툴로 쓸 수 있는 사용자에게 편안한 그래픽 인터페이스를 살펴본다. 4장. ‘비트베이크 툴’에서는 욕토 프로젝트의 모든 조각들을 조작하기 위한 툴의 첫 개념과 기반에 대해 알아본다. 5장. ‘임시 빌드 폴더’에서는 빌드의 결과 폴더(folder) 구조에 대해 알아보고 특히 tmp 폴더에 대해 상세히 알아본다. 6장. ‘패키지 지원 고찰’에서는 패키지 개념을 설명하고 욕토 프로젝트에서 사용되는 패키지 지원 방식에 대해 상세히 알아본다. 7장. ‘비트베이크 메타데이터 나누기’에서는 욕토 프로젝트 메타데이터(metadata)(레시피와 환경 설정 파일)에서 사용되는 개념과 문법에 대해 상세히 알아본다. 8장. ‘욕토 프로젝트를 이용한 개발’에서는 욕토 프로젝트를 사용하여 커스텀(custom) 개발 환경을 생성하는 것에 대해 알아본다. 9장. ‘욕토 프로젝트 디버깅’에서는 욕토 프로젝트가 제공하는 디버그(debug) 툴과 사용법을 알아본다. 10장. ‘외부 레이어’에서는 욕토 프로젝트의 가장 중요한 개념 중 하나인 외부 레이어 사용에 대해 알아본다. 11장. ‘사용자 레이어 생성’에서는 레이어를 만드는 법을 연습해본다. 12장. ‘레시피 커스터마이즈’에서는 레시피를 커스터마이즈하는 일반적인 유스케이스(use case)와 이를 어떻게 달성하는지 알아본다. 13장. ‘GPL 규정 준수’에서는 카피레프트(copyleft)를 지키는 제품에 연관된 작업과 개념에 대해 알아본다. 14장. ‘커스텀 임베디드 리눅스 부팅’에서는 욕토 프로젝트 툴과 실제 하드웨어를 사용해본다. ★ 옮긴이의 말 ★ 2년 전 웹OS(webOS)를 처음 접하면서 오픈임베디드 빌드 프레임워크를 알게 됐다. 국내에서는 거의 이용하지 않았고, 해외에서조차 자료도 적고, 개념도 복잡해서 왜 이렇게 복잡한 빌드 프레임워크를 써야 하는지 의아하기도 했다. 하지만, 하나씩 알아갈수록 빌드 프레임워크의 거의 모든 개념이 들어가 있음에 매력을 느끼기 시작했다. 우리는 빌드 시스템이라는 용어 대신 오픈임베디드를 빌드 프레임워크라고 표현했다. 빌드 시스템을 구글링해보면 Make, Ant, Scons, CMake이 주로 나온다. 작은 프로젝트 단위에서는 빌드 시스템으로 충분하다. 하지만, OS 개발과 같이 여러 오픈 소스들을 가지고 통합해서 만드는 큰 프로젝트에서는 Make, Scons, CMake를 사용한 모듈을 포함해 구성하기 때문에 더 큰 개념의 빌드 프레임워크가 필요하다. 현재 많이 사용하는 빌드 프레임워크는 오픈임베디드(openembedded), 빌드루트(buildroot), 타이젠(Tizen)에서 사용하는 오픈 빌드 서비스(Open Build Service), 안드로이드 빌드 등이 있다. 이런 다양한 빌드 프레임워크 중 오픈임베디드는 오픈 소스 커뮤니티가 활성화되어 있고, 가장 많은 업체들이 각자의 제품을 개발하는 데 사용하고 있다. 이 책은 욕토 프로젝트나 오픈임베디드로 임베디드 리눅스 개발을 처음 시작하는 개발자를 위해 최초로 출간된 기본서다. 욕토 프로젝트에 대한 기본 개념들부터 시작해서 실제 디바이스에 적용하는 방법까지 예제와 유용한 팁을 제시하며 읽기 쉽게 설명되어 있다. 2년 전에 이런 책이 있었으면 처음 시작할 때 개념을 더 쉽게 잡아 오픈임베디드 빌드 프레임워크에 더 빨리 접근할 수 있었을지도 모른다. 그래서 우리는 이 책이 해외에서 출간되자마자 바로 구매해 읽어 보았고, 향후 국내에서도 많이 사용할 것이라 생각해 번역을 시작했다. 또한 이 책의 저자가 심화된 내용으로 다음 책을 집필하고 있는데, 여기에도 리뷰어로 참여할 예정이기에, 기회가 되면 그 책 또한 국내 독자들을 위해 번역 출간할 수 있기를 바란다.

저자 소개

  • 저자 : 오타비우 살바도르, 다이앤 앤골리니

역자 소개

  • 역자 : 배창혁, 이상욱

배창혁
현재 LG전자 소프트웨어 플랫폼 연구소에서 소프트웨어 엔지니어로 근무하면서 SCM 관련 업무를 하고 있다. 오픈임베디드 관련 오픈 소스 활동을 하고 있으며, 임베디드 리눅스 포팅, 네트워크 미디어 관련 개발 분야에 관심이 많다. 여가 시간에는 야구와 축구를 하고 경기를 즐겨 본다.

 

이상욱
2010년부터 2014년까지 LG CNS에서 소프트웨어 엔지니어로 근무했고, 현재 Vieworks에서 내부 시스템 구성 프로젝트를 진행하고 있다. 즐겁고 성공하는 소프트웨어 프로젝트를 구성하는 것에 관심이 많아 소프트웨어 공학부터 작업 시간을 단축시킬 수 있는 다양한 오픈 소스를 적용해보길 좋아한다.

머리말

★ 옮긴이의 말 ★

2년 전 웹OS(webOS)를 처음 접하면서 오픈임베디드 빌드 프레임워크를 알게 됐다. 국내에서는 거의 이용하지 않았고, 해외에서조차 자료도 적고, 개념도 복잡해서 왜 이렇게 복잡한 빌드 프레임워크를 써야 하는지 의아하기도 했다. 하지만, 하나씩 알아갈수록 빌드 프레임워크의 거의 모든 개념이 들어가 있음에 매력을 느끼기 시작했다.

우리는 빌드 시스템이라는 용어 대신 오픈임베디드를 빌드 프레임워크라고 표현했다. 빌드 시스템을 구글링해보면 Make, Ant, Scons, CMake이 주로 나온다. 작은 프로젝트 단위에서는 빌드 시스템으로 충분하다. 하지만, OS 개발과 같이 여러 오픈 소스들을 가지고 통합해서 만드는 큰 프로젝트에서는 Make, Scons, CMake를 사용한 모듈을 포함해 구성하기 때문에 더 큰 개념의 빌드 프레임워크가 필요하다.

현재 많이 사용하는 빌드 프레임워크는 오픈임베디드(openembedded), 빌드루트(buildroot), 타이젠(Tizen)에서 사용하는 오픈 빌드 서비스(Open Build Service), 안드로이드 빌드 등이 있다. 이런 다양한 빌드 프레임워크 중 오픈임베디드는 오픈 소스 커뮤니티가 활성화되어 있고, 가장 많은 업체들이 각자의 제품을 개발하는 데 사용하고 있다.

이 책은 욕토 프로젝트나 오픈임베디드로 임베디드 리눅스 개발을 처음 시작하는 개발자를 위해 최초로 출간된 기본서다. 욕토 프로젝트에 대한 기본 개념들부터 시작해서 실제 디바이스에 적용하는 방법까지 예제와 유용한 팁을 제시하며 읽기 쉽게 설명되어 있다. 2년 전에 이런 책이 있었으면 처음 시작할 때 개념을 더 쉽게 잡아 오픈임베디드 빌드 프레임워크에 더 빨리 접근할 수 있었을지도 모른다. 그래서 우리는 이 책이 해외에서 출간되자마자 바로 구매해 읽어 보았고, 향후 국내에서도 많이 사용할 것이라 생각해 번역을 시작했다. 또한 이 책의 저자가 심화된 내용으로 다음 책을 집필하고 있는데, 여기에도 리뷰어로 참여할 예정이기에, 기회가 되면 그 책 또한 국내 독자들을 위해 번역 출간할 수 있기를 바란다.

목차

목차
1장 욕토 프로젝트 소개
__욕토 프로젝트의 의미
__욕토 프로젝트의 상세 소개
__포키의 의미
____비트베이크의 사용
____오픈임베디드 코어
____메타데이터
__욕토 프로젝트와 오픈임베디드의 연합
__정리
2장 포키 시스템
__호스트 시스템 환경설정
____데비안에 포키 설치
____페도라에 포키 설치
__포키 소스코드 다운로드
__빌드 환경 준비
__local.conf
__타깃 이미지 빌드
__QEMU에서 이미지 실행
__정리
3장 Hob을 사용해 이미지 생성
__Hob을 사용해 이미지 빌드
__Hob을 사용해 이미지 편집
__정리
4장 비트베이크 툴
__비트베이크 툴
__메타데이터
__메타데이터 파싱
__의존성
__레시피 프로바이더와 프레퍼런스
__소스코드 다운로드
____원격 파일 다운로드
____깃 저장소
____다른 저장소
____소스코드 다운로드 최적화
____네트워크 접근 제한
____비트베이크 태스크
______태스크 확장
____루트 파일시스템 이미지 생성
__정리
5장 임시 빌드 폴더
__빌드 폴더
__빌드 폴더 구성
__임시 빌드 폴더 분석
__work 폴더
__sysroot 폴더
__정리
6장 패키지 지원 고찰
__지원되는 패키지 포맷 이용
____지원 가능한 패키지 포맷
____패키지 포맷 선택
____패키지 설치 시점의 코드 실행
__셰어드 스테이트 캐시
__패키지 버전 선택
__패키지 피드
____패키지 피드 사용
__정리
7장 비트베이크 메타데이터 나누기
__메타데이터 사용
__메타데이터 작업
____기본 변수 설정
____변수 확장
____?\u003d를 사용한 기본 값 설정
____??를 사용한 기본 값 설정
____즉시 변수 적용
____앞 뒤 추가
____조건을 가진 메타데이터 집합
____조건적 추가
____파일 포함
____파이썬 변수 설정
____실행 가능한 메타데이터 정의
____전역 네임스페이스에서 파이썬 함수 정의
____상속 시스템
__정리
8장 욕토 프로젝트를 이용한 개발
__소프트웨어 개발 키트
__포키 SDK 이용
____이미지 기반 SDK 이용
____범용적 SDK: meta-toolchain
____SDK 이용
__타깃에서 애플리케이션 개발
__이클립스와 통합
__정리
9장 욕토 프로젝트 디버깅
__메타데이터와 애플리케이션 디버깅
__이미지, 패키지, SDK 콘텐츠 추적
__패키지 디버깅
__작업 실행 기간의 로그 정보
__개발 셸 이용
__디버깅을 위해 GNU 프로젝트 디버거 사용
__정리
10장 외부 레이어
__레이어를 이용한 유연성 확보
__레이어의 소스코드에 대한 고찰
__메타레이어 추가
__정리
11장 사용자 레이어 생성
__새로운 레이어 추가
__레이어에서 메타데이터 추가
__이미지 생성
__패키지 레시피 추가
__머신 정의 작성
__커스텀 배포 사용
__머신 기능과 배포 기능 비교
__변수의 범위
__정리
12장 레시피 커스터마이즈
__일반적인 유스케이스
__Autoconf에 기반을 둔 레시피에 추가 옵션 적용
__패치 적용
__존재하는 패키지에 추가 파일 적용
____파일 탐색 경로
__레시피의 피처 변경
__BusyBox 커스터마이제이션
__리눅스 욕토 프레임워크 커스터마이징
__정리
13장 GPL 규정 준수
__카피레프트
____카피레프트 규약과 상용화 코드의 비교
____라이선스 규약의 가이드라인
__포키에 포함된 소프트웨어 라이선스 관리
____상업 라이선스
__카피레프트 규약을 지키기 위한 포키의 사용
____라이선스 검사
____소스코드 제공
____컴파일 스크립트와 수정된 소스코드 제공
____라이선스 문구 제공
__정리
14장 커스텀 임베디드 리눅스 부팅
__Wandboard
__Freescale ARM BSP 발견
__욕토 프로젝트에서 Wandboard 사용
__Wandboard를 위한 이미지 빌드
__SD 카드를 이용하여 Wandboard 부팅
__정리

top