1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

욕토 프로젝트로 시작하는 임베디드 리눅스 시스템(에이콘 임베디드 시스템 프로그래밍 시리즈)
저자 : 루돌프스트라이프 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 김세영,정윤선

2018.04.23 ㅣ 576p ㅣ ISBN-13 : 9791161751436

정가40,000
판매가39,600(1% 할인)
적립금 800원 (2%)
배송일정 05월 02일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 기타 규격
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > OS > 리눅스
임베디드 시스템의 개요를 익히고, 욕토 프로젝트를 이용해 임베디드 리눅스 시스템에서의 개발을 쉽게 시작할 수 있다. 오픈임베디드 빌드 시스템, 비트베이크 빌드 엔진, 문제 해결, 리눅스 시스템 구조, 커스텀 리눅스 배포판 제작, 소프트웨어 패키지 레시피와 커널 레시피 작성법, 보드 지원 패키지 제작 및 그 외 임베디드 리눅스 시스템 개발에 필요한 도구들 모두 알아본다.
펼쳐보기

[목 차]

1장. 임베디드 시스템을 위한 리눅스
-1.1 왜 임베디드 시스템에 리눅스인가?
-1.2 임베디드 리눅스 지형
-1.3 리눅스 배포판 사용자화: 왜 어려운가?
-1.4 오픈소스 라이선스에 대한 이야기
-1.5 조직, 관련 단체, 표준
-1.6 요약
-1.7 참조

2장. 욕토 프로젝트
-2.1 첫 욕토 프로젝트 빌드 시작하기
-2.2 욕토 프로젝트 구성 요소
-2.3 역사
-2.4 욕토 프로젝트 용어
-2.5 요약
-2.6 참조

3장. 오픈임베디드 빌드 시스템
-3.1 오픈소스 소프트웨어 패키지 빌드
-3.2 오픈임베디드 워크플로우
-3.3 오픈임베디드 빌드 시스템 구조
-3.4 요약
-3.5 참조

4장. 비트베이크 빌드 엔진
-4.1 비트베이크 얻기 및 설치
-4.2 비트베이크 실행하기
-4.3 비트베이크 메타데이터
-4.4 메타데이터 문법
-4.5 소스 받기
-4.6 헬로 월드: 비트베이크 스타일
-4.7 의존성 다루기
-4.8 버전 선택
-4.9 변형
-4.10 기본 메타데이터
-4.11 요약
-4.12 참조

5장. 문제 해결
-5.1 로깅
-5.2 태스크 실행
-5.3 메타데이터 분석
-5.4 개발 셸
-5.5 의존성 그래프
-5.6 디버깅 레이어
-5.7 요약

6장. 리눅스 시스템 구조
-6.1 리눅스인가, GNU/리눅스인가?
-6.2 리눅스 시스템 해부
-6.3 부트로더
-6.4 커널
-6.5 사용자 영역
-6.6 요약
-6.7 참조

7장. 커스텀 리눅스 배포판 빌드
-7.1 코어 이미지: 리눅스 배포판 블루프린트
-7.2 이미지 처음부터 빌드하기
-7.3 이미지 옵션
-7.4 배포 설정
-7.5 외부 레이어
-7.6 홉
-7.7 요약

8장. 소프트웨어 패키지 레시피
-8.1 레시피 레이아웃과 규약
-8.2 새 레시피 작성
-8.3 레시피 예제
-8.4 데브툴
-8.5 요약
-8.6 참조

9장. 커널 레시피
-9.1 커널 환경 설정
-9.2 커널 패치
-9.3 커널 레시피
-9.4 트리 밖 모듈
-9.5 장치 트리
-9.6 요약
-9.7 참조

10장. 보드 지원 패키지
-10.1 욕토 프로젝트 BSP 철학
-10.2 BSP를 이용한 빌드
-10.3 욕토 프로젝트 BSP 내부
-10.4 욕토 프로젝트 BSP 생성
-10.5 튜닝
-10.6 부팅 가능한 미디어 이미지 생성
-10.7 요약
-10.8 참조

