◈ 지은이의 말 ◈
리눅스는 최첨단 제품에 꾸준히 사용돼 왔으며, 임베디드 시스템은 인류의 기술 포트폴리오에서 중요한 역할을 해왔다.
Yocto 프로젝트는 여러분의 프로젝트를 위한 최적의 선택이 될 수 있다. 이 프로젝트는 반복적인 작업 대신 제품 개발에 대부분의 에너지와 리소스를 사용할 수 있도록 풍부한 도구 세트를 제공한다.
임베디드 리눅스 기반 제품 및 개발 팀의 일반적인 작업과 요구 사항이 이 책을 구상하는 데 지침이 됐다. 그러나 실용적이고 직관적인 접근 방식으로 활발한 커뮤니티 회원들이 집필한 이 책은 학습 과정과 제품 프로젝트 모두에 디딤돌이 될 것이다.
3판은 독자들이 보내준 피드백을 반영해 완전히 재작성했으며, Yocto 프로젝트와 관련된 복잡한 개념을 쉽게 이해할 수 있도록 내용을 확장하고 Yocto 프로젝트 LTS 버전 4.0(코드명: kirkstone)까지의 변경 사항을 반영해 철저하게 업데이트했다.
또한 에뮬레이션을 통해 제품 개발 속도를 높이고자 QEMU를 사용하는 방법과 Yocto 프로젝트 및 일반 프로젝트 지침에 관한 2개의 새로운 장을 추가했다.
◈ 지은이 소개 ◈
오타비우 살바도르(Otavio Salvador)
다양한 임베디드 리눅스 개발 경험을 가진 유명한 소프트웨어 엔지니어이자 개발자다. 시스템 부팅, 장치 드라이버, 펌웨어 등 리눅스 커널 및 임베디드 시스템과 관련된 오픈소스 프로젝트에 기여하고 있다.
임베디드 리눅스 개발 솔루션 및 서비스를 제공하는 선도적인 브라질 기술 회사인 O.S. 시스템의 최고 경영자다. 이 회사는 임베디드 리눅스 개발, 컨설팅 및 지원을 포함한 다양한 서비스를 제공한다. Yocto 프로젝트에 핵심적인 기여를 해왔다. 이 분야에 대한 전문 지식은 O.S. 시스템을 선도적인 Yocto 프로젝트 기반 솔루션 및 서비스 제공업체로 만드는 데 도움이 됐다.
다이앤 앤골리니(Daiane Angolini)
임베디드 시스템 및 임베디드 리눅스 개발 전문성을 갖춘 소프트웨어 엔지니어다. 또한 Yocto 프로젝트, 오픈임베디드, 리눅스 커널 등 여러 프로젝트와 커뮤니티에 기여하며 오픈소스 소프트웨어 개발 경험을 쌓았다.
임베디드 컴퓨팅 솔루션을 통해 전 세계 커넥티드 디바이스를 위한 안전한 오픈소스 플랫폼과 모든 하드웨어 및 클라우드에 구성 가능한 클라우드 서비스를 구축한 회사인 Foundries.io의 선임 임베디드 소프트웨어 엔지니어다. Foundries.io에서 다양한 임베디드 시스템용 소프트웨어를 개발 및 개선하고, Yocto 프로젝트 도구를 사용해 ARM 및 x86 아키텍처 기반의 LmP 및 BPS를 유지 관리한다.
◈ 옮긴이의 말 ◈
『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 프로젝트를 시작하는 개발자에게 유용한 길잡이가 되기를 바라며, 독자 여러분의 성공적인 프로젝트에 조금이나마 기여할 수 있기를 희망합니다.
◈ 옮긴이 소개 ◈
배창혁
현재 독일에 있는 메르세데스-벤츠 이노베이션 랩(MBition, Mercedes-Benz Innovation Lab)에서 수석 소프트웨어 엔지니어(Principal Software Engineer)로 근무하면서 벤츠의 MB.OS 플랫폼과 인포테인먼트 소프트웨어를 개발하고 있다. 이전에는 LG전자 소프트웨어 플랫폼 연구소에서 webOS 플랫폼 관련 업무를 했다. 42 Wolfsburg의 자동차 소프트웨어 교육 프로그램인 SEA:ME의 follow, OpenUp에서 오픈소스 프론티어, 오픈임베디드 TSC 멤버 등 다양한 활동도 병행하고 있다. 에이콘출판사에서 출간한 『자동차 소프트웨어 아키텍처』(2023), 『Yocto 프로젝트를 활용한 임베디드 리눅스 개발 2/e』(2018), 『Embedded Linux Projects Using Yocto Project Cookbook』(2016), 『BeagleBone Black을 사용한 Yocto 프로젝트』(2015), 『Yocto 프로젝트를 활용한 임베디드 리눅스 개발』(2014)을 번역했다.