이미 소장하고 있다면 판매해 보세요.
|
1장. 빌드 시스템
__소개 __호스트 시스템 설정 __포키 설치 __빌드 디렉토리 생성 __이미지 빌드 __프리스케일 욕토 에코시스템 설명 __프리스케일 하드웨어 지원 패키지 설치 __완드보드 이미지 빌드 __완드보드 부팅 문제 해결 __개발을 위한 네트워크 부팅 환경 설정 __다운로드 디렉토리 공유 __셰어드 스테이트 캐시 공유 __패키지 피드 설정 __빌드 히스토리 사용 __빌드 통계 사용 __빌드 시스템 디버깅 2장. BSP 레이어 __소개 __커스텀 BSP 레이어 생성 __시스템 개발 작업 흐름 소개 __커스텀 커널과 부트로더 추가 __U-Boot 부트로더 빌드 __욕토 리눅스 커널 지원 __리눅스 빌드 시스템 __리눅스 커널 설정 __리눅스 커널 빌드 __외부 커널 모듈 빌드 __리눅스 커널와 모듈 디버깅 __커널 부팅 프로세스 디버깅 __커널 함수 추적 시스템 사용 __디바이스 트리 관리 __디바이스 트리 디버깅 3장. 소프트웨어 레이어 __소개 __이미지 내용 파헤치기 __새로운 소프트웨어 레이어 추가 __특정 패키지 버전과 프로바이더 선택 __지원하는 패키지 추가 __새로운 패키지 추가 __데이터, 스크립트, 설정 파일 추가 __사용자와 그룹 관리 __sysvinit 초기화 관리자 사용 __systemd 초기화 관리자 사용 __패키지 설치 스크립트 설치 __리눅스 커널 이미지 크기 줄이기 __루트 파일 시스템 이미지 크기 줄이기 __소프트웨어 릴리스 __라이선스 준수를 위한 시스템 분석 __오픈소스와 지적 재산권 코드로 작업 4장. 애플리케이션 개발 __소개 __툴체인 소개 __SDK 준비와 사용 __애플리케이션 개발 툴킷 사용 __이클립스 IDE 사용 __GTK+ 애플리케이션 개발 __Qt 크리에이터 IDE 사용 __Qt 애플리케이션 개발 __애플리케이션 개발 작업 흐름 __GNU make로 작업 __GNU 빌드 시스템으로 작업 __CMake 빌드 시스템으로 작업 __Scons 빌더로 작업 __라이브러리 개발 __리눅스 프레임버퍼 작업 __X 윈도우 시스템 사용 __Wayland 사용 __파이썬 애플리케이션 추가 __오라클 자바 런타임 환경 통합 __오픈 자바 개발 도구 통합 __자바 애플리케이션 통합 5장. 디버깅, 추적, 프로파일 __소개 __코어 덤프 분석 __네이티브 GDB 디버깅 __크로스GDB 디버깅 __애플리케이션 디버깅을 위한 strace 사용 __커널 성능 카운터 사용 __정적 커널 추적 __동적 커널 추적 __동적 커널 이벤트 사용 __준비 __쿡구 __욕토의 추적과 프로파일링 도구 __perf를 사용한 추적 및 프로파일링 __SystemTab 사용 __오프로파일 사용 __LTTng 사용 __blktrace 사용 |
|
★ 이 책에서 다루는 내용 ★
■ 빌드 이슈를 디버깅하고 개발 속도를 높이기 위한 욕토 설정 최적화 ■ 디버깅에서 최적화 방법까지 기술된 U-Boot와 리눅스 커널 개발 작업 절차 소개 ■ 욕토 패키지를 이용한 루트 파일 시스템 커스터마이즈 방법 ■ 오픈소스 라이선스 요구사항과 지적재산권 프로그램에서의 라이선스 요구사항 준수 방법 ■ 출시 일정에 맞춘 전문 임베디드 욕토 제품 개발 ■ 리눅스 커널과 루트 파일 시스템의 크기 축소를 통한 제품 시스템의 최적화 방법 ★ 이 책의 대상 독자 ★ 이 책은 임베디드 리눅스와 욕토 프로젝트에 대해 배우려는 임베디드 개발자가 임베디드 개발에 바로 적용 가능한 예제를 이용해서 지식을 숙달하고 확장하기 위해 적합한 책이다. 개발 경험이 많은 임베디트 욕토 개발자는 ARM 개발 능력과 작업 방법에 대한 새로운 통찰력을 얻을 수 있다. ★ 이 책의 구성 ★ 1장, ‘빌드 시스템’에서는 포키 빌드 시스템의 사용법을 알아보고, 프리스케일 BSP 커뮤니티 레이어로 확장한다. 또한 빌드 시스템 설정과 타깃 이미지 빌드 최적화에 사용하는 기능을 설명한다. 2장, ‘BSP 레이어’에서는 제품을 위한 BSP의 커스터마이징에 대해 알아본다. 그러고 나서 유부트(U-boot), 리눅스 커널과 디바이스 트리를 설정, 수정, 빌드, 디버깅하는 방법을 설명한다. 3장, ‘소프트웨어 레이어’에서는 라이선스 준수를 위한 릴리스 프로세스에 대해 알아보고, 새로운 애플리케이션, 서비스, 기존 패키지를 수정하기 위해 새로운 소프트웨어 레이어를 생성하는 방법을 설명한다. 4장, ‘애플리케이션 개발’에서는 애플리케이션 개발 키트(ADT, Application Development Toolkit)와 툴 체인으로 시작해서 이클립스나 Qt 크리에이터(creater)와 같은 개발 환경을 포함한 애플리케이션 개발에 대해 설명한다. 5장, ‘디버깅, 추적, 프로파일’에서는 디버깅 도구와 기술에 대해 알아보고, 사용자 공간 추적이나 프로파일을 위한 여러 도구와 함께 리눅스 커널에서 제공하는 트레이싱 기능을 설명한다. ★ 지은이의 말 ★ 임베디드 리눅스는 신뢰성 높은 제품을 만들기 위한 최고의 통합 프레임워크로 욕토 프로젝트 중심의 표준화를 진행하고 있다. 욕토 프로젝트를 통해 임베디드 리눅스의 개발 및 유지보수 시간을 효과적으로 단축하며 이미 검증된 컴포넌트를 재사용함으로써 제품의 신뢰성과 견고함을 높일 수 있다. 이 책은 전문 임베디드 욕토 설치 방법을 비롯하여 우수한 예제들을 다루고 있다. 또한 저렴하고 소스가 공개된 완드보드를 사용하여 프리스케일 ARM 에코시스템 및 커뮤니티 레이어를 활용하는 방법도 소개한다. ★ 옮긴이의 말 ★ 가전, 모바일, 차량, IoT 등 산업 전반에 걸쳐 임베디드 리눅스를 채택하는 움직임이 확산되고 있다. 특히 차량용 인포테이먼트와 텔레메틱스 분야에서는 기존 RTOS 등에서 임베디드 리눅스로 옮겨 가려는 움직임이 더욱 거세지고 있다. 욕토 프로젝트는 임베디드 리눅스 프로젝트를 위한 툴 체인, 커널과 BSP, 애플리케이션의 통합된 개발 환경을 지원하는 좋은 솔루션이다. 임베디드 리눅스 프로젝트에 Yocto를 활용하면 최신 버전의 툴 체인과 보안 패치가 적용된 오픈 소스 컴포넌트를 비교적 쉽게 제품 개발에 적용할 수 있다. 또한 검증을 거친 공개된 소프트웨어를 자신의 프로젝트 빌드 환경에 쉽게 포함시킬 수 있다. 이처럼 욕토 프로젝트는 확장성 높은 개발 환경을 제공하지만, 추천의 글에서도 언급했듯이 개발자가 욕토 활용 노하우를 익히기까지의 진입 장벽이 높은 편이다. 이 책은 욕토 레시피의 기본 문법을 자세하게 다루지는 않는다. 하지만 임베디드 리눅스 시스템 개발을 위한 BSP 레이어, 소프트웨어 레이어, 애플리케이션 개발 시나리오에 맞는 다양한 예제(레시피) 작성 사례를 단계별로 보여준다. 저자는 책에 언급된 사례들을 통해 실제 개발에서 부딪히는 문제를 해결하기 위한 노하우를 공유하고, 욕토에서 제공하는 다양한 이미지 특성(feature)을 설명하며, 이를 손쉽게 빌드에 포함시키는 방법을 소개한다. 이 책을 읽고 나면 개발자는 요구 사항에 맞는 이미지를 구성하는 방법을 배울 수 있다. 이 책을 임베디드 리눅스 시스템 개발자뿐만 아니라 임베디드 리눅스 제품 배포판의 커스터마이즈 방법을 고민하고 있는 개발자에게도 권하고 싶다. 이 책을 통해 실전에 적용하기 위한 욕토 활용 방법을 체득할 수 있기를 바란다. |