11장. 애플리케이션 개발
-11.1 욕토 프로젝트 ADT 내부
-11.2 욕토 프로젝트 ADT 설정하기
-11.3 애플리케이션 빌드
-11.4 이클립스 통합
-11.5 타깃 에뮬레이션을 통한 애플리케이션 개발
-11.6 요약
-11.7 참조

12장. 라이선스 및 규정준수
-12.1 라이선스 관리
-12.2 소스 코드 관리
-12.3 요약
-12.4 참조

13장. 더 깊은 주제
-13.1 토스터
-13.2 빌드 히스토리
-13.3 소스 미러
-13.4 오토빌더
-13.5 요약
-13.6 참조

부록A. 오픈소스 라이선스
-A.1 MIT License (MIT)
-A.2 GNU General Public License (GPL) Version 2
-A.3 GNU General Public License (GPL) Version 3
-A.4 Apache License Version 2.0

부록B. 메타데이터 참조
펼쳐보기
- 사용자 정의 임베디드 배포판 생성에 대한 주요 과제 극복
- 오픈 임베디드 빌드 시스템을 이용한 OS 스택 빌드 시작과 반복
- 빌드 워크플로우, 아키텍처, 비트베이크 빌드 엔진 습득
- 신속한 빌드 문제 해결
- 새로운 소프트웨어 패키지 생성을 위한 비트베이크 레시피 사용
- 커널 빌드, 환경 설정 세팅, 패치 적용
- 다양한 CPU 아키텍처 및 시스템 지원
- 하드웨어 특정 적응을 위한 BSP(보드 지원 패키지) 생성
- 라운드트립 개발을 위한 ADT(애플리케이션 개발 툴킷) 제공
- 실제 하드웨어 타깃에서의 애플리케이션 원격 실행 및 디버그
- 오픈소스 라이선스 규정 보장
- 토스터, 빌드 히스토리, 소스 미러, 오토빌더를 이용한 팀 기반 프로젝트 확장

이 책은 리눅스 기반으로 작업하는 소프트웨어 개발자와 프로그래머들을 위한 책이다. 리눅스 명령어를 알고 있다면, 메이크(Make)와 C/C++ 컴파일러 같은 전형적인 툴을 사용해 리눅스 시스템에 프로그램을 빌드할 수 있으며, 기본적인 셸 스크립트를 보고 이해할 수 있다.
빌드 시스템은 거의 파이썬으로 만들어졌다. 작업 방식을 이해하거나 사용하기 위해 파이썬 전문가가 될 필요는 없지만, 파이썬에 대한 핵심 지식을 갖췄다면 경우에 따라 유리할 수 있다.

이 책의 구성

