이미 소장하고 있다면 판매해 보세요.
|
1 욕토 프로젝트와 비글본 블랙 시작
__호스트 환경 설정 ____필수 ____그래픽 ____문서 ____ADT 설치 __욕토 프로젝트 입수 __비글본 빌드 ____local.conf ____bblayers.conf ____site.conf ____auto.conf ____빌드 시작 __파이션 생성 및 SD 카드 포맷 __SD 카드로 이미지 복사 __하드웨어 설정 __시리얼 설정 __비글본 부팅 __추가적인 환경 설정 파일 ____machine.conf ____bitbake.conf ________표준 타깃 파일 시스템 경로 ________아키텍트 의존적인 빌드 변수 ________패키지 기본 변수 ________빌드 시스템에서 일반적인 작업/결과 디렉토리 ________특정 이미지 생성과 루트 파일 시스템 이미지 정보 ________빌드 플래그와 옵션 ________다운로드 위치와 유틸리티 ________설정 파일 추가 __정리 2 비트베이크의 모든 것 __비트베이크의 간략한 역사 __레거시 툴과 비트베이크 ____크로스 컴파일 ____패키지 간 의존성 해결 ____타깃 배포판의 다양성 ____빌드 시스템 결합성 ____다양한 빌드 시스템 배포판 지원 ____다양한 아키텍처 지원 ____병렬 빌드 지원 ____사용, 확장, 협업의 편의성 __비트베이크 실행 ____메타데이터 파싱 ____태스크 목록 준비 ____태스크 실행 __비트베이크 옵션 ____특정 예제 빌드(-b) ____에러가 나는 경우에도 계속 빌드(-k, --continue) ____강제로 빌드하는 태스크(-f, --force) ____다른 프로바이더 사용(-a, --tryaltconfigs) ____특정 태스크 실행(-c) ____스탬프 무효화(-C, --clear-stamp) ____자세한 로그(-v, --verbose) ____디버그 레벨(-D, --debug) ____모의 실습(-n, --dry-run) ____파싱만 진행(-p, --parse-only) ____버전 보여주기(-s, --show-versions) ____환경변수 얻기(-e, --environment) ____의존성 그래프 생성(-g, --graphviz) ____로그 레벨(-l DEBUG_DOMAINS,--log-domains=DEBUG_DOMAINS) ____프로파일(-P, --profile) ____UI 설정(-u UI, --ui=UI) ____셰어드 스테이트 미사용(--no-setscene) __정리 3 helloworld 예제 생성 __helloworld 생성 __helloworld 예제 내용 ____예제 네이밍 규칙과 관련 변수 __예제 빌드 __빌드 디렉토리 __태스크 ____build ____fetch ____unpack ____patch ____configure ____compile ____install ____package ____devshell ____clean ____cleansstate ____cleanall ____기본 태스크 재정의 __helloworld 배포 ____수동 패키지 설치 ____패키지에 이미지 의존성 생성 __정리 4 비글본 보드에 멀티미디어 추가 __gaku 소개 __gaku 예제 ____패키지 제어 변수 ________빌드 의존성(DEPENDS) ________런타임 의존성(RDEPENDS) ________런타임 의존성 추천(RRCOMMENDS) ________RCONFLCTS ________RREPLACE ________PROVIDES ________RPROVIDES ____예제에서 소스 제어 ________SRCREV ________PV 계산 ________SRC_URI 세부 내용 ________S 디렉토리 ________클래스 상속 __gstreamer 예제의 간략한 분석 ____변수 할당 유형 ____EXTRA_OECONF ____FILES_ 변수 ____변수 플래그 ____ALLOW_EMPTY ____FILESPATH ____조건적 재정의 메커니즘 ____같은 코드 재사용과 공유 __실제 동작 __정리 5 레이어 생성과 분석 __스크립트를 사용해 레이어 생성 __레이어 내용 ____conf 디렉토리 ____recipes-* 디렉토리 ____클래스 ____COPYING.MIT ____README __레이어 기반의 조건적 선택 __추가 파일들 __패키지 그룹 __정리 6 콘솔 게임 __하드웨어 요구사항 __팩맨 콘솔 게임 __예제 개발 ____기본 요소 ____소스 제어 ____작업 디렉토리와 버전 ____S 디렉토리 ____컴파일 태스크 디버깅 ____install 태스크 ____패키지 내용 추가 __루트 파일 시스템에 패키지 추가 ____패키지 그룹 ____이미지 bbappend ____실행 __정리 7 집안 감시 시스템을 위한 비글본 튜닝 __문제점 진술 __요구사항 __기존 솔루션/문헌 조사 ____전문적인 캡처 하드웨어 요구사항 ____전문적인 소프트웨어 애플리케이션 요구사항 ____데비안/앙스트롬 기반 __선택된 솔루션 ____호스트/서버 측(비글본) ____클라이언트 측면 __재미있게 시작하자 ____base 플러그인 ____good 플러그인 ____bad 플러그인 ____ugly 플러그인 ____gstreamer과 플러그인 활성화 ____Video4Linux2 사용 ________예제 수정 ________append 사용 ________local.conf 사용 ____gstreamer 파이프라인 __클라이언트 측면 ____VLC ____gstreamer __실행을 위한 준비와 문제 발생 ____카메라 발견 문제 ____UVC 드라이버 DMA 문제 ____meta-ti 레이어로 빌드 ________레이어 다운로드 ________레이어 우선순위 설정 ________레이어 활성화 __추가적인 기능 강화 __정리 8 무선 액세스 포인트로 비글본 사용 __문제점 진술/유스 케이스 __요구사항 __문헌 조사 __전략 __커널 지원 활성화 ____네트워크 지원 - 무선 ____Device Drivers > Network device support > Wireless LAN > ATheros Wireless Cards ____커널 설정을 하는 좋은 접근 방법 ____펌웨어 복사 ____이전 커널 버전 사용 ____rfkill 문제 __필요한 패키지 __upstart 스크립트 수정 __hostpot-yb 예제 ____액세스 포인트 실행 스크립트 ____systemd 서비스 유닛 파일 ____드라이버 모듈의 설정 파일 ____hostapd 설정 파일 ____게이트웨이 설정 파일 ____udhcp 설정 파일 ____udhcp 빈 lease 파일 ____hotspot-yb_0.1.bb 예제 파일 __hotspot-yb 활성화 __패키지 그룹 관리 __알려진 문제점/기능 강화 __정리 |
|
★ 이 책에서 다루는 내용 ★
■ 비트베이크 툴을 이용한 패키지나 이미지의 성공적인 개발 ■ 유행하는 콘솔 기반 게임 예제 생성 ■ 욕토 프로젝트로 생성한 이미지를 사용한 비글본 부팅 ■ 커스텀 레이어를 사용한 루트 파일 시스템 커스터마이즈 ■ 비글본 USB 포트에 웹캠을 붙여 집안 감시 솔루션 개발 ■ 비글본에 USB 동글을 붙여 무선 액세스 포인트 개발 ■ helloworld 예제의 다른 버전 빌드 ★ 이 책의 대상 독자 ★ 이 책은 임베디드 시스템 관련 지식과 경험이 있는 시스템 개발자들을 대상으로 한다. 욕토 프로젝트 빌드 시스템 지식은 없지만 비글본 블랙에 대한 지식은 있다고 가정한다. ★ 이 책의 구성 ★ 1장, ‘욕토 프로젝트와 비글본 블랙 시작’에서는 사용자가 간단한 명령어로 욕토 프로젝트를 사용해 빌드된 이미지를 가지고 비글본을 부팅할 수 있게 한다. 2장, ‘비트베이크의 모든 것’에서는 비트베이크 툴의 기본적인 내용을 소개한다. 3장, ‘helloworld 예제 생성’에서는 포키(Poky)에서 helloworld 예제를 사용하는 것에 대해 설명한다. 이 장에서 예제의 기본 요소를 소개하기 위해 helloworld 예제를 사용한다. 4장, ‘비글본 보드에 멀티미디어 추가’에서는 욕토 프로젝트 예제에서 가장 흔히 접하는 요소와 사용법에 대해 자세히 설명한다. 5장, ‘레이어 생성과 분석’에서는 기존 레이어에서 사용할 수 있는 예제 파일의 기능을 재정의하는 방법에 대해 설명한다. 또한 각 기술의 장단점에 따라 서로 다른 시나리오에 적용할 수 있는 다양한 기술들에 대해 알아본다. 6장, ‘콘솔 게임’에서는 팩맨 같은 인기 있는 콘솔 게임의 예제를 만들기 위한 내용을 다룬다. 7장, ‘집안 감시 시스템을 위한 비글본 튜닝’에서는 비글본과 욕토 프로젝트를 사용해 고급 프로젝트를 만드는 방법에 대해 설명한다. 또한 비글본의 USB 포트에 웹캠을 달아서 집안 감시 솔루션을 만들어 본다. 8장, ‘무선 액세스 포인트로 비글본 사용’에서는 비글본과 욕토 프로젝트를 사용해 한층 진보된 프로젝트를 만드는 방법에 대해 설명한다. 여기서 비글본 보드는 USB 동글을 사용한 무선 액세스 포인트가 된다. ★ 지은이의 말 ★ 이 책은 욕토 프로젝트를 새로 접하는 개발자를 교육하기 위한 목적으로 쓰여졌고, 하드웨어는 비글본을 사용한다. 이 책은 독자의 참여를 이끌어 내는 것을 최우선으로 했다. 첫 장을 끝까지 따라해 보면, 독자들은 욕토 프로젝트를 통해 빌드한 것이 비글본에서 돌아가는 것을 볼 수 있고, 이것으로 호스트에서 더 많은 실험을 하도록 준비할 수 있다. 초기에는 다양한 시나리오를 통해 배우도록, 변경할 때 중복을 피하고 시간을 절약하여 기능이 빨리 돌아가도록 기존의 예제와 욕토 프로젝트 스크립트로 만들어진 프로젝트를 사용한다. 사용할 수는 있지만 이해하는 데 도움이 안 되고 오해의 소지가 있으므로 그래픽 툴은 사용하지 않는다. 또한, 그래픽 툴 사용은 가끔 사용자 수정사항을 재정의해 혼란을 야기시킬 수도 있다. 이 책을 끝까지 읽으면, 욕토 프로젝트와 비글본 기반의 전문적인 프로젝트를 진행하기 위해 필요한 기술과 경험을 얻을 수 있다. ★ 옮긴이의 말 ★ 소비자 가전(CE, Consumer Electronic), 차량용 인포테인먼트 시스템(IVI, In-Vehicle Infotainment), 사물인터넷(IoT, Internet of Things) 등 점차 많은 분야에서 임베디드 리눅스가 사용되고 있다. 욕토 프로젝트는 커스텀 임베디드 리눅스를 만들기 위한 다양한 템플릿, 툴, 방법을 제공하는 오픈소스 협업 프로젝트다. 기존에는 커스텀 임베디드 리눅스를 만들기 위해 맨땅에서 시작해 많은 비용과 시간이 들었지만, 욕토 프로젝트를 사용하면 쉽고 빠르게 저렴한 비용으로 만들어 낼 수 있다. ENEA, 몬타비스타, 윈드리버 등 상용 임베디드 리눅스를 포함해 IVI 분야에서의 GENIVI, AGL 그리고 IoT 분야까지 임베디드 리눅스를 사용하는 많은 분야에서 욕토 프로젝트를 사용하고 있다. 국내에서는 LG webOS, 차량 전장 업체의 플랫폼, 기타 가전 플랫폼 등에서 사용하고 있으며, 타이젠(TIZEN)도 점차 욕토 프로젝트를 채택하는 범위를 확대해 나가려고 하고 있다. 또한 인텔, 프리스케일, 텍사스 인스트루먼트 등과 같은 업체들도 욕토 기반으로 BSP를 릴리스하고 있을 뿐 아니라, 라즈베리 파이, 비글본 블랙, 미누보드 등과 같은 거의 모든 개발보드에서 욕토 프로젝트 기반으로 임베디드 리눅스를 빌드할 수 있도록 환경을 제공하고 있다. 이렇듯 점차 다양한 분야에서 임베디드 리눅스를 개발하기 위해 욕토 프로젝트를 사용하고, 지원하는 범위가 넓어지고 있다. 앞으로 발전 가능성이 무궁무진한 분야이기 때문에 알아두면 정말 유용하다. 이 책은 욕토 프로젝트를 사용해 비글본 블랙에서 임베디드 리눅스를 개발하는 방법에 대해 소개한다. 욕토 프로젝트의 기본 개념을 간단하게 다룬 후, 예제를 통해 여러 가지 프로젝트를 비글본 블랙 보드에서 개발하는 방법을 설명한다. 이 책을 읽으면, 자신만의 개발 프로젝트를 비글본 보드에 욕토 프로젝트를 사용하여 개발할 수 있는 기본 역량을 쌓을 수 있다. 하지만 욕토 프로젝트에 대한 기본적인 개념과 문법에 대해 익히고 싶다면, 『Yocto 프로젝트를 활용한 임베디드 리눅스 개발』(에이콘출판사, 2014) 책을 보는 것을 추천한다. |