Build production-grade embedded Linux products with the Yocto Project 6.0 (Wrynose)
Otavio Salvador, Daiane Angolini

#Linux
#Embedded
#Yocto
#LTS
#QEMU
#GPL
#SBOM
#BSP
#BitBake
#SPDX
🐧 ساخت Embedded Linux حرفهای با Yocto Project 6.0
🚀 کتاب Embedded Linux Development Using Yocto Project, 4th Edition یک راهنمای عملی برای تسلط بر Yocto Project 6.0 (Wrynose) LTS و ساخت محصولات Embedded Linux قابلاعتماد و تکرارپذیره. مسیر آموزش از اولین Boot در QEMU شروع میشه و تا ساخت Distributionهای Production، طراحی BSP سفارشی، تولید SPDX 3.0 SBOM، اسکن CVE و انتشار سازگار با GPL ادامه پیدا میکنه.
✨ ویژگیهای کلیدی
⚡ با bitbake-setup و BitBake Configuration Fragmentها، پروژههای تکرارپذیر را در مدت کوتاهی راهاندازی میکنی.
🧩 یاد میگیری Layer، Recipe، Machine و Distribution سفارشی برای محصولات Embedded Linux آماده Production بسازی.
📦 با Poky، BitBake، Toaster، Package Feed، SDKها و ابزارهای Debugging اکوسیستم Yocto Project کار میکنی.
🛡️ با تولید SPDX 3.0 SBOM، اسکن CVE و مدیریت License Compliance، نسخههای سازگار با GPL منتشر میکنی.
🔌 Imageهای سفارشی را برای BeagleBone Black، Raspberry Pi 4 و 5 و برد VisionFive مبتنی بر RISC-V میسازی و اجرا میکنی.
📘 توضیح کتاب
🌐 Yocto Project در بعضی از پیچیدهترین محصولات Embedded Linux جهان استفاده میشه؛ از تجهیزات پزشکی و Industrial Gatewayها گرفته تا تجهیزات Networking و محصولات Consumer Electronics. این کتاب تجربه عملی موردنیاز برای پیوستن به Engineerهایی را فراهم میکنه که هر روز با Yocto سیستمهای Linux مطمئن و تکرارپذیر منتشر میکنن.
🛠️ ویرایش چهارم Embedded Linux Development Using Yocto Project بهطور کامل روی نسخه Yocto Project 6.0 (Wrynose) LTS تمرکز داره. مسیر کتاب با ساخت و Boot اولین Image در QEMU شروع میشه و در ادامه به ایجاد یک Distribution سفارشی و آماده Production میرسه که روی Hardware واقعی اجرا میشه.
⚙️ در طول این مسیر با Poky و BitBake کار میکنی و نقش هرکدوم را در فرایند ساخت Embedded Linux یاد میگیری. نحوه کنترل Build، مدیریت Metadata و بررسی Temporary Build Directory هم توضیح داده میشه تا درک دقیقی از اتفاقات پشت صحنه Build داشته باشی.
🧱 ساخت Custom Layer و Recipe، سفارشیسازی Recipeهای موجود و تعریف Machine و Distribution اختصاصی از موضوعات اصلی کتاب هستن. این مهارتها کمک میکنن بهجای وابستگی به Build Scriptهای شکننده یا Distributionهای یکبارمصرف، یک ساختار قابلنگهداری برای محصول ایجاد کنی.
🖥️ کتاب Standard SDK و Extensible SDK را بررسی میکنه تا بتونی Applicationها و Linux Kernel را برای Target Hardware توسعه بدی. همچنین با VS Code و BitBake Extension کار میکنی تا Workflow توسعه و ویرایش فایلهای Yocto منظمتر بشه.
📊 Toaster امکان کنترل Buildها از طریق یک Web Dashboard را فراهم میکنه. با استفاده از اون میتونی مراحل Build، Taskها، Packageها و Configurationها را با Visibility بیشتری دنبال و مدیریت کنی.
📦 Packaging Support و Package Feedها هم بهصورت عملی بررسی میشن. یاد میگیری Packageها را Assemble کنی و یک Feed مناسب برای Rollout و بهروزرسانی محصولات در محیط Production راهاندازی کنی.
🔍 برای عیبیابی و پیدا کردن Regressionها، ابزارهایی مثل Build History، devshell و Package Information آموزش داده میشن. این ابزارها کمک میکنن تغییرات Build، Packageها و محیط توسعه را بررسی و منبع مشکلات را دقیقتر پیدا کنی.
🆕 یکی از بخشهای کاملاً جدید این ویرایش، فصل مدیریت BitBake Configuration است. این فصل Workflowهای bitbake-setup و bitbake-config-build را بررسی میکنه؛ ابزارهایی که شیوه راهاندازی، اشتراکگذاری و بازتولید Buildها میان تیمها را تغییر میدن.
🧩 یاد میگیری BitBake Configuration Template و Fragment بسازی، Registryها را مدیریت کنی و Configurationهای Build را میان اعضای تیم همگام نگه داری. این قابلیتها باعث میشن همه افراد پروژه از تنظیمات مشخص و تکرارپذیری استفاده کنن.
🛡️ کتاب License Compliance را فقط در حد مفاهیم نظری توضیح نمیده. با تولید SPDX 3.0 SBOM، اسکن CVE و مدیریت Licenseها، میتونی وضعیت اجزای نرمافزاری محصول را مستند کنی و Releaseهای سازگار با GPL ارائه بدی.
📋 SBOMهای ساختهشده برای نیازهای گزارشدهی EU Cyber Resilience Act یا EU CRA و فرمان اجرایی U.S. EO 14028 آماده هستن. این موضوع برای شرکتهایی که محصولات Embedded Linux را در بازارهای بینالمللی عرضه میکنن اهمیت زیادی داره.
🖥️ برای سریعتر کردن چرخه توسعه، QEMU بهعنوان محیط Emulation بررسی میشه. با QEMU میتونی بسیاری از مراحل Build، Boot، Testing و Debugging را بدون انتظار برای Hardware واقعی انجام بدی و سرعت Iteration را بالا ببری.
🔌 در بخش عملی، Imageهای سفارشی برای BeagleBone Black، Raspberry Pi 4 و 5 و برد VisionFive مبتنی بر RISC-V ساخته و Boot میشن. به این ترتیب، مسیر انتقال از Emulation به Hardware واقعی را تجربه میکنی.
🎯 در پایان، میتونی یک پروژه Yocto را بهشکل تکرارپذیر راهاندازی کنی، Layer و BSP اختصاصی بسازی، Application و Kernel را توسعه بدی، مشکلات Build را عیبیابی کنی و Imageهای آماده Production منتشر کنی. همچنین برای هدایت پروژههای Embedded Linux، مدیریت Compliance و تحویل محصولاتی پایدار و قابلنگهداری آماده میشی.
🎯 چیزهایی که یاد میگیری
⚡ یاد میگیری پروژههای Yocto را با bitbake-setup و BitBake Configuration Fragmentها راهاندازی کنی.
🖥️ میتونی Buildها را از Web Dashboard ابزار Toaster اجرا و با Visibility کامل بررسی کنی.
📦 یاد میگیری Packageها را Assemble کنی و Package Feedهای مناسب Rolloutهای Production بسازی.
🧩 میتونی Layer، Recipe، Machine و Distribution سفارشی ایجاد کنی.
🛠️ یاد میگیری Applicationها و Linux Kernel را با Standard SDK و Extensible SDK بسازی.
🔍 میتونی Regressionها را با Build History، devshell و Package Information پیدا کنی.
⚙️ با bitbake-config-build، Configuration Templateها، Fragmentها و Registryها کار میکنی.
🔄 یاد میگیری Configurationهای BitBake را میان اعضای تیم همگام و بازتولیدپذیر نگه داری.
🔌 میتونی Imageهای سفارشی را روی BeagleBone Black، Raspberry Pi 4 و 5 و VisionFive اجرا کنی.
🖥️ با استفاده از QEMU، فرایند توسعه، Boot، Testing و Debugging را سریعتر میکنی.
🛡️ یاد میگیری SPDX 3.0 SBOM تولید و آسیبپذیریها را با CVE Scanning شناسایی کنی.
📜 میتونی Releaseهای سازگار با GPL آماده کنی و نیازهای گزارشدهی EU CRA و U.S. EO 14028 را پوشش بدی.
👤 این کتاب برای چه کسانیه؟
👨💻 این کتاب برای Embedded Linux Developerها، System Integratorها و Engineering Leadهایی نوشته شده که میخوان با Yocto Project محصولات قابلاعتماد، تکرارپذیر و آماده Production بسازن.
🧱 اگر بهصورت حرفهای Embedded Linux توسعه میدی یا از Build Scriptهای شکننده و Linux Distributionهای یکبارمصرف خسته شدی، این کتاب میتونه بهعنوان یک Production Playbook کامل استفاده بشه.
🔧 Hardware Hackerهایی که میخوان از Prototypeهای اولیه عبور کنن و محصولات قابلنگهداری و Reproducible بسازن هم با فضای عملی کتاب ارتباط خوبی برقرار میکنن.
📚 برای استفاده بهتر از مطالب، آشنایی با Git، Linux Command Line، Cross-Compilation و Shell Scripting پیشنهاد میشه. بااینحال، هیچ تجربه قبلی در Yocto Project لازم نیست.
📖 فهرست مطالب
بخش اول. شروع کار
فصل ۱. آشنایی با Yocto Project
فصل ۲. ساخت اولین Image با Yocto Project
فصل ۳. استفاده از VS Code همراه BitBake Extension
فصل ۴. آشنایی با ابزار BitBake
بخش دوم. مفاهیم اصلی
فصل ۵. درک ابزار BitBake
فصل ۶. بررسی دقیق Temporary Build Directory
فصل ۷. آشنایی کامل با Packaging Support
فصل ۸. درک BitBake Metadata
بخش سوم. مفاهیم پیشرفته
فصل ۹. توسعه با Yocto Project
فصل ۱۰. عیبیابی با Yocto Project
فصل ۱۱. بررسی External Layerها
فصل ۱۲. ساخت Custom Layerها
فصل ۱۳. سفارشیسازی Recipeهای موجود
فصل ۱۴. مدیریت BitBake Configuration
فصل ۱۵. License Compliance و Software Bill of Materials
بخش چهارم. ورود به کاربردهای دنیای واقعی
فصل ۱۶. ساخت و Boot یک سیستم Embedded Linux سفارشی
فصل ۱۷. افزایش سرعت توسعه محصول با Emulation یا QEMU
فصل ۱۸. Best Practiceها
فصل ۱۹. فعالسازی مزایای اختصاصی کتاب
👥 درباره نویسندگان
👨💻 اوتاویو سالوادور از سال ۱۹۹۹ در حوزه Free Software فعالیت داره. او در سال ۲۰۰۲ شرکت O.S. Systems را تأسیس کرد؛ شرکتی که خدمات توسعه و مشاوره Embedded System را در سراسر جهان ارائه میده، BSPهای سفارشی را ایجاد و نگهداری میکنه و به شرکتها برای حل چالشهای توسعه محصول کمک میکنه.
🌐 اوتاویو در سال ۲۰۰۸ به جامعه OpenEmbedded پیوست و همچنان یکی از مشارکتکنندگان فعال OpenEmbedded Project است.
👩💻 دایانه آنگولینی از سال ۲۰۰۸ در حوزه Embedded Linux فعالیت میکنه. او در حال حاضر Senior Software Engineer در Qualcomm است و روی Platform Engineering برای محصولات مبتنی بر ARM کار میکنه.
🐧 دایانه همچنین در جامعههای Linux Kernel، U-Boot و Yocto Project فعالیت داره.
Master the Yocto Project 6.0 (Wrynose) LTS and ship dependable embedded Linux products, from your first QEMU boot to GPL-compliant production builds backed by SBOMs, custom BSPs, and reproducible BitBake workflows
The Yocto Project powers some of the world's most demanding embedded Linux products, from medical devices and industrial gateways to networking gear and consumer electronics. With this book, you join the engineers who rely on it every day to ship reliable, reproducible Linux systems.
Embedded Linux Development Using Yocto Project, 4th Edition, is your hands-on guide to the Yocto Project 6.0 (Wrynose) LTS release. You'll move from your first QEMU boot to a custom production distribution running on real hardware, mastering Poky and BitBake along the way. The book covers custom layers and recipes, the Standard and Extensible SDKs, Toaster, package feeds, Build History, devshell debugging, and GPL compliance backed by SPDX 3.0 SBOMs and CVE scanning.
A brand-new chapter on Managing BitBake Configuration walks through the bitbake-setup and bitbake-config-build workflows reshaping how teams bootstrap, share, and reproduce builds. You'll package BitBake Configuration Templates and Fragments, manage registries, and synchronize configurations across teams.
By the end, you'll be ready to bake images for BeagleBone Black, Raspberry Pi 4 and 5, and VisionFive RISC-V boards, generate SBOMs ready for EU CRA and U.S. EO 14028 reporting, speed up iteration with QEMU, and lead embedded Linux projects with confidence.
This book is for embedded Linux developers, integrators, and engineering leads who want to ship dependable products with the Yocto Project. If you build embedded Linux for a living, or you're tired of fragile build scripts and one-off Linux distributions, this book is your production playbook. You'll get the most value if you're comfortable with Git, the Linux command line, cross-compilation, and shell scripting. No prior Yocto Project experience is required. Hardware hackers graduating from prototypes to maintainable, reproducible products will feel right at home.
Table of Contents
Part 1. Getting Started
1. Meeting the Yocto Project
2. Baking Our First Yocto Project Image
3. Using VS Code with the BitBake Extension
4. Meeting the BitBake Tool
Part 2. Core Concepts
5. Grasping the BitBake Tool
6. Detailing the Temporary Build Directory
7. Assimilating Packaging Support
8. Understanding BitBake Metadata
Part 3. Advanced Concepts
9. Developing with the Yocto Project
10. Debugging with the Yocto Project
11. Exploring External Layers
12. Creating Custom Layers
13. Customizing Existing Recipes
14. Managing BitBake Configuration
15. License Compliance and Software Bill of Materials
Part 4. Bridging to Real-World Application
16. Building and Booting a Custom Embedded Linux System
17. Speeding Up Product Development Through Emulation (QEMU)
18. Best Practices
19. Unlock Your Exclusive Benefits
About the Author
Otavio Salvador has been involved in free software since 1999. In 2002, he founded O.S. Systems, a company providing embedded systems development services and consultancy worldwide, creating and maintaining customized BSPs, and helping companies meet their product development challenges. He joined the OpenEmbedded community in 2008 and remains an active contributor to the OpenEmbedded Project.
Daiane Angolini has been working with embedded Linux since 2008. She is currently a senior software engineer at Qualcomm, working on platform engineering for ARM-based products, and is active in the Linux kernel, U-Boot, and Yocto Project communities.