1장. '임베디드 시스템을 위한 리눅스'에서는 임베디드 시스템을 위한 리눅스 채택에 관해 간략히 설명한다. 임베디드 리눅스 환경의 개요와 커스텀 임베디드 리눅스 배포판 작성의 어려움에 대한 토론의 장을 마련했다.
2장. '욕토 프로젝트'에서는 빌드 시스템을 이용해 초기 리눅스 운영체제 스택 빌드를 시작하는 욕토 프로젝트를 소개한다.
3장. '오픈임베디드 빌드 시스템'에서는 빌드 시스템의 기본, 워크플로우, 아키텍처를 설명한다.
4장. '비트베이크 빌드'에서는 엔진 오픈임베디드 빌드 시스템의 핵심이 되는 빌드 엔진 비트베이크에 대해 알아본다. 레시피, 클래스, 환경 설정 파일의 메타데이터 개념과 문법에 대해 설명한다. 비트베이크(BitBake) 스타일의 헬로 월드(Hello World) 프로젝트는 빌드 워크플로우를 보여준다. 제공된 정보를 통해 이미 생성된 레시피를 이해하고 자신의 레시피를 작성하기 위한 필수 지식을 얻을 수 있다.
5장. '문제 해결'에서는 빌드 문제를 해결하는 데 이용 가능한 도구와 방법을 소개하고, 효과적인 도구 사용과 관련해 실용적인 조언을 제공한다.
6장. '리눅스 시스템 아키텍처'에서는 리눅스 운영체제 스택에 대한 기본 지식을 제공하고, 서로 다른 요소들이 어떻게 구분되는지 설명한다. 커널 영역과 사용자 영역의 개념에 대해 논하고, 표준 C 라이브러리가 제공하는 시스템 콜을 통해 리눅스 커널과 애플리케이션 프로그램이 소통하는 방식을 설명한다.
7장. '커스텀 리눅스 배포판 빌드'에서는 커스텀 리눅스 배포판을 생성하기 위해 욕토 프로젝트를 사용하는 방식을 자세히 살펴본다. 빌드 시스템을 이용한 리눅스 배포 설계와 커스터마이징(사용자 설정) 방식에 대해 검토한 후, 빌드 시스템 도구들을 사용해 리눅스 배포판을 처음부터 완전히 만드는 방법을 알아본다. 7장을 숙지하면, 자신만의 운영체제 이미지를 빌드하는 방법을 알게 될 것이다.
8장. '소프트웨어 패키지 레시피'에서는 비트베이크 레시피와 빌드 시스템을 통해 자신만의 소프트웨어 패키지를 생성하기 위한 레시피 작성법을 설명한다. 실습해볼 수 있도록 다양한 실제 레시피 예제도 제공한다.
9장. '커널 레시피'에서는 오픈임베디드 빌드 시스템을 이용한 리눅스 커널 빌드를 상세히 검토한다. 커널 환경 설정과 패치 적용을 위해 빌드 시스템 도구가 커널 빌드 환경과 어떻게 상호 작용하는지 설명한다. 그리고 빌드 프로세스를 통해 빌드 시스템이 트리 밖 커널 모듈을 다루는 방식과 장치 트리 빌드를 만드는 방법에 대해서도 논한다.
10장. '보드 지원 패키지'에서는 빌드 시스템이 다른 하드웨어(CPU 아키텍처 및 시스템)의 빌드를 지원하는 방식을 소개한다. 욕토 프로젝트 보드 지원 패키지의 개념을 설명한 후, 보드 지원 패키지를 사용해 프로젝트를 생성하는 방식에 대해 상세히 알아본다. 그리고 욕토 프로젝트 보드 지원 패키지의 내부를 살펴보고, 실질적으로 하드웨어에서 사용할 수 있는 실습용 예제를 통해 자신만의 프로젝트를 생성하는 방식을 설명한다. 이번 장은 다른 하드웨어 환경에서 부팅 가능한 미디어 이미지의 생성으로 마무리한다.
11장. '애플리케이션 개발'에서는 빌드 시스템을 이용해 생성된 리눅스 운영체제 스택에서 애플리케이션을 개발하기 위한 욕토 프로젝트 지원을 설명한다. 전체적인 애플리케이션 개발에 필수적인 모든 툴(tool)을 포함하고 있는 애플리케이션 개발 툴킷(ADT)을 빌드하는 방법은 수동으로 명령어를 실행하는 것이다. 예제들은 이클립스(Eclipse) IDE를 이용하는 것뿐만 아니라 명령행 도구를 사용해 애플리케이션을 개발하는 ADT 사용법을 설명한다. 실질적인 하드웨어 대상의 애플리케이션들을 원격으로 실행하고 디버깅하는 방식은 단계적 명령어들을 통해 알 수 있다.
12장. '라이선스 및 규정 준수'에서는 오픈소스 라이선스를 이용하는 경우 준수해야 할 요건과 이러한 사항이 준수되도록 제공된 욕토 프로젝트의 도구에 대해 논한다.
13장. '더 깊은 주제'에서는 욕토 프로젝트를 팀으로 확장하는 데 도움이 되는 몇몇 도구들을 소개한다. 토스터(Toaster)는 웹 브라우저에서 원격으로 조정 가능한 빌드 시스템을 생성하는 데 사용되는 웹 기반 그래픽 사용자 인터페이스다. 빌드 히스토리는 추적 및 검사 능력을 제공하는 도구다. 소스 미러를 이용하면, 반복적인 다운로드 없이 소스 패키지를 공유하고 배포 제품의 소스 버전을 관리할 수 있다. 마지막으로 오토 빌더는 빌드 자동화, 품질 보증, 배포 프로세스까지 다루는 격이 다른 빌드 통합 프레임워크다. 이번 장을 통해 습득한 지식을 바탕으로 욕토 프로젝트를 위한 팀을 효과적으로 구성할 수 있다.

추천사

임베디드 리눅스는 미국의 옛 서부 지역과 어떤 면에서 조금 닮았다. 당시 서부 지역에는 여러 기술의 전초 기지들이 여기저기 흩어져 있었고, 그 사이에 불모지와 위험한 풍경들이 자리 잡고 있었다. 따라서 만일 그곳을 여행하려 한다면, 잘 준비돼 있어야 했고 그 지역에 익숙해져야 했으며 믿을 만한 가이드가 필요했다.
1800년대 중반의 골드러시 시대에 서부로 이주했던 사람들처럼, 개발자들은 사물 인터넷(IoT)에 집중하면서 임베디드 리눅스 세계로 이동하고 있다. 인구 증가가 서부에 법, 질서, 문명을 가져왔듯이, 새로운 오픈소스 소프트웨어 프로젝트가 임베디드 리눅스에 질서를 가져왔다는 것이다.
욕토(Yocto) 프로젝트는 질서를 가져온 의미 있는 프로젝트다. 이 도구들은 만들고자 하는 프로젝트의 디자인에 집중할 수 있게 해주고, 원하는 디자인으로 만드는 데 필요한 시간과 노력을 최소화해준다.
이 책은 신뢰할 만한 안내서로, 명확하고 완벽한 지침을 제공하고 논리적으로 정렬돼 여러분의 작업과 IoT 프로젝트를 완료할 수 있도록 도움을 준다. 그리고 운이 좋으면, 재미있게 즐길 수도 있다. 모험을 즐겨라!
- 아놀드 로빈스(Arnold Robbins)
펼쳐보기
루돌프 스트라이프(Rudolf Streif)
개발자이자 100명 이상의 멤버가 있는 크로스 개발 엔지니어링 팀을 이끄는 관리자며, 20년 이상의 소프트웨어 엔지니어링 경력을 보유했다. 현재 오픈소스 영역의 전문적인 소프트웨어 기술 및 시스템 아키텍처에 대한 개인 컨설턴트가 됐다. 이전에는 리눅스 재단의 임베디드 솔루션 디렉터로 공헌했으며, 리눅스 재단의 욕토 프로젝트 훈련 과정을 개발했다. 여러 회사에 이 과정을 배포하고 리눅스 재단의 이벤트 기간 동안 특강을 진행했다.
1990년대 초부터 리눅스와 오픈소스를 이용해 작업해왔으며 2000년대 이후로는 상업 제품을 개발해왔다. 참여했던 프로젝트 로는 고속 산업 이미지 처리 시스템, IPTV 전파 중계소 시스템 및 고객 댁내 장치, 그리고 커넥티드 카와 차량용 인포테인먼트 장치가 있다. 2014년에는 [PC World]가 조사한 기술 세계의 가장 흥미 있는 사람들 50인 가운데 한 명으로 선정됐다.

옮긴이 김세영
성균관대학교 정보통신공학부와 기계공학부를 졸업했으며 웹, 서버, 커널 등 여러 분야에 관심을 갖고 있다. 어떻게 하면 지식을 효율적으로 습득, 저장, 관리할 수 있는지 고민하고 있다. 현재는 캐노니컬에서 근무하며, 우분투를 발전시키고 클라우드 환경의 버그를 잡는 데 집중하고 있다.

옮긴이 정윤선
성균관대학교 정보통신공학부를 졸업했으며 웹 기술과 서버 API, 하이퍼바이저에 관심이 많다. 아헴스, KT클라우드웨어, A2C를 거치며 웹, 가상화 등의 업무를 수행했다. 현재 육아하면서 단기 웹 프로젝트를 진행하거나 번역에 참여하고 있으며, 다시 개발자로 돌아갈 날을 손꼽아 기다리고 있다.
펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

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

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기